In the method which does the output, i prepare the datatype for the compound data i want to write, together with a DataSpace and a DataSet, then i do
status = H5Sselect_hyperslab(hDataSpace, H5S_SELECT_SET,
&offset, &stride, &count, &block);
status = H5Dwrite(hDataSet, hAgentType, hMemSpace,
hDataSpace, H5P_DEFAULT, pSlab);
I have 20 elements i want to write. I set hMemSpace = H5Screate_simple (1, &dimsm, NULL);
. In the call to H5Sselect_hyperslab()??,
offsetis 0,
strideis 1,
count`` is 20 and block is 1.
But the call to H5Dwrite()
causes the following output on stderr:
HDF5-DIAG: Error detected in HDF5 (1.14.1) thread 0:
#000: H5D.c line 1390 in H5Dwrite(): can't synchronously write data
major: Dataset
minor: Write failed
#001: H5D.c line 1333 in H5D__write_api_common(): can't write data
major: Dataset
minor: Write failed
#002: H5VLcallback.c line 2282 in H5VL_dataset_write_direct(): dataset write failed
major: Virtual Object Layer
minor: Write failed
#003: H5VLcallback.c line 2237 in H5VL__dataset_write(): dataset write failed
major: Virtual Object Layer
minor: Write failed
#004: H5VLnative_dataset.c line 401 in H5VL__native_dataset_write(): unable to set up file and memory dataspaces
major: Dataset
minor: Unable to initialize object
#005: H5VLnative_dataset.c line 175 in H5VL__native_dataset_io_setup(): selection + offset not within extent for file dataspace
major: Dataspace
minor: Out of range
I have no idea what could cause a “synchronously written data” in #000
- this section is not called in a parallelized section of my code.
Also, i don’t exactly see where a range problem could occur.
Is there a procedure with which i can gain more knowledge about the cause of these errors?