Skip to content
This repository was archived by the owner on Jan 7, 2023. It is now read-only.
This repository was archived by the owner on Jan 7, 2023. It is now read-only.

Failure when reading complex root file #192

@ibab

Description

@ibab

I'm having problems reading a complex ROOT file (containing many branches with variable-length arrays) using root_numpy.
I've uploaded the first entry of the dataset here

Running the following script

from root_numpy import *

arr = root2array('out_tree.root', 'tree')
print(arr)

produces the following stack trace:

 *** Break *** segmentation violation



===========================================================
There was a crash.
This is the entire stack trace of all threads:
===========================================================
#0  0x00007fdabed70aaa in waitpid () from /usr/lib/libc.so.6
#1  0x00007fdabecf840b in do_system () from /usr/lib/libc.so.6
#2  0x00007fdab629aed1 in TUnixSystem::StackTrace() () from /usr/lib/root/libCore.so.5.34
#3  0x00007fdab629cf5c in TUnixSystem::DispatchSignals(ESignals) () from /usr/lib/root/libCore.so.5.34
#4  <signal handler called>
#5  OBJECT_getitem (ip=0x122deeb "C", ap=0x7fdab6c48b20) at numpy/core/src/multiarray/arraytypes.c.src:525
#6  0x00007fdabdf75758 in VOID_getitem (ip=0x122db50 "\345{\230\345\225w\250?kυ\t\317\024\v
", ap=0x7fdab6c48b20) at numpy/core/src/multiarray/arraytypes.c.src:617
#7  0x00007fdabe020fab in array_toscalar (self=0x7fdab6c48b20, args=<optimized out>) at numpy/core/src/multiarray/methods.c:680
#8  0x00007fdabfa7d153 in call_function (oparg=<optimized out>, pp_stack=0x7ffc7f132018) at Python/ceval.c:4033
#9  PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2679
#10 0x00007fdabfa7ec6e in PyEval_EvalCodeEx (co=0x7fdabda9b7b0, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=7, kws=0x7fdab6c70828, kwcount=0, defs=0x7fdab9b1d5a8, defcount=7, closure=0x0) at Python/ceval.c:3265
#11 0x00007fdabfa7d2aa in fast_function (nk=<optimized out>, na=7, n=<optimized out>, pp_stack=0x7ffc7f132218, func=0x7fdab9b229b0) at Python/ceval.c:4129
#12 call_function (oparg=<optimized out>, pp_stack=0x7ffc7f132218) at Python/ceval.c:4054
#13 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2679
#14 0x00007fdabfa7ec6e in PyEval_EvalCodeEx (co=0x7fdabfdcbc30, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=1, kws=0x0, kwcount=0, defs=0x7fdabda931a8, defcount=3, closure=0x0) at Python/ceval.c:3265
#15 0x00007fdabf9fc851 in function_call (func=0x7fdab9b25398, arg=0x7fdab0af84d0, kw=0x0) at Objects/funcobject.c:526
#16 0x00007fdabf9cd323 in PyObject_Call (func=0x7fdab9b25398, arg=<optimized out>, kw=<optimized out>) at Objects/abstract.c:2529
#17 0x00007fdabfa76823 in PyEval_CallObjectWithKeywords (func=0x7fdab9b25398, arg=0x7fdab0af84d0, kw=<optimized out>) at Python/ceval.c:3902
#18 0x00007fdabdf5bac4 in array_str (self=<optimized out>) at numpy/core/src/multiarray/arrayobject.c:664
#19 0x00007fdabfa1999b in _PyObject_Str (v=0x7fdab6c48b20) at Objects/object.c:430
#20 0x00007fdabfa19a8a in PyObject_Str (v=<optimized out>) at Objects/object.c:451
#21 0x00007fdabe04e80e in gentype_repr (self=<optimized out>) at numpy/core/src/multiarray/scalartypes.c.src:372
#22 0x00007fdabfa19625 in PyObject_Repr (v=0x7fdab0b306c0) at Objects/object.c:381
#23 0x00007fdabfa7e2a2 in call_function (oparg=<optimized out>, pp_stack=0x7ffc7f1325b8) at Python/ceval.c:4021
#24 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2679
#25 0x00007fdabfa7ec6e in PyEval_EvalCodeEx (co=0x7fdabda9b4b0, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=1, kws=0xd60ae0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3265
#26 0x00007fdabfa7d2aa in fast_function (nk=<optimized out>, na=1, n=<optimized out>, pp_stack=0x7ffc7f1327b8, func=0x7fdab9b22848) at Python/ceval.c:4129
#27 call_function (oparg=<optimized out>, pp_stack=0x7ffc7f1327b8) at Python/ceval.c:4054
#28 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2679
#29 0x00007fdabfa7ec6e in PyEval_EvalCodeEx (co=0x7fdabda9ba30, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=8, kws=0xd5e978, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3265
#30 0x00007fdabfa7d2aa in fast_function (nk=<optimized out>, na=8, n=<optimized out>, pp_stack=0x7ffc7f1329b8, func=0x7fdab9b22aa0) at Python/ceval.c:4129
#31 call_function (oparg=<optimized out>, pp_stack=0x7ffc7f1329b8) at Python/ceval.c:4054
#32 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2679
#33 0x00007fdabfa7ec6e in PyEval_EvalCodeEx (co=0x7fdabda9b5b0, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=6, kws=0x6ca8a0, kwcount=1, defs=0x7fdab9b151a8, defcount=3, closure=0x0) at Python/ceval.c:3265
#34 0x00007fdabfa7d2aa in fast_function (nk=<optimized out>, na=6, n=<optimized out>, pp_stack=0x7ffc7f132bb8, func=0x7fdab9b228c0) at Python/ceval.c:4129
#35 call_function (oparg=<optimized out>, pp_stack=0x7ffc7f132bb8) at Python/ceval.c:4054
#36 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2679
#37 0x00007fdabfa7ec6e in PyEval_EvalCodeEx (co=0x7fdabda9b7b0, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=7, kws=0x7fdab6c70628, kwcount=0, defs=0x7fdab9b1d5a8, defcount=7, closure=0x0) at Python/ceval.c:3265
#38 0x00007fdabfa7d2aa in fast_function (nk=<optimized out>, na=7, n=<optimized out>, pp_stack=0x7ffc7f132db8, func=0x7fdab9b229b0) at Python/ceval.c:4129
#39 call_function (oparg=<optimized out>, pp_stack=0x7ffc7f132db8) at Python/ceval.c:4054
#40 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2679
#41 0x00007fdabfa7ec6e in PyEval_EvalCodeEx (co=0x7fdabfdcbc30, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=1, kws=0x0, kwcount=0, defs=0x7fdabda931a8, defcount=3, closure=0x0) at Python/ceval.c:3265
#42 0x00007fdabf9fc851 in function_call (func=0x7fdab9b25398, arg=0x7fdabfe1ebd0, kw=0x0) at Objects/funcobject.c:526
#43 0x00007fdabf9cd323 in PyObject_Call (func=0x7fdab9b25398, arg=<optimized out>, kw=<optimized out>) at Objects/abstract.c:2529
#44 0x00007fdabfa76823 in PyEval_CallObjectWithKeywords (func=0x7fdab9b25398, arg=0x7fdabfe1ebd0, kw=<optimized out>) at Python/ceval.c:3902
#45 0x00007fdabdf5bac4 in array_str (self=<optimized out>) at numpy/core/src/multiarray/arrayobject.c:664
#46 0x00007fdabfa1999b in _PyObject_Str (v=0x7fdab0a48df0) at Objects/object.c:430
#47 0x00007fdabfa19a8a in PyObject_Str (v=<optimized out>) at Objects/object.c:451
#48 0x00007fdabfa19be2 in internal_print (op=0x7fdab0a48df0, fp=0x7fdabf057740 <_IO_2_1_stdout_>, flags=<optimized out>, nesting=0) at Objects/object.c:303
#49 0x00007fdabf9f4e48 in file_PyObject_Print (flags=1, f=0x7fdabff69150, op=0x7fdab0a48df0) at Objects/fileobject.c:110
#50 PyFile_WriteObject (v=<optimized out>, f=0x7fdabff69150, flags=1) at Objects/fileobject.c:2579
#51 0x00007fdabfa7b600 in PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:1771
#52 0x00007fdabfa7ec6e in PyEval_EvalCodeEx (co=0x7fdabfe77e30, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3265
#53 0x00007fdabfa7ed82 in PyEval_EvalCode (co=<optimized out>, globals=<optimized out>, locals=<optimized out>) at Python/ceval.c:667
#54 0x00007fdabfa9eba0 in run_mod (arena=0x6825b0, flags=0x7ffc7f133480, locals=0x7fdabff17168, globals=0x7fdabff17168, filename=<optimized out>, mod=0x6c4f48) at Python/pythonrun.c:1371
#55 PyRun_FileExFlags (fp=0x6c8d10, filename=<optimized out>, start=<optimized out>, globals=0x7fdabff17168, locals=0x7fdabff17168, closeit=1, flags=0x7ffc7f133480) at Python/pythonrun.c:1357
#56 0x00007fdabfa9ed7f in PyRun_SimpleFileExFlags (fp=0x6c8d10, filename=0x7ffc7f135031 "bla.py", closeit=1, flags=0x7ffc7f133480) at Python/pythonrun.c:949
#57 0x00007fdabfab4664 in Py_Main (argc=<optimized out>, argv=<optimized out>) at Modules/main.c:645
#58 0x00007fdabecd9800 in __libc_start_main () from /usr/lib/libc.so.6
#59 0x0000000000400649 in _start ()
===========================================================


The lines below might hint at the cause of the crash.
If they do not help you then please submit a bug 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.
===========================================================
#5  OBJECT_getitem (ip=0x122deeb "C", ap=0x7fdab6c48b20) at numpy/core/src/multiarray/arraytypes.c.src:525
#6  0x00007fdabdf75758 in VOID_getitem (ip=0x122db50 "345{230345225w250?kυt317024v
", ap=0x7fdab6c48b20) at numpy/core/src/multiarray/arraytypes.c.src:617
#7  0x00007fdabe020fab in array_toscalar (self=0x7fdab6c48b20, args=<optimized out>) at numpy/core/src/multiarray/methods.c:680
#8  0x00007fdabfa7d153 in call_function (oparg=<optimized out>, pp_stack=0x7ffc7f132018) at Python/ceval.c:4033
#9  PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2679
#10 0x00007fdabfa7ec6e in PyEval_EvalCodeEx (co=0x7fdabda9b7b0, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=7, kws=0x7fdab6c70828, kwcount=0, defs=0x7fdab9b1d5a8, defcount=7, closure=0x0) at Python/ceval.c:3265
#11 0x00007fdabfa7d2aa in fast_function (nk=<optimized out>, na=7, n=<optimized out>, pp_stack=0x7ffc7f132218, func=0x7fdab9b229b0) at Python/ceval.c:4129
#12 call_function (oparg=<optimized out>, pp_stack=0x7ffc7f132218) at Python/ceval.c:4054
#13 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2679
#14 0x00007fdabfa7ec6e in PyEval_EvalCodeEx (co=0x7fdabfdcbc30, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=1, kws=0x0, kwcount=0, defs=0x7fdabda931a8, defcount=3, closure=0x0) at Python/ceval.c:3265
#15 0x00007fdabf9fc851 in function_call (func=0x7fdab9b25398, arg=0x7fdab0af84d0, kw=0x0) at Objects/funcobject.c:526
#16 0x00007fdabf9cd323 in PyObject_Call (func=0x7fdab9b25398, arg=<optimized out>, kw=<optimized out>) at Objects/abstract.c:2529
#17 0x00007fdabfa76823 in PyEval_CallObjectWithKeywords (func=0x7fdab9b25398, arg=0x7fdab0af84d0, kw=<optimized out>) at Python/ceval.c:3902
#18 0x00007fdabdf5bac4 in array_str (self=<optimized out>) at numpy/core/src/multiarray/arrayobject.c:664
#19 0x00007fdabfa1999b in _PyObject_Str (v=0x7fdab6c48b20) at Objects/object.c:430
#20 0x00007fdabfa19a8a in PyObject_Str (v=<optimized out>) at Objects/object.c:451
#21 0x00007fdabe04e80e in gentype_repr (self=<optimized out>) at numpy/core/src/multiarray/scalartypes.c.src:372
#22 0x00007fdabfa19625 in PyObject_Repr (v=0x7fdab0b306c0) at Objects/object.c:381
#23 0x00007fdabfa7e2a2 in call_function (oparg=<optimized out>, pp_stack=0x7ffc7f1325b8) at Python/ceval.c:4021
#24 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2679
#25 0x00007fdabfa7ec6e in PyEval_EvalCodeEx (co=0x7fdabda9b4b0, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=1, kws=0xd60ae0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3265
#26 0x00007fdabfa7d2aa in fast_function (nk=<optimized out>, na=1, n=<optimized out>, pp_stack=0x7ffc7f1327b8, func=0x7fdab9b22848) at Python/ceval.c:4129
#27 call_function (oparg=<optimized out>, pp_stack=0x7ffc7f1327b8) at Python/ceval.c:4054
#28 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2679
#29 0x00007fdabfa7ec6e in PyEval_EvalCodeEx (co=0x7fdabda9ba30, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=8, kws=0xd5e978, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3265
#30 0x00007fdabfa7d2aa in fast_function (nk=<optimized out>, na=8, n=<optimized out>, pp_stack=0x7ffc7f1329b8, func=0x7fdab9b22aa0) at Python/ceval.c:4129
#31 call_function (oparg=<optimized out>, pp_stack=0x7ffc7f1329b8) at Python/ceval.c:4054
#32 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2679
#33 0x00007fdabfa7ec6e in PyEval_EvalCodeEx (co=0x7fdabda9b5b0, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=6, kws=0x6ca8a0, kwcount=1, defs=0x7fdab9b151a8, defcount=3, closure=0x0) at Python/ceval.c:3265
#34 0x00007fdabfa7d2aa in fast_function (nk=<optimized out>, na=6, n=<optimized out>, pp_stack=0x7ffc7f132bb8, func=0x7fdab9b228c0) at Python/ceval.c:4129
#35 call_function (oparg=<optimized out>, pp_stack=0x7ffc7f132bb8) at Python/ceval.c:4054
#36 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2679
#37 0x00007fdabfa7ec6e in PyEval_EvalCodeEx (co=0x7fdabda9b7b0, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=7, kws=0x7fdab6c70628, kwcount=0, defs=0x7fdab9b1d5a8, defcount=7, closure=0x0) at Python/ceval.c:3265
#38 0x00007fdabfa7d2aa in fast_function (nk=<optimized out>, na=7, n=<optimized out>, pp_stack=0x7ffc7f132db8, func=0x7fdab9b229b0) at Python/ceval.c:4129
#39 call_function (oparg=<optimized out>, pp_stack=0x7ffc7f132db8) at Python/ceval.c:4054
#40 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:2679
#41 0x00007fdabfa7ec6e in PyEval_EvalCodeEx (co=0x7fdabfdcbc30, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=1, kws=0x0, kwcount=0, defs=0x7fdabda931a8, defcount=3, closure=0x0) at Python/ceval.c:3265
#42 0x00007fdabf9fc851 in function_call (func=0x7fdab9b25398, arg=0x7fdabfe1ebd0, kw=0x0) at Objects/funcobject.c:526
#43 0x00007fdabf9cd323 in PyObject_Call (func=0x7fdab9b25398, arg=<optimized out>, kw=<optimized out>) at Objects/abstract.c:2529
#44 0x00007fdabfa76823 in PyEval_CallObjectWithKeywords (func=0x7fdab9b25398, arg=0x7fdabfe1ebd0, kw=<optimized out>) at Python/ceval.c:3902
#45 0x00007fdabdf5bac4 in array_str (self=<optimized out>) at numpy/core/src/multiarray/arrayobject.c:664
#46 0x00007fdabfa1999b in _PyObject_Str (v=0x7fdab0a48df0) at Objects/object.c:430
#47 0x00007fdabfa19a8a in PyObject_Str (v=<optimized out>) at Objects/object.c:451
#48 0x00007fdabfa19be2 in internal_print (op=0x7fdab0a48df0, fp=0x7fdabf057740 <_IO_2_1_stdout_>, flags=<optimized out>, nesting=0) at Objects/object.c:303
#49 0x00007fdabf9f4e48 in file_PyObject_Print (flags=1, f=0x7fdabff69150, op=0x7fdab0a48df0) at Objects/fileobject.c:110
#50 PyFile_WriteObject (v=<optimized out>, f=0x7fdabff69150, flags=1) at Objects/fileobject.c:2579
#51 0x00007fdabfa7b600 in PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at Python/ceval.c:1771
#52 0x00007fdabfa7ec6e in PyEval_EvalCodeEx (co=0x7fdabfe77e30, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3265
#53 0x00007fdabfa7ed82 in PyEval_EvalCode (co=<optimized out>, globals=<optimized out>, locals=<optimized out>) at Python/ceval.c:667
#54 0x00007fdabfa9eba0 in run_mod (arena=0x6825b0, flags=0x7ffc7f133480, locals=0x7fdabff17168, globals=0x7fdabff17168, filename=<optimized out>, mod=0x6c4f48) at Python/pythonrun.c:1371
#55 PyRun_FileExFlags (fp=0x6c8d10, filename=<optimized out>, start=<optimized out>, globals=0x7fdabff17168, locals=0x7fdabff17168, closeit=1, flags=0x7ffc7f133480) at Python/pythonrun.c:1357
#56 0x00007fdabfa9ed7f in PyRun_SimpleFileExFlags (fp=0x6c8d10, filename=0x7ffc7f135031 "bla.py", closeit=1, flags=0x7ffc7f133480) at Python/pythonrun.c:949
#57 0x00007fdabfab4664 in Py_Main (argc=<optimized out>, argv=<optimized out>) at Modules/main.c:645
#58 0x00007fdabecd9800 in __libc_start_main () from /usr/lib/libc.so.6
#59 0x0000000000400649 in _start ()
===========================================================

The error also changes depending on which variables are read in.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions