Warning in <TBufferFile::WriteObjectAny>: An object of type 13TStreamerInfo (from type_info) passed through a TObject pointer was truncated (due a missing dictionary)!

Earlier in the output you have (See also your post at Old ROOT open ROOT file created by new version of ROOT)

Error in <TList::Clear>: A list is accessing an object (0xc6fc9d20) already deleted (list name = TList)

You can either

  • Download the tip of the v6-24-00-patches branch and build that version of ROOT

or

  • Disable the new behavior when writing the files, by to calling 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

You should fix this before moving on.

The next observation is that the error message:
```

Warning in TBufferFile::WriteObjectAny: An object of type 13TStreamerInfo (from type_info) passed through a TObject pointer was truncated (due a missing dictionary)!!!
```

is happening at the end of the process. So this begs the questions on whether the TFile are all properly written and closed (the TFile object being deleted) before the end of main.