eic / EDM4eic

A data model for EIC defined with podio and based on EDM4hep.
https://eic.github.io/EDM4eic/
GNU Lesser General Public License v3.0
2 stars 3 forks source link

Data using older versions is unreadable with the current version #81

Open veprbl opened 2 months ago

veprbl commented 2 months ago

Environment: (where does this bug occur, have you tried other environments)

Steps to reproduce: (give a step by step account of how to trigger the bug)

  1. podio-dump root://dtn-eic.jlab.org//work/eic2/EPIC/RECO/24.04.0/epic_craterlake/SIDIS/pythia6-eic/1.0.0/10x100/q2_0to1/pythia_ep_noradcor_10x100_q2_0.000000001_1.0_run1.ab.0000.eicrecon.tree.edm4eic.root

Expected Result: (what do you expect when you execute the steps above)

It works

Actual Result: (what do you get when you execute the steps above)

It crashes in

#6  0x00007f207a758aac in podio::ROOTFrameReader::getCollectionBuffers(podio::ROOTFrameReader::CategoryInfo&, unsigned long, bool, unsigned int) () from /opt/software/linux-debian12-x86_64_v2/gcc-12.2.0/podio-0.17.3-rjulnujnj5fgihcwugvyzlcljozbicvl/lib/libpodioRootIO.so
#7  0x00007f207a75e5bd in podio::ROOTFrameReader::readEntry(podio::ROOTFrameReader::CategoryInfo&) () from /opt/software/linux-debian12-x86_64_v2/gcc-12.2.0/podio-0.17.3-rjulnujnj5fgihcwugvyzlcljozbicvl/lib/libpodioRootIO.so
wdconinc commented 1 month ago

We have schema evolution in podio; we should start requiring it. In fact, it may make sense to create a test file for each edm4eic release, and test PRs against it.

veprbl commented 1 month ago

What we did in EDM4eic 6 was removal of a member. edit: users were seeing this with v5 From what it looks like, the evolution in PODIO only handles renames: https://github.com/AIDASoft/podio/blob/d0d0f55375f098318e5493552ac547b9698578a8/python/podio_schema_evolution.py#L422