Hi,
I’m using pyroot on lxplus and wrote a Framework, which does the Analysis I need in an automated way. However, when I run my script via a subprocess, I run into a Segmentation error:
The lines below might hint at the cause of the crash. If you see question
marks as part of the stack trace, try to recompile with debugging information
enabled and export CLING_DEBUG=1 environment variable before running.
You may get help by asking at the ROOT forum https://root.cern/forum
preferably using the command (.forum bug) in the ROOT prompt.
Only if you are really convinced it is a bug in ROOT then please submit a
report at https://root.cern/bugs or (preferably) using the command (.gh bug) in
the ROOT prompt. Please post the ENTIRE stack trace
from above as an attachment in addition to anything else
that might help us fixing this issue.
===========================================================
#6 0x0000557b5bac2340 in ?? ()
#7 0x00007f47f657775d in CPyCppyy::op_dealloc_nofree(CPyCppyy::CPPInstance*) () from /usr/lib64/python3.9/site-packages/libcppyy.so
#8 0x00007f47f65777a5 in CPyCppyy::op_dealloc(CPyCppyy::CPPInstance*) [clone .lto_priv.0] () from /usr/lib64/python3.9/site-packages/libcppyy.so
#9 0x00007f4808753b46 in subtype_dealloc () from /lib64/libpython3.9.so.1.0
#10 0x00007f480872246c in list_dealloc () from /lib64/libpython3.9.so.1.0
#11 0x00007f480872be68 in dict_dealloc () from /lib64/libpython3.9.so.1.0
#12 0x00007f480872be68 in dict_dealloc () from /lib64/libpython3.9.so.1.0
#13 0x00007f4808811bc6 in module_dealloc () from /lib64/libpython3.9.so.1.0
#14 0x00007f4808720b81 in insertdict () from /lib64/libpython3.9.so.1.0
#15 0x00007f4808811650 in _PyImport_Cleanup () from /lib64/libpython3.9.so.1.0
#16 0x00007f48088102ab in Py_FinalizeEx () from /lib64/libpython3.9.so.1.0
#17 0x00007f4808802c1d in Py_RunMain () from /lib64/libpython3.9.so.1.0
#18 0x00007f48087d502d in Py_BytesMain () from /lib64/libpython3.9.so.1.0
#19 0x00007f48082295d0 in __libc_start_call_main () from /lib64/libc.so.6
#20 0x00007f4808229680 in __libc_start_main_impl () from /lib64/libc.so.6
#21 0x0000557b0d195095 in _start ()
BUT my root script correctly runs until the end and generates my plots. If I run the script individually without a subprocess, I do not see the segmentation error. Hence I suppose, it has something to do with the subprocess itself.
This is how I call my subprocess:
result = subprocess.run(commandMHT, input = self.input_to_provide, text = True, check = True, env = self.env)
and my environment for the subprocess looks like this:
env = os.environ.copy()
env['CLING_DEBUG'] = '1'
env['OMP_NUM_THREADS'] = '1'
env['OPENBLAS_NUM_THREADS'] = '1'
If you need more detailed information, I can also point you to my gitlab repository and give the exact files in question. I hope my request does not lack important information, if so, please point me to it and I’ll happily provide more.
ROOT Version: 6.34.02
Platform: lxplus
Compiler: Not Provided