-
Notifications
You must be signed in to change notification settings - Fork 1.5k
[DF] RDataFrame confused by array variables in 6.26/04 #10920
Copy link
Copy link
Closed
Description
What's wrong
When trying to Snapshot a RDataFrame that contains certain variables of the array type, segmentation violation occurs in 6.26/04. This however works in 6.24/00.
Expected behavior
No crash...
To Reproduce
A minimal reproducer can be called by running this code
#include "TROOT.h"
#include "TChain.h"
#include "ROOT/RDataFrame.hxx"
using namespace ROOT;
void preselect_test(){
ROOT::EnableImplicitMT(3);
TChain tree("DecayTree");
tree.Add("testtuple.root");
RDataFrame df1(tree);
TCut AllCuts = "1>0";
auto df2 = df1.Filter(AllCuts.GetTitle());
df2.Snapshot("DecayTree", "myoutput.root");
}where the input file testtuple.root can be found here: https://cernbox.cern.ch/index.php/s/ujgGnDwpDpQZo44
In my example, the input file contains a few branches, in particular the array-type variable Lambda_DTFL_KS_M which has a size of Lambda_DTFL_KS_nPV.
In ROOT 6.24/00 this code runs smoothly producing an output file.
In ROOT 6.26/04 the following happens:
Error in <TBranch::TBranch>: Illegal leaf: Lambda_DTFL_KS_M/Lambda_DTFL_KS_M[Lambda_DTFL_KS_nPV]/F. If this is a variable size C array it's possible that the branch holding the size is not available.
*** Break *** segmentation violation
===========================================================
There was a crash.
This is the entire stack trace of all threads:
===========================================================
#0 0x00007f3f0f1ec60c in waitpid () from /lib64/libc.so.6
#1 0x00007f3f0f169f62 in do_system () from /lib64/libc.so.6
#2 0x00007f3f0f79f545 in TUnixSystem::StackTrace() () from /opt/miniconda/envs/root_forge/lib/libCore.so.6.26
#3 0x00007f3f0f79c8c7 in TUnixSystem::DispatchSignals(ESignals) () from /opt/miniconda/envs/root_forge/lib/libCore.so.6.26
#4 <signal handler called>
#5 0x00007f3efbe302d0 in ?? ()
#6 0x0000009900000224 in ?? ()
#7 0x0046561992848cc0 in ?? ()
#8 0x00007f3f0fa886ba in ?? () from /opt/miniconda/envs/root_forge/lib/libstdc++.so.6
#9 0x0000000000000000 in ?? ()
===========================================================
The lines below might hint at the cause of the crash.
You may get help by asking at the ROOT forum https://root.cern/forum
Only if you are really convinced it is a bug in ROOT then please submit a
report at https://root.cern/bugs Please post the ENTIRE stack trace
from above as an attachment in addition to anything else
that might help us fixing this issue.
===========================================================
#5 0x00007f3efbe302d0 in ?? ()
#6 0x0000009900000224 in ?? ()
#7 0x0046561992848cc0 in ?? ()
#8 0x00007f3f0fa886ba in ?? () from /opt/miniconda/envs/root_forge/lib/libstdc++.so.6
#9 0x0000000000000000 in ?? ()
===========================================================
Setup
- ROOT version: 6.26/04
- Operating system: centos7
- How you obtained ROOT: from conda
Reactions are currently unavailable