Source: h5py
Version: 2.8.0-1
Severity: serious
Tags: patch
Justification: FTBFS

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Hi,

h5py FTBFS against hdf5 1.10.4 now transitioning into unstable:
======================================================================
ERROR: test_force_swmr_mode_on_raises 
(h5py.tests.hl.test_dataset_swmr.TestDatasetSwmrRead)
Verify when reading a file cannot be forcibly switched to swmr mode.
- ----------------------------------------------------------------------
Traceback (most recent call last):
  File "h5py/tests/hl/test_dataset_swmr.py", line 75, in 
test_force_swmr_mode_on_raises
    self.f.swmr_mode = True
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "h5py/_hl/files.py", line 268, in swmr_mode
    self.id.start_swmr_write()
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "h5py/h5f.pyx", line 510, in h5py.h5f.FileID.start_swmr_write
TypeError: Unable to convert file format (no write intent on file)

======================================================================
ERROR: test_exc (h5py.tests.old.test_group.TestLen)
len() on closed group gives ValueError
- ----------------------------------------------------------------------
Traceback (most recent call last):
  File "h5py/tests/old/test_group.py", line 302, in test_exc
    len(self.f)
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "h5py/_hl/group.py", line 318, in __len__
    return self.id.get_num_objs()
  File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
  File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
  File "h5py/h5g.pyx", line 331, in h5py.h5g.GroupID.get_num_objs
TypeError: Not a location id (invalid object ID)

This is due to some changes introduced in hdf5 1.10.3. Please find attached
a patch backported from upstream repository.

Thanks,

_g.

- -- System Information:
Debian Release: buster/sid
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.14.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), 
LANGUAGE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEoJObzArDE05WtIyR7+hsbH/+z4MFAlv0eYsACgkQ7+hsbH/+
z4M1CQf/eNEpNVS++J7s9+9ydFCjv2PDDc7JOooChlJYhIfMFKe/aN6yUEWb6+qc
7bbk5Xx6oR+KU2OptDa9liUzSkvczzPB0KhGVpBOUSYKea3+g2ydCMf6m8KRJSPl
kecdlpOS+sOzzt9dxYqhzXIYk8qBduSu8eAjMx1iMYwr4HWELTm4zQ2YQXf1CGI3
bWzVI8K6iqOIQgfjpi+Jari3SWKtQ4vEHBAU50epHJsfnOibF4Fdlc5eqk76m6x7
43+LUAYJ4UAvbtXySh2g7lf/qEEcG4g3U+q0ARyJB6RwO1jXhRokoDPVYmVuiZox
7Oi9wDkmHDzhqmhg+QabZRXQZbrI4A==
=JQqV
-----END PGP SIGNATURE-----
diff -Nru h5py-2.8.0/debian/changelog h5py-2.8.0/debian/changelog
--- h5py-2.8.0/debian/changelog 2018-08-04 18:54:06.000000000 +0200
+++ h5py-2.8.0/debian/changelog 2018-10-14 22:52:25.000000000 +0200
@@ -1,3 +1,10 @@
+h5py (2.8.0-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * New patch hdf5-1.10.3-support.patch: fix FTBFS against HDF5 1.10.3
+
+ -- Gilles Filippini <p...@debian.org>  Sun, 14 Oct 2018 22:52:25 +0200
+
 h5py (2.8.0-1) unstable; urgency=medium
 
   * Team upload.
diff -Nru h5py-2.8.0/debian/patches/hdf5-1.10.3-support.patch 
h5py-2.8.0/debian/patches/hdf5-1.10.3-support.patch
--- h5py-2.8.0/debian/patches/hdf5-1.10.3-support.patch 1970-01-01 
01:00:00.000000000 +0100
+++ h5py-2.8.0/debian/patches/hdf5-1.10.3-support.patch 2018-10-14 
22:52:25.000000000 +0200
@@ -0,0 +1,32 @@
+Description: backport upstream patch to fix FTBFS against HDF5 1.10.3
+
+From 6653c65e8c8d024bbcf50315a1c5201487632322 Mon Sep 17 00:00:00 2001
+From: Thomas A Caswell <tcasw...@gmail.com>
+Date: Thu, 11 Oct 2018 23:39:29 -0400
+Subject: [PATCH] FIX: adjust mapping of hdf5 error codes -> python error codes
+
+This is to account for changes to hdf5 between 1.10.2 and 1.10.3.
+
+Closes #1088
+---
+ h5py/_errors.pyx | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/h5py/_errors.pyx b/h5py/_errors.pyx
+index 76801f4f..23849f49 100644
+--- a/h5py/_errors.pyx
++++ b/h5py/_errors.pyx
+@@ -73,6 +73,13 @@ _exact_table = {
+     (H5E_SYM, H5E_CANTINIT):        ValueError, # Object already exists/1.8
+     (H5E_ARGS, H5E_BADTYPE):        ValueError, # Invalid location in file
+     (H5E_REFERENCE, H5E_CANTINIT):  ValueError, # Dereferencing invalid ref
++
++    # needed for 1.10.3 to maintain compatibility with 1.10.{0,1,2}
++
++    # due to changes to H5Gdeprec.c:H5Gget_num_objs
++    (H5E_SYM, H5E_BADTYPE):         ValueError, # Invalid location in file
++    # due to changes to H5F.c:H5Fstart_swmr_write
++    (H5E_FILE, H5E_CANTCONVERT):    ValueError, # Invalid file format
+   }
+ 
+ cdef struct err_data_t:
diff -Nru h5py-2.8.0/debian/patches/series h5py-2.8.0/debian/patches/series
--- h5py-2.8.0/debian/patches/series    2018-08-04 18:00:39.000000000 +0200
+++ h5py-2.8.0/debian/patches/series    2018-10-14 22:51:48.000000000 +0200
@@ -1,2 +1,3 @@
 No-rpath.patch
 No-intersphinx.patch
+hdf5-1.10.3-support.patch

Reply via email to