Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RF] ROOT 6.22/06 crashes reading old workspace file #7276

Closed
1 task done
timadye opened this issue Feb 23, 2021 · 1 comment
Closed
1 task done

[RF] ROOT 6.22/06 crashes reading old workspace file #7276

timadye opened this issue Feb 23, 2021 · 1 comment

Comments

@timadye
Copy link

timadye commented Feb 23, 2021

  • Checked for duplicates

Describe the bug

ROOT 6.22/06 crashes when reading a RooWorkspace from a file written with ROOT 5.34.

Expected behavior

The RooWorkspace should be read from the file, as it did when read with ROOT 6.22/00.
ROOT 6.22/06 also successfully reads files created with ROOT 6.02/12 and later.

To Reproduce

  • Create any workspace file with ROOT 5.34, eg.
% root -b
ROOT 5.34/32 (v5-34-32@v5-34-32, Jul 28 2015, 17:41:47 on linuxx8664gcc)
root [0] RooWorkspace w("w");
root [1] w.factory("Gaussian::sigx(x[-10,10],m[0,-10,10],s[3,0.1,10])");
root [4] w.writeToFile("simplest-53432.root");
  • Since it isn't easy to get ROOT 5.34 running on CentOS7 these days, I have saved some workspace files here:
    • /afs/cern.ch/user/a/adye/public/root/bug-62206/simplest-53425.root (created with ROOT 5.34/25)
    • /afs/cern.ch/user/a/adye/public/root/bug-62206/simplest-53432.root (created with ROOT 5.34/32)
    • /afs/cern.ch/user/a/adye/public/root/bug-62206/simplest-60212.root (created with ROOT 6.02/12)
  • Setup ROOT 6.22/06 and load the file:
% . /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_99 x86_64-centos7-gcc8-dbg
% root -b
root [0] TFile::Open("simplest-53432.root")
 *** Break *** segmentation violation
...
#10 std::__atomic_base<TVirtualStreamerInfo*>::load (__m=std::memory_order_seq_cst, this=0x1d8) at /cvmfs/sft.cern.ch/lcg/releases/gcc/8.3.0-cebb0/x86_64-centos7/include/c++/8.3.0/bits/atomic_base.h:713
#11 std::__atomic_base<TVirtualStreamerInfo*>::operator TVirtualStreamerInfo* (this=0x1d8) at /cvmfs/sft.cern.ch/lcg/releases/gcc/8.3.0-cebb0/x86_64-centos7/include/c++/8.3.0/bits/atomic_base.h:590
#12 0x00007f791c62f23e in std::atomic<TVirtualStreamerInfo*>::operator TVirtualStreamerInfo* (this=0x1d8) at /cvmfs/sft.cern.ch/lcg/releases/gcc/8.3.0-cebb0/x86_64-centos7/include/c++/8.3.0/atomic:367
#13 0x00007f791c625873 in TClass::GetStreamerInfo (this=0x0, version=0, isTransient=false) at /build/jenkins/workspace/lcg_release_pipeline/build/projects/ROOT-v6.22.06/src/ROOT/v6.22.06/core/meta/src/TClass.cxx:4563
#14 0x00007f7919c70b29 in (anonymous namespace)::FixCollectionV5 (context=0x372fc40, oldClass=0x3a21c20, newClass=0x3a23a30) at /build/jenkins/workspace/lcg_release_pipeline/build/projects/ROOT-v6.22.06/src/ROOT/v6.22.06/io/io/src/TStreamerInfo.cxx:1586
#15 0x00007f7919c76b47 in (anonymous namespace)::TMemberInfo::operator!= (this=0x7ffe32cab7e0, other=...) at /build/jenkins/workspace/lcg_release_pipeline/build/projects/ROOT-v6.22.06/src/ROOT/v6.22.06/io/io/src/TStreamerInfo.cxx:2690
#16 0x00007f7919c78fa0 in TStreamerInfo::CompareContent (this=0x30bc290, cl=0x372fc40, info=0x0, warn=false, complete=false, file=0x2e19f80) at /build/jenkins/workspace/lcg_release_pipeline/build/projects/ROOT-v6.22.06/src/ROOT/v6.22.06/io/io/src/TStreamerInfo.cxx:3058
#17 0x00007f7919c6ec4f in TStreamerInfo::BuildCheck (this=0x30bc290, file=0x2e19f80, load=true) at /build/jenkins/workspace/lcg_release_pipeline/build/projects/ROOT-v6.22.06/src/ROOT/v6.22.06/io/io/src/TStreamerInfo.cxx:1139
#18 0x00007f7919c2d155 in TFile::ReadStreamerInfo (this=0x2e19f80) at /build/jenkins/workspace/lcg_release_pipeline/build/projects/ROOT-v6.22.06/src/ROOT/v6.22.06/io/io/src/TFile.cxx:3557
#19 0x00007f7919c20f28 in TFile::Init (this=0x2e19f80, create=false) at /build/jenkins/workspace/lcg_release_pipeline/build/projects/ROOT-v6.22.06/src/ROOT/v6.22.06/io/io/src/TFile.cxx:823
#20 0x00007f7919c1f0ae in TFile::TFile (this=0x2e19f80, fname1=0x2a29630 "simplest-53432.root", option=0x7ffe32cac239 "", ftitle=0x7f791cfb8014 "", compress=101) at /build/jenkins/workspace/lcg_release_pipeline/build/projects/ROOT-v6.22.06/src/ROOT/v6.22.06/io/io/src/TFile.cxx:483
#21 0x00007f7919c2f8f4 in TFile::Open (url=0x7f791cfb8000 "simplest-53432.root", options=0x7f791cfb8014 "", ftitle=0x7f791cfb8014 "", compress=101, netopt=0) at /build/jenkins/workspace/lcg_release_pipeline/build/projects/ROOT-v6.22.06/src/ROOT/v6.22.06
  • perhaps there is a problem with the FixCollectionV5.

Setup

  1. ROOT 6.22/06 (crashes) vs ROOT 6.22/00 (reads OK)
  2. CentOS7 x86_64 (lxplus)
  3. /cvmfs/sft.cern.ch/lcg/views/LCG_99 (tried different arches, same crash) vs /cvmfs/sft.cern.ch/lcg/views/LCG_98 (reads OK)
@timadye timadye added the bug label Feb 23, 2021
@github-actions github-actions bot added this to Needs triage in Triage Feb 23, 2021
@bellenot bellenot removed this from Needs triage in Triage Feb 24, 2021
@guitargeek guitargeek added this to Issues in Fixed in 6.24/08 via automation Apr 13, 2022
@guitargeek
Copy link
Contributor

Thanks for opening the issue, indeed I was able to reproduce the crash just like you described!

When I use a newer ROOT version, like ROOT 6.24/06, I can open the workspaces again. So the issue somehow got fixed in the 6.24 dev cycle and can be closed.

@guitargeek guitargeek changed the title ROOT 6.22/06 crashes reading old workspace file [RF] ROOT 6.22/06 crashes reading old workspace file Jun 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

No branches or pull requests

4 participants