Crash when calling h5dcreate_f(...) in FORTRAN application with VS 2015 on Windows 10


#1

Dear HDF5 expert,

   I'm trying to learn how to HDF5 for my project as data base. My computer sittings is listed in the below.
       1. Windows 10
       2. Intel FORTRAN 2017 with VS 2015
       3. HDF5 installed is hdf5-1.10.1-Std-win10_64-vs2015
       4. The additional include path is added as below
                  C:\Program Files\HDF_Group\HDF5\1.10.1\include
                  C:\Program Files\HDF_Group\HDF5\1.10.1\include\static
       5. The additional link path is shown as below.
                  C:\Program Files\HDF_Group\HDF5\1.10.1\lib
       6. The input libraries are "szip.lib zlib.lib hdf5.lib hdf5_fortran.lib hdf5_hl.lib hdf5_hl_fortran.lib
                   hdf5_f90cstub.lib hdf5_hl_f90cstub.lib"

      I use the FORTRAN examples that companion with the HDF5-1.10.1. 
      First example is "h5ex_g_create.f90". It was compiled successfully, and run correctly. But the other examples of "h5ex_g_corder.f90","h5ex_g_compact.f90","h5ex_g_phase.f90" were compiled successsfully, but they are crashed when they were run.
     The second testing problem set is the examples under /FORTRAN/H5D. The "h5ex_d_rdwr.f90" is compiled successfully. It is crashed when it runs. I inserted print to tracking which calling causes the crash. I found it is crashed when calling h5dcreate_f(...). The dumped error screen is copied in the below.

Call h5open_f(…), error code = 0

Call h5fcreate_f(…), error code = 0

Call h5screate_simple_f(…), error code = 0
HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 0:
#000: C:\autotest\hdf5110-StdRelease-code-10vs14\build\hdfsrc\src\H5D.c line 121 in H5Dcreate2(): not a datatype ID
major: Invalid arguments to routine
minor: Inappropriate type

Call h5dcreate_f(…), error code = -1
HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 0:
#000: C:\autotest\hdf5110-StdRelease-code-10vs14\build\hdfsrc\src\H5Dio.c line 226 in H5Dwrite(): not a dataset
major: Invalid arguments to routine
minor: Inappropriate type

Call h5dwrite_f(…), error code = -1
HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 0:
#000: C:\autotest\hdf5110-StdRelease-code-10vs14\build\hdfsrc\src\H5D.c line 332 in H5Dclose(): not a dataset
major: Invalid arguments to routine
minor: Inappropriate type

Call h5dclose_f(…), error code = -1

Call h5sclose_f(…), error code = 0

Call h5fclose_f(…), error code = 0

Call h5fopen_f(…), error code = 0
HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 0:
#000: C:\autotest\hdf5110-StdRelease-code-10vs14\build\hdfsrc\src\H5D.c line 294 in H5Dopen2(): unable to open dataset
major: Dataset
minor: Can’t open object
#001: C:\autotest\hdf5110-StdRelease-code-10vs14\build\hdfsrc\src\H5Dint.c line 1362 in H5D__open_name(): not found
major: Dataset
minor: Object not found
#002: C:\autotest\hdf5110-StdRelease-code-10vs14\build\hdfsrc\src\H5Gloc.c line 428 in H5G_loc_find(): can’t find object
major: Symbol table
minor: Object not found
#003: C:\autotest\hdf5110-StdRelease-code-10vs14\build\hdfsrc\src\H5Gtraverse.c line 867 in H5G_traverse(): internal path traversal failed
major: Symbol table
minor: Object not found
#004: C:\autotest\hdf5110-StdRelease-code-10vs14\build\hdfsrc\src\H5Gtraverse.c line 639 in H5G_traverse_real(): traversal operator failed
major: Symbol table
minor: Callback failed
#005: C:\autotest\hdf5110-StdRelease-code-10vs14\build\hdfsrc\src\H5Gloc.c line 383 in H5G_loc_find_cb(): object ‘DS1’ doesn’t exist
major: Symbol table
minor: Object not found

Call h5dopen_f(…), error code = -1
HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 0:
#000: C:\autotest\hdf5110-StdRelease-code-10vs14\build\hdfsrc\src\H5Dio.c line 138 in H5Dread(): not a dataset
major: Invalid arguments to routine
minor: Inappropriate type

Call h5dread_f(…), error code = -1

DS1:
[ 0 0 0 0 0 0 0 ]
[ 0 0 0 0 0 0 0 ]
[ 0 0 0 0 0 0 0 ]
[ 0 0 0 0 0 0 0 ]

HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 0:
#000: C:\autotest\hdf5110-StdRelease-code-10vs14\build\hdfsrc\src\H5D.c line 332 in H5Dclose(): not a dataset
major: Invalid arguments to routine
minor: Inappropriate type

Call h5dclose_f(…), error code = -1

Call h5fclose_f(…), error code = 0

Please give me some suggestions to solve it. Thanks in advance.

 Ning An