Skip to content

Crash of h5extract with xrootd streaming

Summary

When using h5extract on an xrootd-streamed file, it crashes

Environment

CC-Lyon with module load km3net_soft_env/2.2

  • KM3Pipe version (km3pipe --version): KM3Pipe 9.13.11
  • Python version (python --version): Python 3.7.5
  • OS: (uname -a) Linux cca020 3.10.0-1160.102.1.el7.x86_64 #1 (closed) SMP Tue Oct 17 15:42:21 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Additional information

Describe the current bug behavior

h5extractf -o test.h5 root://ccxroot:1999//hpss/in2p3.fr/group/km3net/data/KM3NeT_00000049/v7.2/reco/datav7.2.jorcarec.aanet.00007254.root
2023-11-03 15:50:30 WARNING ++ Provenance: Provenance output file (test.h5.prov.json) exists and will be overwritten upon exit.
Traceback (most recent call last):
  File "/pbs/throng/km3net/software/python/3.7.5/bin/h5extractf", line 8, in <module>
    sys.exit(main())
  File "/pbs/throng/km3net/software/python/3.7.5/lib/python3.7/site-packages/km3pipe/utils/h5extractf.py", line 391, in main
    without_calibration=args["--without-calibration"],
  File "/pbs/throng/km3net/software/python/3.7.5/lib/python3.7/site-packages/km3pipe/utils/h5extractf.py", line 119, in h5extractf
    with km3io.OfflineReader(root_file) as r:
  File "/pbs/home/g/graf/.local/lib/python3.7/site-packages/km3io/rootio.py", line 55, in __init__
    self._fobj = uproot.open(f)
  File "/pbs/throng/km3net/software/python/3.7.5/lib/python3.7/site-packages/uproot/reading.py", line 148, in open
    **options,  # NOTE: a comma after **options breaks Python 2
  File "/pbs/throng/km3net/software/python/3.7.5/lib/python3.7/site-packages/uproot/reading.py", line 581, in __init__
    file_path, **self._options  # NOTE: a comma after **options breaks Python 2
  File "/pbs/throng/km3net/software/python/3.7.5/lib/python3.7/site-packages/uproot/source/xrootd.py", line 272, in __init__
    self._open()
  File "/pbs/throng/km3net/software/python/3.7.5/lib/python3.7/site-packages/uproot/source/xrootd.py", line 275, in _open
    self._resource = XRootDResource(self._file_path, self._timeout)
  File "/pbs/throng/km3net/software/python/3.7.5/lib/python3.7/site-packages/uproot/source/xrootd.py", line 83, in __init__
    self._open()
  File "/pbs/throng/km3net/software/python/3.7.5/lib/python3.7/site-packages/uproot/source/xrootd.py", line 86, in _open
    XRootD_client = uproot.extras.XRootD_client()
  File "/pbs/throng/km3net/software/python/3.7.5/lib/python3.7/site-packages/uproot/extras.py", line 75, in XRootD_client
    import XRootD.client
  File "/pbs/software/centos-7-x86_64/xrootd/4.8.1/lib/python2.7/site-packages/XRootD/client/__init__.py", line 3, in <module>
    from .filesystem import FileSystem as FileSystem
  File "/pbs/software/centos-7-x86_64/xrootd/4.8.1/lib/python2.7/site-packages/XRootD/client/filesystem.py", line 26, in <module>
    from pyxrootd import client
ImportError: /pbs/software/centos-7-x86_64/xrootd/4.8.1/lib/python2.7/site-packages/pyxrootd/client.so: undefined symbol: _Py_ZeroStruct
Provenance information has been written to 'test.hd5.prov.json'

Describe the expected correct behavior

test.h5 should be generated.

Steps to reproduce

see above.

Relevant logs and/or screenshots

see above

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information