-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
v624: Additional fixes for std::pair's StreamerInfo handling #10280
v624: Additional fixes for std::pair's StreamerInfo handling #10280
Conversation
Starting build on |
Build failed on ROOT-ubuntu16/nortcxxmod. Failing tests: |
Build failed on ROOT-debian10-i386/cxx14. Failing tests: |
Build failed on ROOT-performance-centos8-multicore/default. Failing tests: |
Build failed on ROOT-ubuntu2004/soversion. Failing tests: |
Build failed on mac11/cxx17. Failing tests: |
Build failed on windows10/cxx14. Failing tests: |
Build failed on mac1015/python3. Failing tests: |
@pcanal , this now has fixed the failing HLT tests in cmssw. |
Thank. |
This is done also for multimap.
When encountering a data member of a class that is a enum or if it is use in a map or multimap, record the enum in the rootpcm.
This was a fatal typo in 9678405 pair: properly update StreamerInfo.
We already had TListOfEnumsWithLock but TListOfEnums::FindObject is used by rootcling
In the 'root_serialization' use case, we ended in TBufferFile::WriteClassBuffer with no StreamerInfo created yet for the TClass for `std::vector<float>` and thus go into the branch that creates the StreamerInfo ... However, at least in that case, the call to `BuildRealData` induced the creation of the StreamerInfo but the code in `TBufferFile::WriteClassBuffer` did not notice and thus create a second one and tried to register it in the same slot. (The actual negative side effect was only an error message and a memory leak).
This happened in a user case where the container (map) for a pair of an enum, which had not dictionary and something else that did have a dictionary.
This was happening when, inadvertently, StreamerInfo were created multiple times and then immeditately deleted (for map<enumtype_without_dict, somethinelse>)
Starting build on |
Build failed on ROOT-performance-centos8-multicore/default. Failing tests: |
Build failed on ROOT-ubuntu16/nortcxxmod. Failing tests: |
Build failed on ROOT-debian10-i386/cxx14. Failing tests: |
Build failed on ROOT-ubuntu2004/soversion. Failing tests: |
Build failed on mac11/cxx17. Failing tests: |
Build failed on windows10/cxx14. Failing tests: |
Build failed on mac1015/python3. Failing tests: |
Starting build on |
Build failed on ROOT-debian10-i386/cxx14. Failing tests: |
Build failed on ROOT-ubuntu16/nortcxxmod. Failing tests: |
Build failed on ROOT-performance-centos8-multicore/default. Failing tests: |
Build failed on mac11/cxx17. Failing tests: |
Build failed on ROOT-ubuntu2004/soversion. Failing tests: |
Build failed on mac1015/python3. Failing tests: |
Build failed on windows10/cxx14. Failing tests: |
see #10230