-
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
6.26 cannot read file written with 6.30.4 #14793
Comments
@iarspider Did your tests indicate that this is a regression introduced by that commit specifically, or that this issue was simply not there yet at the time of that commit and it could be any commit since then? |
Thanks, @iarspider. If I can summarize then:
Is that an accurate summary? If so, do we have an estimate when the next 6.28 patch release will be, which will include this fix? Does this issue merit being summarized as a pinned issue at the top of the GitHub issues? |
@wdconinc disclaimer: I am not part of ROOT team, so my interpretation could be wrong.
Yes
I don't know if there is a plan to update older versions with this fix - in CMS we just cherry-picked the fix into our fork of ROOT. |
But that still forces everyone to use the CMS environment all the time. At our earlier stage of development, we have many users who use computing environments at clusters where we don't have control over the version installed, let alone patches installed. |
Yeah, this would mean updating all CI versions, cluster environments, etc. if anyone wants to use a new ROOT version... aren't there "compatibility" flags ROOT can use to ensure backward compatibility? |
This one time unfortunately that is not the case. The written file were incorrectly and could lead to spurious crash. The new file when read in unpatched old version can lead to 'just' spurious error message (that can be suppress with the insertion of custom ROOT error handler). |
@pcanal, it's not just spurious error messages: @chrisburr mentioned that I was discussing with @dpiparo about an option to temporarily enable compatibility of the written file with ROOT 6.24, along the lines of @sethrj suggestion. |
Then I am misremembering/missing something. Let me check a few things. |
So indeed, there is a path that lead to the new file inadvertently disabling the cleanup mechanism, so we will need to add an option.
@pikacic What type of option is convenient/easy to add to your use cases? ( |
The most practical way for us is a function call, followed by an option passed to |
With #15006, you can use on the file that needs to be forward compatible:
(of course before storing anything :) ). |
On our end, the function in #15006 is not an optimal solution since we use external libraries (podio, edm4hep) that use ROOT to open files: this change would require changes in multiple places, including in community projects that may not be able to provide a single solution for their entire user base. A |
Fair enough. #15006 was updated to add in the rootrc:
|
Thanks a lot @pcanal, that's perfect. |
…mode This makes files written with ROOT 6.30, although technically incorrect, to be read by unpatched ROOT 6.24. See root-project/root#14793
Check duplicate issues.
Description
See also #14504 (comment)
I have a file which was written in LHCb with 6.30.4 fails to read with 6.24/06 (and 6.24/08).
cc @pikacic @wdconinc
Reproducer
Using: https://cburr.web.cern.ch/root-crash.root
This is enough to see warnings:
Using
hadd
results in a segfault:ROOT version
See above.
Installation method
Botg LCG and conda builds exhibit the issue
Operating system
Linux
Additional context
No response
The text was updated successfully, but these errors were encountered: