Closed SujitC closed 2 years ago
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.
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.
Hello, I get the same error (https://github.com/h5py/h5py/issues/923#issue-256975657) 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
001: 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
002: 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
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
001: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5VLcallback.c line 1869 in H5VL_dataset_create(): dataset create failed
002: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5VLcallback.c line 1835 in H5VL__dataset_create(): dataset create failed
003: 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
004: 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
005: 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
006: 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
007: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5Gtraverse.c line 855 in H5G_traverse(): internal path traversal failed
008: C:\Projects\HDF5\CMake-hdf5-1.12.0\hdf5-1.12.0\src\H5Gtraverse.c line 630 in H5G__traverse_real(): traversal operator failed
009: 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
010: 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
011: 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
012: 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
013: 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
014: 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
015: 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
failed to create dataset.
Kindly suggest the solution to make the bitshuffle algorithm work in my enviornment. Thanks.