Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error while running bitshuffle dynamic plugin #89

Closed
SujitC opened this issue Dec 10, 2020 · 2 comments
Closed

error while running bitshuffle dynamic plugin #89

SujitC opened this issue Dec 10, 2020 · 2 comments

Comments

@SujitC
Copy link

SujitC commented Dec 10, 2020

Hello,
I get the same error (h5py/h5py#923 (comment)) when running sample code from 'h5ex_d_bshuf.c' with following environment:

HDF5: 1.12.0 (built with cmake)
BitShuffle:
a. master built with above HDF5 or
b. release h5pl-1.12.0-win64
Visual Studio 2019, x64
Windows 10

Followed all the instruction given in https://portal.hdfgroup.org/display/support/HDF5+Filter+Plugins
other plugin filters like lzf and lz4 are working as expected.

Here is the error stack for reference...

BitShuffle filter is available for encoding and decoding.
....Create dataset ................
HDF5-DIAG: Error detected in HDF5 (1.12.0) thread 0:
#000: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5Pocpl.c line 1027 in H5Pget_filter_by_id2(): can't find object for ID
major: Object atom
minor: Unable to find atom information (already closed?)
#1: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5Pint.c line 4015 in H5P_object_verify(): property list is not a member of the class
major: Property lists
minor: Unable to register new atom
#2: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5Pint.c line 3965 in H5P_isa_class(): not a property list
major: Invalid arguments to routine
minor: Inappropriate type
HDF5-DIAG: Error detected in HDF5 (1.12.0) thread 0:
#000: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5D.c line 151 in H5Dcreate2(): unable to create dataset
major: Dataset
minor: Unable to initialize object
#1: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5VLcallback.c line 1869 in H5VL_dataset_create(): dataset create failed
major: Virtual Object Layer
minor: Unable to create file
#2: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5VLcallback.c line 1835 in H5VL__dataset_create(): dataset create failed
major: Virtual Object Layer
minor: Unable to create file
#3: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5VLnative_dataset.c line 75 in H5VL__native_dataset_create(): unable to create dataset
major: Dataset
minor: Unable to initialize object
#4: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5Dint.c line 411 in H5D__create_named(): unable to create and link to dataset
major: Dataset
minor: Unable to initialize object
#5: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5L.c line 1804 in H5L_link_object(): unable to create new link to object
major: Links
minor: Unable to initialize object
#6: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5L.c line 2045 in H5L__create_real(): can't insert link
major: Links
minor: Unable to insert object
#7: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5Gtraverse.c line 855 in H5G_traverse(): internal path traversal failed
major: Symbol table
minor: Object not found
#8: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5Gtraverse.c line 630 in H5G__traverse_real(): traversal operator failed
major: Symbol table
minor: Callback failed
#9: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5L.c line 1851 in H5L__link_cb(): unable to create object
major: Links
minor: Unable to initialize object
#10: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5Oint.c line 2522 in H5O_obj_create(): unable to open object
major: Object header
minor: Can't open object
#11: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5Doh.c line 301 in H5O__dset_create(): unable to create dataset
major: Dataset
minor: Unable to initialize object
#12: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5Dint.c line 1305 in H5D__create(): unable to set local filter parameters
major: Dataset
minor: Unable to initialize object
#13: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5Z.c line 935 in H5Z_set_local(): local filter parameters not set
major: Data filters
minor: Error from filter 'set local' callback
#14: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5Z.c line 864 in H5Z_prepare_prelude_callback_dcpl(): unable to apply filter
major: Data filters
minor: Error from filter 'can apply' callback
#15: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5Z.c line 779 in H5Z_prelude_callback(): error during user callback
major: Data filters
minor: Error from filter 'set local' callback
failed to create dataset.

Kindly suggest the solution to make the bitshuffle algorithm work in my enviornment.
Thanks.

@mkitti
Copy link

mkitti commented Feb 6, 2022

One way I ran into this problem was by having more than one HDF5 library (DLL) being involved. If you are using h5py, and you also followed the instructions from HDF Group, then you quite possibly have two copies of the HDF5 library being loaded (one from HDF Group and another via your h5py install).

The problem is that the property list gets created in one HDF5 library, but then the plugin calls back into another HDF5 library, which has no idea what property list id you are talking about because it did not create it.

@jrs65
Copy link
Collaborator

jrs65 commented Feb 25, 2022

I believe this will be fixed with the recent changes to dynamically load the libhdf5 library at run time. Let me know if you have any further issues.

@jrs65 jrs65 closed this as completed Feb 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants