Issue opening root file generated with v6.30 on v6.24

Dear experts,

Is there any incompatibility for root files between root versions 6.24 and 6.30?
I have some large ntuples stored on EOS. To analyse them, I run a simple script to select some events and save to a new ntuple. A reduced version of this script is attched at the end of this post. Since the large ntuples are on EOS, I run the script on lxplus using lb-conda default root, which calls root v6.30.04. I can open the file on lxplus just fine. However, if I copy the file to my local machine and open it with my local root installation (v6.24.06), I get

lmeyerga@linuxpcumd00:~$ root minimal.root 
   ------------------------------------------------------------------
  | Welcome to ROOT 6.24/06                        https://root.cern |
  | (c) 1995-2021, The ROOT Team; conception: R. Brun, F. Rademakers |
  | Built for linuxx8664gcc on Mar 22 2024, 16:38:00                 |
  | From tag , 1 September 2021                                      |
  | With                                                             |
  | Try '.help', '.demo', '.license', '.credits', '.quit'/'.q'       |
   ------------------------------------------------------------------

root [0] 
Attaching file minimal.root as _file0...
Error in <TList::Clear>: A list is accessing an object (0x5c478f1e54e0) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f330850) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f331540) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f33e4e0) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f33e850) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f33ed80) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f33efb0) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f33f450) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f33f820) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f33fcc0) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f340fe0) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f33c290) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f364e50) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f373c20) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f3837b0) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f385f80) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f386490) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f386a30) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f386fd0) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f387570) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f387b10) already deleted (list name = TList)
Error in <TList::Clear>: A list is accessing an object (0x5c478f387f50) already deleted (list name = TList)
(TFile *) 0x5c478f187e60
root [1]

Furthermore, if I open a TBrowser, every branch I access vanishes a few seconds after double-clicking it.
Do you have any idea what might be happening?

Thanks in advance.

minimal.cpp (11.2 KB)

Hi Lucas,

Thanks for reporting. Adding @pcanal in the loop.

Cheers,
D

This is a known issue that has been fixed. You can either disable the new ‘behavior’ when producing the file or upgrade the older release to a later patch (i.e v6-24-10). To disable the new behavior, you need v6-30-06 and you need to call file->SetBit(TFile::k630forwardCompatibility);. Alternatively The rootrc key TFile.v630forwardCompatibility can be used to change the default to have the bit set for all TFiles

@Danilo @pcanal Thanks!