# Slicer crashes when creating h5 file

**URL:** <https://discourse.slicer.org/t/slicer-crashes-when-creating-h5-file/19733>\
**Category:** Support\
**Tags:** bug, python\
**Created:** [September 18, 2021, 12:10am UTC](https://discourse.slicer.org/t/slicer-crashes-when-creating-h5-file/19733 "2021-09-18T00:10:16Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![szymswiat](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/szymswiat/32/12405_2.png) [@szymswiat](https://discourse.slicer.org/u/szymswiat)\
**Post date:** [September 18, 2021, 12:10am UTC](https://discourse.slicer.org/t/slicer-crashes-when-creating-h5-file/19733/1 "2021-09-18T00:10:16Z")

</div>

Problem report for Slicer 4.13.0-2021-09-13 linux-amd64:

When I’m trying to create h5 file in scripted module using h5py package, Slicer 4.13 crashes without any error (even in attached debugger). File appears in filesystem without content (0 bytes).  
Does not occur on Slicer 4.11.

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [September 18, 2021, 12:22am UTC](https://discourse.slicer.org/t/slicer-crashes-when-creating-h5-file/19733/2 "2021-09-18T00:22:02Z")

</div>

Can you provide a short script that reproduces the issue?

What Linux are you using?

---

<div class="post-metadata">

**Author:** ![szymswiat](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/szymswiat/32/12405_2.png) [@szymswiat](https://discourse.slicer.org/u/szymswiat)\
**Post date:** [September 18, 2021, 6:51pm UTC](https://discourse.slicer.org/t/slicer-crashes-when-creating-h5-file/19733/3 "2021-09-18T18:51:48Z")

</div>

My OS: Ubuntu 20.04.3 LTS (Focal Fossa)  
Kernel version: 5.9.0-050900-generic

Just type in console:

```python
import h5py
f = h5py.File('new_file.h5', 'w')

```

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [September 20, 2021, 1:21am UTC](https://discourse.slicer.org/t/slicer-crashes-when-creating-h5-file/19733/4 "2021-09-20T01:21:07Z")

</div>

I was able to reproduce the issue.

It seems that HDF5 that is shipped with ITK-5.2 conflicts with HDF in h5py.

> **gdb traceback result**
>
> Program terminated with signal SIGSEGV, Segmentation fault.
> 
> #0 0x00007f6c491e0e54 in itk\_H5F\_get\_intent () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Slicer-4.13/libitkhdf5-shared-5.2.so.1
> 
> [Current thread is 1 (Thread 0x7f6c47622540 (LWP 586093))]
> 
> (gdb) backtrace
> 
> #0 0x00007f6c491e0e54 in itk\_H5F\_get\_intent () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Slicer-4.13/libitkhdf5-shared-5.2.so.1
> 
> #1 0x00007f6c4929241e in H5O\_\_create\_ohdr () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Slicer-4.13/libitkhdf5-shared-5.2.so.1
> 
> #2 0x00007f6bfc4ac53c in H5O\_create () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/lib/Python/lib/python3.6/site-packages/h5py/…/h5py.libs/libhdf5-00e8fae8.so.200.0.0
> 
> #3 0x00007f6bfc43caeb in H5G\_\_obj\_create\_real () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/lib/Python/lib/python3.6/site-packages/h5py/…/h5py.libs/libhdf5-00e8fae8.so.200.0.0
> 
> #4 0x00007f6bfc43cce1 in H5G\_\_obj\_create () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/lib/Python/lib/python3.6/site-packages/h5py/…/h5py.libs/libhdf5-00e8fae8.so.200.0.0
> 
> #5 0x00007f6bfc43f6c9 in H5G\_mkroot () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/lib/Python/lib/python3.6/site-packages/h5py/…/h5py.libs/libhdf5-00e8fae8.so.200.0.0
> 
> #6 0x00007f6bfc3f8e5e in H5F\_open () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/lib/Python/lib/python3.6/site-packages/h5py/…/h5py.libs/libhdf5-00e8fae8.so.200.0.0
> 
> #7 0x00007f6bfc6006a5 in H5VL\_\_native\_file\_create () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/lib/Python/lib/python3.6/site-packages/h5py/…/h5py.libs/libhdf5-00e8fae8.so.200.0.0
> 
> #8 0x00007f6bfc5ed287 in H5VL\_file\_create () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/lib/Python/lib/python3.6/site-packages/h5py/…/h5py.libs/libhdf5-00e8fae8.so.200.0.0
> 
> #9 0x00007f6bfc3ea9ab in H5Fcreate () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/lib/Python/lib/python3.6/site-packages/h5py/…/h5py.libs/libhdf5-00e8fae8.so.200.0.0
> 
> #10 0x00007f6bfaf3219b in \_\_pyx\_f\_4h5py\_4defs\_H5Fcreate () at /tmp/pip-req-build-sxro7y2n/h5py/defs.c:11009
> 
> #11 0x00007f6b8f790fc9 in \_\_pyx\_pf\_4h5py\_3h5f\_2create () at /tmp/pip-req-build-sxro7y2n/h5py/h5f.c:2787
> 
> #12 \_\_pyx\_pw\_4h5py\_3h5f\_3create () at /tmp/pip-req-build-sxro7y2n/h5py/h5f.c:2749
> 
> #13 0x00007f6c56c1ed49 in PyCFunction\_Call () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #14 0x00007f6bfacf5a0c in \_\_Pyx\_PyObject\_Call () at /tmp/pip-req-build-sxro7y2n/h5py/\_objects.c:12946
> 
> #15 0x00007f6bfad00162 in \_\_pyx\_pf\_4h5py\_8\_objects\_9with\_phil\_wrapper () at /tmp/pip-req-build-sxro7y2n/h5py/\_objects.c:4118
> 
> #16 \_\_pyx\_pw\_4h5py\_8\_objects\_9with\_phil\_1wrapper () at /tmp/pip-req-build-sxro7y2n/h5py/\_objects.c:4039
> 
> #17 0x00007f6c56bd18ca in \_PyObject\_FastCallDict () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #18 0x00007f6c56bd1d30 in \_PyObject\_FastCallKeywords () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #19 0x00007f6c56ca5f2b in ?? () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #20 0x00007f6c56caad28 in \_PyEval\_EvalFrameDefault () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #21 0x00007f6c56ca5ddd in ?? () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #22 0x00007f6c56ca6076 in ?? () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #23 0x00007f6c56caad28 in \_PyEval\_EvalFrameDefault () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #24 0x00007f6c56ca5ddd in ?? () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #25 0x00007f6c56cae675 in \_PyFunction\_FastCallDict () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #26 0x00007f6c56bd19a6 in \_PyObject\_FastCallDict () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #27 0x00007f6c56bd1a9d in \_PyObject\_Call\_Prepend () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #28 0x00007f6c56bd176a in PyObject\_Call () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #29 0x00007f6c56c3aef9 in ?? () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #30 0x00007f6c56c35fe3 in ?? () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #31 0x00007f6c56bd18ca in \_PyObject\_FastCallDict () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #32 0x00007f6c56ca5f2b in ?? () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #33 0x00007f6c56ca9c8d in \_PyEval\_EvalFrameDefault () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #34 0x00007f6c56ca5ddd in ?? () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #35 0x00007f6c56ca639e in PyEval\_EvalCodeEx () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #36 0x00007f6c56ca63cb in PyEval\_EvalCode () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #37 0x00007f6c56ca355d in ?? () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #38 0x00007f6c56c1eba9 in \_PyCFunction\_FastCallDict () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #39 0x00007f6c56ca615f in ?? () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #40 0x00007f6c56ca9c8d in \_PyEval\_EvalFrameDefault () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #41 0x00007f6c56ca5423 in ?? () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #42 0x00007f6c56ca6341 in ?? () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #43 0x00007f6c56ca9c8d in \_PyEval\_EvalFrameDefault () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #44 0x00007f6c56ca5ddd in ?? () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #45 0x00007f6c56ca6076 in ?? () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #46 0x00007f6c56ca9c8d in \_PyEval\_EvalFrameDefault () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #47 0x00007f6c56ca5423 in ?? () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #48 0x00007f6c56cae7e7 in \_PyFunction\_FastCallDict () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #49 0x00007f6c56bd19a6 in \_PyObject\_FastCallDict () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #50 0x00007f6c56bd1a9d in \_PyObject\_Call\_Prepend () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #51 0x00007f6c56bd18ca in \_PyObject\_FastCallDict () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #52 0x00007f6c56bd2234 in PyObject\_CallMethod () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Python/lib/libpython3.6m.so
> 
> #53 0x00007f6c7e1433a2 in ?? () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Slicer-4.13/libCTKScriptingPythonWidgets.so.0.1
> 
> #54 0x00007f6c7e143a81 in ctkPythonConsole::executeCommand(QString const&) () from /home/perklab/Slicer/Slicer-4.13.0-2021-09-10-linux-amd64/bin/…/lib/Slicer-4.13/libCTKScriptingPythonWidgets.so.0.1

I’ve tried a quick ugly workaround of copying libitkhdf\* libraries (renaming them with `-shared-5.2` suffix) from Slicer-4.11.20210226:

- libitkhdf5\_cpp-shared-5.2.so
- libitkhdf5\_cpp-shared-5.2.so.1
- libitkhdf5-shared-5.2.so
- libitkhdf5-shared-5.2.so.1

After this, Slicer did not crash when opened the h5 file, but I did not go any further with the testing.

You may ask ITK developers about this, but HDF5 very often has such problems.

Maybe you can use the more modern and Pythonic Zarr container instead.

---

<div class="post-metadata">

**Author:** ![szymswiat](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/szymswiat/32/12405_2.png) [@szymswiat](https://discourse.slicer.org/u/szymswiat)\
**Post date:** [September 21, 2021, 7:21pm UTC](https://discourse.slicer.org/t/slicer-crashes-when-creating-h5-file/19733/5 "2021-09-21T19:21:28Z")

</div>

Thanks for suggestion, I switched to zarr ;).
