-
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
STL collection object in TFile not compatible across OSX and Linux #17216
Comments
Does it happens to anything beside a STL collection of |
Yes, with unordered_map<uin64_t, double > , which is how we (re)discovered this today. |
I would not expect the same error message (type) with that. It is likely that |
is the original error in the production code. |
Alright. That error is what I expect. If you are using |
If we substitute with unsigned long long, would that require bumping the version to read it correctly? |
Yes, the only way to avoid the warnings in most cases is to change the type and increase the version number. (You might still get the warning when trying to read in the same process files written on both mac and linux - because 2 conflicting version 1 would be read) |
Check duplicate issues.
Description
As reported this summer in https://root-forum.cern.ch/t/stl-collection-object-in-tfile-not-compatible-across-osx-and-linux/60321
Using:
to write on one platform and then read the result back on the other results in:
Similarly, if I adapt the above to be an
std::unordered_map
rather than a vector of pairs it crashes with:Running on the same platform works as expected.
Reproducer
See description
ROOT version
6.32.6 built with alibuild
Installation method
alibuild
Operating system
macOS + linux (lxplus)
Additional context
This is preventing us to read some calibration objects which were created during datataking and use them to perform analysis tasks on macOS.
The text was updated successfully, but these errors were encountered: