Skip to content

[io] Crash when removing leaf count array of non-primitive type #22097

@hahnjo

Description

@hahnjo

Check duplicate issues.

  • Checked for duplicates

Description

In the context of schema evolution for CMS SoA data structures, we are seeing the following crash:

Fatal: kFALSE violated at line 1712 of `/path/to/root/io/io/src/TStreamerInfoReadBuffer.cxx'

This happens when removing a leaf count array of non-primitive type.

Reproducer

A reproducer is SoAEvolv.tar.gz, which is writing

struct Example {
   int fB;

   ClassDefNV(Example, 2)
};

struct SoAEvolv {
   int fElements = 0;
   int *fA = nullptr; //[fElements]
   Example *fE = nullptr; //[fElements]

   ClassDefNV(SoAEvolv, 2)
};

and then reading back into

struct SoAEvolv {
   int fElements = 0;
   int *fA = 0; //[fElements]

   ClassDefNV(SoAEvolv, 3)
};

ROOT version

6.36, but also latest master

Installation method

CMSSW, but also from source

Operating system

Linux

Additional context

FYI @Electricks94

Metadata

Metadata

Assignees

Labels

bugexperimentAffects an experiment / reported by its software & computimng expertsin:I/O

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions