Can't convert YODA to ROOT


ROOT Version: Not Provided
Platform: Not Provided
Compiler: Not Provided


Hi all,

I’ve generated a couple events with a MC generator ane used Rivet in order to output a .yoda histogram fila, wich has a script to convert it to .root format. However, when I try to run the yoda2root script I get the following error message:

 *** Break *** segmentation violation



===========================================================
There was a crash.
This is the entire stack trace of all threads:
===========================================================
#0  0x00007fddd44a60cb in __GI___waitpid (pid=2360, stat_loc=stat_loc
entry=0x7ffe53e01c50, options=options
entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
#1  0x00007fddd441efbb in do_system (line=<optimized out>) at ../sysdeps/posix/system.c:148
#2  0x00007fddc993f067 in TUnixSystem::Exec (shellcmd=<optimized out>, this=0x1d53f40) at /home/fabio/root/core/unix/src/TUnixSystem.cxx:2118
#3  TUnixSystem::StackTrace (this=0x1d53f40) at /home/fabio/root/core/unix/src/TUnixSystem.cxx:2412
#4  0x00007fddc994178c in TUnixSystem::DispatchSignals (this=0x1d53f40, sig=kSigSegmentationViolation) at /home/fabio/root/core/unix/src/TUnixSystem.cxx:3643
#5  <signal handler called>
#6  0x00007fddd479efa8 in main_arena () from /lib/x86_64-linux-gnu/libc.so.6
#7  0x00007fddc92a6b97 in TGraph::~TGraph (this=0x40033e0, __in_chrg=<optimized out>) at /home/fabio/root/hist/hist/src/TGraph.cxx:523
#8  0x00007fddc9349339 in TGraphAsymmErrors::~TGraphAsymmErrors (this=0x40033e0, __in_chrg=<optimized out>) at /home/fabio/root/hist/hist/src/TGraphAsymmErrors.cxx:439
#9  0x00007fddc98f46b1 in TClass::Destructor (this=0x3f8e580, obj=0x40033e0, dtorOnly=<optimized out>) at /home/fabio/root/core/meta/src/TClass.cxx:5152
#10 0x00007fddc8ad0877 in PyROOT::op_dealloc_nofree (pyobj=pyobj
entry=0x7fddbcdb9050) at /home/fabio/root/bindings/pyroot/src/ObjectProxy.cxx:59
#11 0x00007fddc8ad09b9 in PyROOT::(anonymous namespace)::op_dealloc (pyobj=0x7fddbcdb9050) at /home/fabio/root/bindings/pyroot/src/ObjectProxy.cxx:212
#12 0x00000000004f7932 in ?? ()
#13 0x000000000049b27a in ?? ()
#14 0x00000000004fc68a in _PyModule_Clear ()
#15 0x00000000004fbd23 in PyImport_Cleanup ()
#16 0x00000000004f9164 in Py_Finalize ()
#17 0x00000000004937b2 in Py_Main ()
#18 0x00007fddd43fa830 in __libc_start_main (main=0x493370 <main>, argc=3, argv=0x7ffe53e04908, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe53e048f8) at ../csu/libc-start.c:291
#19 0x0000000000493299 in _start ()
===========================================================


The lines below might hint at the cause of the crash.
You may get help by asking at the ROOT forum http://root.cern.ch/forum.
Only if you are really convinced it is a bug in ROOT then please submit a
report at http://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.
===========================================================
#6  0x00007fddd479efa8 in main_arena () from /lib/x86_64-linux-gnu/libc.so.6
#7  0x00007fddc92a6b97 in TGraph::~TGraph (this=0x40033e0, __in_chrg=<optimized out>) at /home/fabio/root/hist/hist/src/TGraph.cxx:523
#8  0x00007fddc9349339 in TGraphAsymmErrors::~TGraphAsymmErrors (this=0x40033e0, __in_chrg=<optimized out>) at /home/fabio/root/hist/hist/src/TGraphAsymmErrors.cxx:439
#9  0x00007fddc98f46b1 in TClass::Destructor (this=0x3f8e580, obj=0x40033e0, dtorOnly=<optimized out>) at /home/fabio/root/core/meta/src/TClass.cxx:5152
#10 0x00007fddc8ad0877 in PyROOT::op_dealloc_nofree (pyobj=pyobj
entry=0x7fddbcdb9050) at /home/fabio/root/bindings/pyroot/src/ObjectProxy.cxx:59
#11 0x00007fddc8ad09b9 in PyROOT::(anonymous namespace)::op_dealloc (pyobj=0x7fddbcdb9050) at /home/fabio/root/bindings/pyroot/src/ObjectProxy.cxx:212
#12 0x00000000004f7932 in ?? ()
#13 0x000000000049b27a in ?? ()
#14 0x00000000004fc68a in _PyModule_Clear ()
#15 0x00000000004fbd23 in PyImport_Cleanup ()
#16 0x00000000004f9164 in Py_Finalize ()
#17 0x00000000004937b2 in Py_Main ()
#18 0x00007fddd43fa830 in __libc_start_main (main=0x493370 <main>, argc=3, argv=0x7ffe53e04908, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe53e048f8) at ../csu/libc-start.c:291
#19 0x0000000000493299 in _start ()
===========================================================

Can somebody help me out with this?

Thanks

Looks like a bad interaction between root ownership model and Python.

You can use the one shipped with GoHEP:

If you don’t have Go installed, let me know and I’ll provide a static binary.

hth,
-s

Actually I don’t have it installed

apologies for the belated answer (I am at a film festival :P)

installing Go is super easy. (it’s also alreay installed on lxplus)
and one’s that’s done you can do:

$> go get go-hep.org/x/hep/cmd/yoda2root

but here is the latest version:

(I can cross-compile for other OS/archs if needed…)

hth,
-s

I’ve installed it and this commando didn’t work, the computer responded with:

package go-hep.org/x/hep/cmd/yoda2root: cannot download, $GOPATH not set. For more details see: go help gopath

Ain’t it easier to fix root?

YODA is not a part of ROOT, nor is Rivet.

So that means the problem is actually on YODA? I’ve tried uninstalling and installing again a couple of times and it didn’t work

ah right, you’d need to export GOPATH and make it point to a directory.

but the binary I put there:

can be used w/o Go installed.

just download it and make it executable:

$> wget https://cern.ch/binet/go-hep/v0.17.0/yoda2root-linux-amd64.exe
$> chmod +x yoda2root-linux-amd64.exe

and you should be good to go.

For archives’ sake:

  • the root issue was a ROOT5/ROOT6 issue on YODA’s side
  • Go-HEP/yoda2root worked as advertised

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.