The rootrc key TFile.v630forwardCompatibility does not work correctly


Please read tips for efficient and successful posting and posting code

Describe the bug

The setup of TFile.v630forwardCompatibility key in rootrc does not work correctly.
It should enable globally the compatibility flag for all files for writing. However it have no effect for new file, only for updating file.

Expected behavior

It should enable globally the compatibility flag for all files for writing in ROOT.

To Reproduce

  1. Put TFile.v630forwardCompatibility: true in ~/.rootrc
  2. Create a new file in root, save.
  3. Open the file in another root session (e.g. version 6.26)
  4. The new root session crashed.

Setup

ROOT v6.32.02
Built for linuxx8664gcc on Jun 18 2024, 00:00:00
From heads/master@tags/v6-32-02
With g++ (GCC) 11.4.1 20231218 (Red Hat 11.4.1-3)
Binary directory: /usr/bin

(installed from dnf)

Additional context

Hi @tangzhch,

thank you for this bug report, maybe @pcanal could help here?

Cheers,
Marta

After digging into code, I found that the part reading rootrc key (root/io/io/src/TFile.cxx at master · root-project/root · GitHub) is inside the “update” block ( in the else block of a if( create ) at root/io/io/src/TFile.cxx at master · root-project/root · GitHub )
Therefore, it is not apply to newly created file (including recreate I guess). That’s why the setting in rootrc does not have any effect.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.