GetEntry() Crash

Hello,

My root program is crashing when it tries to get an event from a tree.
I am using ROOT version 5.34/07 (I have also tried with version 5.34/17). My advisor can successfully run the same program on his computer (using the same version 5.34/07) on the same ROOT file (which I got from him). So I conclude that there is something wrong with my setup of ROOT on my laptop.

Thanks!
Alyssa Loos

I have attached the following files:
Event.C
Event.h
100events.root

My event.com program:

#setenv ROOTSYS /usr/local/lib/root
#setenv PATH $ROOTSYS/bin:$PATH
#setenv LD_LIBRARY_PATH $ROOTSYS/lib:$LD_LIBRARY_PATH

/usr/bin/g++ -o event -O -Wall -fPIC -pthread -m64
-I/usr/local/include/root event.cc
Event.C
-L/usr/local/lib/root -lCore -lCint -lRIO -lNet -lHist
-lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lMinuit
-lPhysics -lMathCore -lThread -lGui -lm -ldl -lpthread -rdynamic


Error message:

*** Break *** segmentation violation

There was a crash.
This is the entire stack trace of all threads:

#0 0x00007f6e6d2ab98c in __libc_waitpid (pid=21323, stat_loc=stat_loc
entry=0x7fff22d802e0, options=options
entry=0) at …/sysdeps/unix/sysv/linux/waitpid.c:31
#1 0x00007f6e6d230592 in do_system (line=) at …/sysdeps/posix/system.c:148
#2 0x00007f6e6e689197 in TUnixSystem::StackTrace() () from /usr/local/lib/root/libCore.so
#3 0x00007f6e6e68ba73 in TUnixSystem::DispatchSignals(ESignals) () from /usr/local/lib/root/libCore.so
#4
#5 0x00007f6e6e08a870 in TStreamerInfoActions::VectorLooper::ReadCollectionBool(TBuffer&, void*, TStreamerInfoActions::TConfiguration const*) () from /usr/local/lib/root/libRIO.so
#6 0x00007f6e6dfb8a45 in TBufferFile::ApplySequence(TStreamerInfoActions::TActionSequence const&, void*) () from /usr/local/lib/root/libRIO.so
#7 0x00007f6e6db6cbf2 in TBranchElement::ReadLeavesMakeClass(TBuffer&) () from /usr/local/lib/root/libTree.so
#8 0x00007f6e6db62f2f in TBranch::GetEntry(long long, int) () from /usr/local/lib/root/libTree.so
#9 0x00007f6e6db6db10 in TBranchElement::GetEntry(long long, int) () from /usr/local/lib/root/libTree.so
#10 0x00007f6e6dbad56c in TTree::GetEntry(long long, int) () from /usr/local/lib/root/libTree.so
#11 0x0000000000404a74 in Event::Loop() ()
#12 0x0000000000402a34 in main ()

The lines below might hint at the cause of the crash.
If they do not help you then please submit a bug report at
root.cern.ch/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 0x00007f6e6e08a870 in TStreamerInfoActions::VectorLooper::ReadCollectionBool(TBuffer&, void*, TStreamerInfoActions::TConfiguration const*) () from /usr/local/lib/root/libRIO.so
#6 0x00007f6e6dfb8a45 in TBufferFile::ApplySequence(TStreamerInfoActions::TActionSequence const&, void*) () from /usr/local/lib/root/libRIO.so
#7 0x00007f6e6db6cbf2 in TBranchElement::ReadLeavesMakeClass(TBuffer&) () from /usr/local/lib/root/libTree.so
#8 0x00007f6e6db62f2f in TBranch::GetEntry(long long, int) () from /usr/local/lib/root/libTree.so
#9 0x00007f6e6db6db10 in TBranchElement::GetEntry(long long, int) () from /usr/local/lib/root/libTree.so
#10 0x00007f6e6dbad56c in TTree::GetEntry(long long, int) () from /usr/local/lib/root/libTree.so
#11 0x0000000000404a74 in Event::Loop() ()
#12 0x0000000000402a34 in main ()

*** Error in `event’: munmap_chunk(): invalid pointer: 0x00000000011b2be0 ***
Abort (core dumped)
Event.C (2.73 KB)
Event.h (12.2 KB)
100events.root (83.5 KB)

The “event.cc” file is missing.

Try to execute the following:
root [0] .L Event.C++
root [1] Event t;
root [2] t.Show(0);
root [3] t.Loop();
root [4] .q

Sorry about that!
Here’s the output I received after I typed the loop into ROOT:

Entered Event::Loop()
nentries = 100
jentry = 0
nb = 17393

runNum, eventNum, nhit = 2053, 1, 6
Warning: Re-initialization ignored const it_amp Event.C:59:
*** Interpreter error recovered ***

Thank you for your help!
Alyssa Loos
TAll.h (1.27 KB)
event.cc (482 Bytes)

Note that I told you to try:
root [0] .L Event.C++
but you tried:
root [0] .L Event.C
and got the interpreter error …
Well, a fixed “Event.C” is attached … try it again with and without “++” …
Event.C (2.67 KB)

A fixed “event.cc” is attached … try it …
event.cc (568 Bytes)

Yay! It worked both through the Root terminal and the event.com file! Thank you so much!

Alyssa Loos