Skip to content

Byte count mismatch and TPaletteAxis::Streamer #20280

@maszyman

Description

@maszyman

Check duplicate issues.

  • Checked for duplicates

Description

Probably after #20187 reading files containing TPaletteAxis objects triggers byte count mismatch errors and warnings like:

14:55:09 TBufferFile::CheckByteCount                         ERROR object of class TPaletteAxis read too many bytes: 343 instead of 339
14:55:09 TBufferFile::CheckByteCount                       WARNING TPaletteAxis::Streamer() not in sync with data on file /cvmfs/atlas.cern.ch/repo/sw/database/GroupData/JetUncertainties/CalibArea-08/rel22/Winter2025_PreRec/R4_AllComponents.root, fix Streamer()
14:55:09 TBufferFile::CheckByteCount                         ERROR object of class TPaletteAxis read too many bytes: 346 instead of 342
14:55:09 TBufferFile::CheckByteCount                       WARNING TPaletteAxis::Streamer() not in sync with data on file /cvmfs/atlas.cern.ch/repo/sw/database/GroupData/JetUncertainties/CalibArea-08/rel22/Winter2025_PreRec/R4_AllComponents.root, fix Streamer()
14:55:09 TBufferFile::CheckByteCount                         ERROR object of class TPaletteAxis read too many bytes: 319 instead of 315
14:55:09 TBufferFile::CheckByteCount                       WARNING TPaletteAxis::Streamer() not in sync with data on file /cvmfs/atlas.cern.ch/repo/sw/database/GroupData/JetUncertainties/CalibArea-08/rel22/Winter2025_PreRec/R4_AllComponents.root, fix Streamer()
14:55:09 TBufferFile::CheckByteCount                         ERROR object of class TPaletteAxis read too many bytes: 308 instead of 304
14:55:09 TBufferFile::CheckByteCount                       WARNING TPaletteAxis::Streamer() not in sync with data on file /cvmfs/atlas.cern.ch/repo/sw/database/GroupData/JetUncertainties/CalibArea-08/rel22/Winter2025_PreRec/R4_AllComponents.root, fix Streamer()
14:55:09 TBufferFile::CheckByteCount                         ERROR object of class TPaletteAxis read too many bytes: 308 instead of 304
14:55:09 TBufferFile::CheckByteCount                       WARNING TPaletteAxis::Streamer() not in sync with data on file /cvmfs/atlas.cern.ch/repo/sw/database/GroupData/JetUncertainties/CalibArea-08/rel22/Winter2025_PreRec/R4_AllComponents.root, fix Streamer()
14:55:09 TBufferFile::CheckByteCount                         ERROR object of class TPaletteAxis read too many bytes: 308 instead of 304
14:55:09 TBufferFile::CheckByteCount                       WARNING TPaletteAxis::Streamer() not in sync with data on file /cvmfs/atlas.cern.ch/repo/sw/database/GroupData/JetUncertainties/CalibArea-08/rel22/Winter2025_PreRec/R4_AllComponents.root, fix Streamer()

It looks like TPaletteAxis gained a new data member (Int_t fLog) without backward-compatibility handling.

Reproducer

» root -l /cvmfs/atlas.cern.ch/repo/sw/database/GroupData/JetUncertainties/CalibArea-08/rel22/Winter2025_PreRec/R4_AllComponents.root                                             maszyman@aiatlasbm004
root [0] 
Attaching file /cvmfs/atlas.cern.ch/repo/sw/database/GroupData/JetUncertainties/CalibArea-08/rel22/Winter2025_PreRec/R4_AllComponents.root as _file0...
Warning in <TStreamerInfo::BuildCheck>: 
   The StreamerInfo of class TPaletteAxis read from file /cvmfs/atlas.cern.ch/repo/sw/database/GroupData/JetUncertainties/CalibArea-08/rel22/Winter2025_PreRec/R4_AllComponents.root
   has the same version (=4) as the active class but a different checksum.
   You should update the version to ClassDef(TPaletteAxis,5).
   Do not try to write objects with the current class definition,
   the files will not be readable.

Warning in <TStreamerInfo::CompareContent>: The following data member of
the in-memory layout version 4 of class 'TPaletteAxis' is missing from 
the on-file layout version 4:
   int fLog; //
(TFile *) 0x3153200

ROOT version

master

Installation method

dev3

Operating system

Linux

Additional context

No response

Metadata

Metadata

Assignees

Type

No type

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions