Bug on hdf5-1.12.0 Fortran/parallel



I change my version of hdf5 from 1.10.5 to 1.12.0. Now, when I save a file I get this error (at the second save):

Error termination. Backtrace:
At line 5613 of file H5_gen.F90
Fortran runtime error: Index ‘1’ of dimension 4 of array ‘buf’ above upper bound of -20

Error termination. Backtrace:
#0 0x7f8e88e702da in ???
#1 0x7f8e88e70ec5 in ???
#2 0x7f8e88e71297 in ???
#0 0x7f5ccd3b12da in ???
#1 0x7f5ccd3b1ec5 in ???
#2 0x7f5ccd3b2297 in ???
#3 0x7f8e892703a9 in __h5_gen_MOD_h5dwrite_rkind_8_rank_4
at /home/u39974/hdf5-1.12.0/fortran/src/H5_gen.F90:5613

Can someone look at this ? If you want the file I use to create this bug, feel free to ask.

For now, I will use the 1.10.5…

Thank you.



I also get similar error when reading hdf5 file after upgrading version from 1.10.5 to 1.12.

opening EDGAR emissions./datain/EMISSION_DATA/EDGARV4/EDGAR_2005.h5 - group=STATIONARY_SOURCES - specie= CO
At line 3032 of file H5_gen.F90
Fortran runtime error: Index ‘1’ of dimension 2 of array ‘buf’ above upper bound of 0

best regards.


It appears that one of the ranks is passing to H5Dread a dimension of zero, is there a Fortran HDF5 API causing this?


I am not sure I can answer this question correctly. I don’t use hdf5 files normally. I normally use netcdf4 files which is based on hdf5.

The problem occurred when using prep_chem_src program(written by fortran) that uses its own data which has hdf5 files. Its uses these data to create gridded data to specified domain.

Error is happening while running below script.
edgar_emissions.f90 (30.3 KB)


I got similar error too. In my code, some of processors do not have to write or the size of data is zero. I have already included H5Sselect_none to the memspace and filespace. But looks like there is no effect if this is used or not.