A crash while using PyROOT

I’m working on a machine learning task using PyROOT Now. My program read the value from a tree, then transfer it to numpy array, however, sometimes, the program work well, sometimes it encounters a crash like below(usually it happen when I want to deal with more data while the memory is enough), because it doesn’t provide any useful information, I can’t track where is wrong, does somebody know something, if you can give any prompting, I will be very appreciate:

*** Break *** segmentation violation

===========================================================
There was a crash (#8 0xb5068ebb in SigHandler(ESignals) () from /home/xiaodan/root/lib/libCore.so).
This is the entire stack trace of all threads:

Thread 3 (Thread 0xb3f71b40 (LWP 31995)):
#0 0xb7782424 in __kernel_vsyscall ()
#1 0xb775ccc5 in sem_wait

GLIBC_2.1 () at …/nptl/sysdeps/unix/sysv/linux/i386/i686/…/i486/sem_wait.S:80
#2 0x08169fa6 in PyEval_RestoreThread ()
#3 0x0818772f in ?? ()
#4 0x081949c1 in PyEval_EvalFrameEx ()
#5 0x0819af70 in PyEval_EvalCodeEx ()
#6 0x0819c972 in ?? ()
#7 0x081287ef in PyObject_Call ()
#8 0x081964bb in PyEval_EvalFrameEx ()
#9 0x08194eec in PyEval_EvalFrameEx ()
#10 0x08194eec in PyEval_EvalFrameEx ()
#11 0x0819af70 in PyEval_EvalCodeEx ()
#12 0x0819c82e in ?? ()
#13 0x081287ef in PyObject_Call ()
#14 0x080d8e37 in ?? ()
#15 0x081287ef in PyObject_Call ()
#16 0x08128c59 in PyEval_CallObjectWithKeywords ()
#17 0x0807c8ed in ?? ()
#18 0xb7756d4c in start_thread (arg=0xb3f71b40) at pthread_create.c:308
#19 0xb7473f4e in clone () at …/sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0xb2a23b40 (LWP 31996)):
#0 0xb7782424 in __kernel_vsyscall ()
#1 0xb775ccc5 in sem_wait

GLIBC_2.1 () at …/nptl/sysdeps/unix/sysv/linux/i386/i686/…/i486/sem_wait.S:80
#2 0x0815e3c9 in ?? ()
#3 0x081949c1 in PyEval_EvalFrameEx ()
#4 0x0819af70 in PyEval_EvalCodeEx ()
#5 0x08194dfc in PyEval_EvalFrameEx ()
#6 0x0819af70 in PyEval_EvalCodeEx ()
#7 0x08194dfc in PyEval_EvalFrameEx ()
#8 0x0819af70 in PyEval_EvalCodeEx ()
#9 0x0819c972 in ?? ()
#10 0x081287ef in PyObject_Call ()
#11 0x081964bb in PyEval_EvalFrameEx ()
#12 0x0819af70 in PyEval_EvalCodeEx ()
#13 0x08194dfc in PyEval_EvalFrameEx ()
#14 0x08194eec in PyEval_EvalFrameEx ()
#15 0x08194eec in PyEval_EvalFrameEx ()
#16 0x0819af70 in PyEval_EvalCodeEx ()
#17 0x0819c82e in ?? ()
#18 0x081287ef in PyObject_Call ()
#19 0x080d8e37 in ?? ()
#20 0x081287ef in PyObject_Call ()
#21 0x08128c59 in PyEval_CallObjectWithKeywords ()
#22 0x0807c8ed in ?? ()
#23 0xb7756d4c in start_thread (arg=0xb2a23b40) at pthread_create.c:308
#24 0xb7473f4e in clone () at …/sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb7339b00 (LWP 31987)):
#0 0xb7782424 in __kernel_vsyscall ()
#1 0xb743cb7b in waitpid () at …/sysdeps/unix/syscall-template.S:82
#2 0xb73c4003 in do_system (line=0xb1f01500 “/home/xiaodan/root/etc/gdb-backtrace.sh 31987 1>&2”) at …/sysdeps/posix/system.c:149
#3 0xb73c44ba in __libc_system (line=0xb1f01500 “/home/xiaodan/root/etc/gdb-backtrace.sh 31987 1>&2”) at …/sysdeps/posix/system.c:190
#4 0xb775ee2b in system (line=0xb1f01500 “/home/xiaodan/root/etc/gdb-backtrace.sh 31987 1>&2”) at pt-system.c:29
#5 0xb5061c7b in TUnixSystem::Exec(char const*) () from /home/xiaodan/root/lib/libCore.so
#6 0xb5066280 in TUnixSystem::StackTrace() () from /home/xiaodan/root/lib/libCore.so
#7 0xb5068da7 in TUnixSystem::DispatchSignals(ESignals) () from /home/xiaodan/root/lib/libCore.so
#8 0xb5068ebb in SigHandler(ESignals) () from /home/xiaodan/root/lib/libCore.so
#9 0xb505feb2 in sighandler(int) () from /home/xiaodan/root/lib/libCore.so
#10
#11 0xb6edd00e in ?? () from /usr/lib/python2.7/dist-packages/numpy/core/umath.so
#12 0xb6ef6b0c in ?? () from /usr/lib/python2.7/dist-packages/numpy/core/umath.so
#13 0xb6ef783f in ?? () from /usr/lib/python2.7/dist-packages/numpy/core/umath.so
#14 0x081287ef in PyObject_Call ()
#15 0x080b49ce in _PyObject_CallFunction_SizeT ()
#16 0xb6fa6f99 in ?? () from /usr/lib/python2.7/dist-packages/numpy/core/multiarray.so
#17 0xb6fb7b52 in ?? () from /usr/lib/python2.7/dist-packages/numpy/core/multiarray.so
#18 0x08125147 in ?? ()
#19 0x08196128 in PyEval_EvalFrameEx ()
#20 0x08194eec in PyEval_EvalFrameEx ()
#21 0x08194eec in PyEval_EvalFrameEx ()
#22 0x08194eec in PyEval_EvalFrameEx ()
#23 0x0819af70 in PyEval_EvalCodeEx ()
#24 0x08194dfc in PyEval_EvalFrameEx ()
#25 0x0819af70 in PyEval_EvalCodeEx ()
#26 0x08194dfc in PyEval_EvalFrameEx ()
#27 0x0819af70 in PyEval_EvalCodeEx ()
#28 0x0819b8a1 in PyRun_FileExFlags ()
#29 0x080a8bda in PyRun_SimpleFileExFlags ()
#30 0x080a9949 in Py_Main ()
#31 0x0805ea5b 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.

#11 0xb6edd00e in ?? () from /usr/lib/python2.7/dist-packages/numpy/core/umath.so
#12 0xb6ef6b0c in ?? () from /usr/lib/python2.7/dist-packages/numpy/core/umath.so
#13 0xb6ef783f in ?? () from /usr/lib/python2.7/dist-packages/numpy/core/umath.so
#14 0x081287ef in PyObject_Call ()
#15 0x080b49ce in _PyObject_CallFunction_SizeT ()
#16 0xb6fa6f99 in ?? () from /usr/lib/python2.7/dist-packages/numpy/core/multiarray.so
#17 0xb6fb7b52 in ?? () from /usr/lib/python2.7/dist-packages/numpy/core/multiarray.so
#18 0x08125147 in ?? ()
#19 0x08196128 in PyEval_EvalFrameEx ()
#20 0x08194eec in PyEval_EvalFrameEx ()
#21 0x08194eec in PyEval_EvalFrameEx ()
#22 0x08194eec in PyEval_EvalFrameEx ()
#23 0x0819af70 in PyEval_EvalCodeEx ()
#24 0x08194dfc in PyEval_EvalFrameEx ()
#25 0x0819af70 in PyEval_EvalCodeEx ()
#26 0x08194dfc in PyEval_EvalFrameEx ()
#27 0x0819af70 in PyEval_EvalCodeEx ()
#28 0x0819b8a1 in PyRun_FileExFlags ()
#29 0x080a8bda in PyRun_SimpleFileExFlags ()
#30 0x080a9949 in Py_Main ()
#31 0x0805ea5b in main ()

numpy sometimes copies pointers, rather than all the values of the array, for efficiency. Deleting the original array will then lead to trouble.

Other than that, it’s hard to say anything w/o seeing a code sample.

Cheers,
Wim