Open yarikoptic opened 5 years ago
Thanks for this report @yarikoptic. It's important for us to understand the limits of our OS support. I would think the issue is probably an HDF5 version problem. What are the HDF5 versions on the two systems? Is HDF5 version linked to h5py version in some way?
on that Debian one:
# ldd /usr/lib/python2.7/dist-packages/h5py/h5t.x86_64-linux-gnu.so
linux-vdso.so.1 (0x00007fffd37fa000)
/usr/lib/cowdancer/libcowdancer.so (0x00007f7b8e10e000)
libhdf5_serial.so.100 => /usr/lib/x86_64-linux-gnu/libhdf5_serial.so.100 (0x00007f7b8dba6000)
libhdf5_serial_hl.so.100 => /usr/lib/x86_64-linux-gnu/libhdf5_serial_hl.so.100 (0x00007f7b8d982000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f7b8d765000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7b8d3c6000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f7b8d1c2000)
libncurses.so.5 => /lib/x86_64-linux-gnu/libncurses.so.5 (0x00007f7b8cf9f000)
libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f7b8cd75000)
libsz.so.2 => /usr/lib/x86_64-linux-gnu/libsz.so.2 (0x00007f7b8cb72000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f7b8c958000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f7b8c654000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7b8e580000)
libaec.so.0 => /usr/lib/x86_64-linux-gnu/libaec.so.0 (0x00007f7b8c44c000)
# dpkg -S /usr/lib/x86_64-linux-gnu/libhdf5_serial.so.100
libhdf5-100:amd64: /usr/lib/x86_64-linux-gnu/libhdf5_serial.so.100
# apt-cache policy libhdf5-100
libhdf5-100:
Installed: 1.10.0-patch1+docs-3+deb9u1
Candidate: 1.10.0-patch1+docs-3+deb9u1
Version table:
*** 1.10.0-patch1+docs-3+deb9u1 500
500 http://127.0.0.1:3142/debian stretch/main amd64 Packages
100 /var/lib/dpkg/status
I would have said you are right that the cause is within the libhdf5 library itself, since upgrade to h5py 2.7.1 build didn't resolve the test failure :-/ but it is the same version of libhdf5-100 as on later Debians: https://packages.debian.org/search?keywords=libhdf5-100
he hey -- I was wrong! I have missed that the failure after "upgrade" of h5py was in python3 run, and I've upgraded only python2 version.... confirming now that upgrade to h5py 2.7.1 resolves the failure there. Unfortunately auto-backporting of 2.7.1 to ubuntu 16.04 fails (errors seems to point to absent linkage to libpython, but probably I will not mess with it ATM), so for now let's conclude that h5py 2.7.1 should be the minimal version to depend on ;)
Since you are using h5py 2.7 I am wondering whether this is related to the following issue in h5py which was reported after the 2.7 release:
@oruebel Since 3cc55d40 (Pin specific package versions in requirements, 2017-10-23) we are requiring h5py 2.7.1 in requirements.txt.
@t-b it might be worth trying to update to h5py 2.8 so see if that fixes the issue
1) Bug
Steps to Reproduce
Running tests (using python -m unittest2) while building a backport package for Debian stretch (amd64), test_roundtrip in both tests.integration.ui_write.test_ophys.TestPlaneSegmentation and tests.integration.ui_write.test_ophys.TestRoiResponseSeriesIO error out with
h5py there is 2.7.0-1. This issue doesn't happen on newer Debian/Ubuntu's, and Ubuntu 16.04 (h5py 2.6.0-1) python segfaults at that point:
full build logs if you need more context information are available from http://neuro.debian.net/_files/_buildlogs/pynwb/0.4.1+git41-gc3a1bed
Any clues?
It is probably the h5py's problem, but wondered if you encountered and what should I do - not provide package for those platforms, skip this problematic test, or there is a way around? meanwhile I will see if backporting h5py 2.7.1 for them would be easy (seems to not show that problem on ubuntu 17.10)
Environment
Please describe your environment according to the following bullet points.
Python Executable: Python
Python Version: Python 2.7
Operating System: Debian GNU/Linux
Pynwb Version: 0.4.1+git41-gc3a1bed
[x] Have you ensured the feature or change was not already reported ?
[x] Have you included a brief and descriptive title?
[x] Have you included a clear description of the problem you are trying to solve?
[N/A ] Have you included a minimal code snippet that reproduces the issue you are encountering?