Jakob Blomer
Jakob Blomer
Further debugging revealed a deeper issue that seem to only by chance surface on ARM/Linux: Writing or reading a vector of enums goes through the collection proxy. The collection proxy...
I think the cause is https://github.com/root-project/root/blob/master/io/io/src/TGenCollectionProxy.cxx#L404 (and similar lines further down), that hard-code the enum underlying type to int. When fixing, I think we need to take care of what...
Although: I'm not exactly sure if already existing files that were serialized with a shorter enum correctly read back. I _think_ yes, but that needs to be tested.
I'm attaching a minimal reproducer. [minimalTestVectorOfEnums.tar.gz](https://github.com/user-attachments/files/16814218/minimalTestVectorOfEnums.tar.gz) This test returns (wrongly) ``` Size of PadFlags: 2 Enum underlying type: 12 mFlags size before writing: 2 mFlags size after reading: 4 0...
AFAICT, neither TTree nor RNTuple I/O are affected by this issue.
As discussed, let's close it for the time being. The situation will look different with RNTuple classes moving out of experimental.
On the RNTuple side, this has been fixed by #19323 The reproducer (when compiled) and the lines of https://github.com/root-project/root/issues/18935#issuecomment-2949122883 now work. The reproducer in the interactive prompt still crash with...
@eguiraud Thanks for taking a look! There is no specific reason for these checks. I went through the list and tried to select what makes sense. Please suggest changes to...
Outdated, closing.
This issue is most likely due to a change that inadvertently broke forward compatibility: https://github.com/root-project/root/issues/14793 You should have seen this already with 6.30 though. Is there an explanation why 6.30...