I am trying to use h5repack to apply compression to an existing uncompressed dataset. I am attempting to use custom filter id = 32016 (B3D https://github.com/openmicroscopy/B3D). I have installed B3D and confirmed that it functions properly and is recognized by my HDF5 installation (the sample python script included with B3D runs properly).
However when I try to use h5repack with the following command, I get the following error:
Note that these 5 inputs are identical to what is executed in the python sample script with no errors.
Thanks!
Adam
Using CUDA device [0]: TITAN Xp
HDF5-DIAG: Error detected in HDF5 (1.8.20) thread 0: #000: C:\Users\buildbot\Buildbot\hdf518-StdRelease-code-vs14\build\hdfsrc\src
H5T.c line 2090 in H5Tget_size(): not a datatype
major: Invalid arguments to routine
minor: Inappropriate type
HDF5-DIAG: Error detected in HDF5 (1.8.20) thread 0: #000: C:\Users\buildbot\Buildbot\hdf518-StdRelease-code-vs14\build\hdfsrc\src
H5Torder.c line 127 in H5Tget_order(): not a datatype
major: Datatype
minor: Inappropriate type
HDF5-DIAG: Error detected in HDF5 (1.8.20) thread 0: #000: C:\Users\buildbot\Buildbot\hdf518-StdRelease-code-vs14\build\hdfsrc\src
H5T.c line 1835 in H5Tget_class(): not a datatype
major: Invalid arguments to routine
minor: Inappropriate type
HDF5-DIAG: Error detected in HDF5 (1.8.20) thread 0: #000: C:\Users\buildbot\Buildbot\hdf518-StdRelease-code-vs14\build\hdfsrc\src
H5Pocpl.c line 1090 in H5Pget_filter_by_id2(): can’t find object for ID
major: Object atom
minor: Unable to find atom information (already closed?) #001: C:\Users\buildbot\Buildbot\hdf518-StdRelease-code-vs14\build\hdfsrc\src
H5Pint.c line 3379 in H5P_object_verify(): property list is not a member of the
class
major: Property lists
minor: Unable to register new atom #002: C:\Users\buildbot\Buildbot\hdf518-StdRelease-code-vs14\build\hdfsrc\src
H5Pint.c line 3329 in H5P_isa_class(): not a property list
major: Invalid arguments to routine
minor: Inappropriate type
I know there have been bugs in the command line parsing of filter parameters in the h5repack tool (I was also bitten when trying to use the Blosc filter).
Not sure in which version the fix for that bug finally landed, you’ll have to check Git history. Also not sure if that’s the issue you’re running into, but it could be.
Using CUDA device [0]: TITAN Xp
HDF5-DIAG: Error detected in HDF5 (1.8.20) thread 0: #000: C:\Users\buildbot\Buildbot\hdf518-StdRelease-code-vs14\build\hdfsrc\src
H5T.c line 2090 in H5Tget_size(): not a datatype
major: Invalid arguments to routine
minor: Inappropriate type
HDF5-DIAG: Error detected in HDF5 (1.8.20) thread 0: #000: C:\Users\buildbot\Buildbot\hdf518-StdRelease-code-vs14\build\hdfsrc\src
H5Torder.c line 127 in H5Tget_order(): not a datatype
major: Datatype
minor: Inappropriate type
HDF5-DIAG: Error detected in HDF5 (1.8.20) thread 0: #000: C:\Users\buildbot\Buildbot\hdf518-StdRelease-code-vs14\build\hdfsrc\src
H5T.c line 1835 in H5Tget_class(): not a datatype
major: Invalid arguments to routine
minor: Inappropriate type
HDF5-DIAG: Error detected in HDF5 (1.8.20) thread 0: #000: C:\Users\buildbot\Buildbot\hdf518-StdRelease-code-vs14\build\hdfsrc\src
H5Pocpl.c line 1090 in H5Pget_filter_by_id2(): can’t find object for ID
major: Object atom
minor: Unable to find atom information (already closed?) #001: C:\Users\buildbot\Buildbot\hdf518-StdRelease-code-vs14\build\hdfsrc\src
H5Pint.c line 3379 in H5P_object_verify(): property list is not a member of the
class
major: Property lists
minor: Unable to register new atom #002: C:\Users\buildbot\Buildbot\hdf518-StdRelease-code-vs14\build\hdfsrc\src
H5Pint.c line 3329 in H5P_isa_class(): not a property list
major: Invalid arguments to routine
minor: Inappropriate type
I think the parsing error was fixed in version 1.8.18. In this case the filter plugin calls back to the hdf5 library, so the dynamic library stack should be used. Using h5repack-shared instead of h5repack worked for me with the filter: