-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Incorrect name normalization for template with size_t template argument #18363
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Labels
bug
experiment
Affects an experiment / reported by its software & computimng experts
in:Cling
in:Core Libraries
in:Dictionaries
priority:critical
Milestone
Comments
pcanal
added a commit
to pcanal/root
that referenced
this issue
Apr 11, 2025
This solves problems caused by some code paths producing normalized name with unexpectedly added type suffix after on integral non-type template parameters. This fixes root-project#18363
This was referenced Apr 11, 2025
pcanal
added a commit
to pcanal/root
that referenced
this issue
Apr 12, 2025
This solves problems caused by some code paths producing normalized name with unexpectedly added type suffix after on integral non-type template parameters. This fixes root-project#18363
pcanal
added a commit
to pcanal/root
that referenced
this issue
Apr 14, 2025
This solves problems caused by some code paths producing normalized name with unexpectedly added type suffix after on integral non-type template parameters. This fixes root-project#18363
hahnjo
added a commit
to hahnjo/root
that referenced
this issue
May 6, 2025
This avoids type suffixes for integer constants when the type can be inferred from the template parameter. Closes root-project#18363
hahnjo
added a commit
to hahnjo/root
that referenced
this issue
May 6, 2025
Co-authored-by: Philippe Canal <[email protected]>
hahnjo
added a commit
to hahnjo/roottest
that referenced
this issue
May 7, 2025
root-project/root#18363 Co-authored-by: Philippe Canal <[email protected]>
hahnjo
added a commit
to hahnjo/root
that referenced
this issue
May 7, 2025
This avoids type suffixes for integer constants when the type can be inferred from the template parameter. Closes root-project#18363 Co-authored-by: Philippe Canal <[email protected]> (cherry picked from commit 982f5d7)
pcanal
added a commit
to root-project/roottest
that referenced
this issue
May 7, 2025
root-project/root#18363 Co-authored-by: Philippe Canal <[email protected]>
pcanal
pushed a commit
that referenced
this issue
May 7, 2025
This avoids type suffixes for integer constants when the type can be inferred from the template parameter. Closes #18363 Co-authored-by: Philippe Canal <[email protected]> (cherry picked from commit 982f5d7)
hahnjo
added a commit
to hahnjo/roottest
that referenced
this issue
May 8, 2025
root-project/root#18363 Co-authored-by: Philippe Canal <[email protected]>
hahnjo
added a commit
to hahnjo/root
that referenced
this issue
May 8, 2025
This avoids type suffixes for integer constants when the type can be inferred from the template parameter. Closes root-project#18363 Co-authored-by: Philippe Canal <[email protected]> (cherry picked from commit 982f5d7)
hahnjo
added a commit
that referenced
this issue
May 9, 2025
This avoids type suffixes for integer constants when the type can be inferred from the template parameter. Closes #18363 Co-authored-by: Philippe Canal <[email protected]> (cherry picked from commit 982f5d7)
hahnjo
added a commit
to root-project/roottest
that referenced
this issue
May 9, 2025
root-project/root#18363 Co-authored-by: Philippe Canal <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
bug
experiment
Affects an experiment / reported by its software & computimng experts
in:Cling
in:Core Libraries
in:Dictionaries
priority:critical
Check duplicate issues.
Description
This is issue is reported indirectly in cms-sw/cmssw#47697 where this bug lead to an unwanted and failing auto-parsing, leading to a crash as a consequence of the failed auto-parsing.
The root cause is that the name normalization of:
is not consistently handled. During dictionary generation we end up with the following:
Note the type suffix in 1 out of the 3 possibility ... when none is (currently) desired.
In the reported case this lead the
TProtoClass
forOuter<128>::View<128>
to have the (normalized) nameOuter<128UL>::View<128>
while at run-time we look upOuter<128>::View<128>
fail to find it in the rootpcm when using the normalized name interface and thus go through a phase of name normalization which (due to the same/similar failed lookup) leads to the need to load the class information in the interpreter (aka auto-parse its headers).Reproducer
ROOT version
up to v6.34.08
Installation method
any
Operating system
any
Additional context
@makortel
The text was updated successfully, but these errors were encountered: