Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28445 Discussions

Seg fault for C_ FUNLOC for recursive function called from C

Michael_B_10
Beginner
467 Views

I'm getting a segmentation error for the following program with Intel 15-17 on linux, the program works with PGI, XL, GNU, Oracle and NAG.

https://support.hdfgroup.org/ftp/HDF5/examples/examples-by-api/hdf5-examples/1_8/FORTRAN/H5G/h5ex_g_traverse_F03.f90

I think there is a problem with setting the callback pointer function. Using gdb, it complains in the C code that the pointer to the function is
#0 0x00007fffffffbdf4 in ?? ()

In the C function that is called by fortran it does think that it is passed this address, op=0x7fffffffbdf4

#9 0x000000000040d16f in h5literate_by_name_c (loc_id=0x7fffffffbdd0, name=0x7fffffffbde8 "group1 ", <incomplete sequence \321>, namelen=0x7fffffffb9e0,
index_type=0x1077ca4 <h5generic_flags_+4>, order=0x1077cbc <h5generic_flags_+28>, idx=0x7fffffffbd88, op=0x7fffffffbdf4, op_data=0x7fffffffbcf0, lapl_id=0x7fffffffb9f0)
at hdf5/fortran/src/H5Lf.c:1063

but in fortran, the code calling h5literate_by_name_c, gdb does not give a pointer address:

#10 0x00000000004078c8 in h5l::h5literate_by_name_f (loc_id=144115188075855872, group_name='group1 ', index_type=0, order=2, idx=0, op=..., op_data=..., return_value=0,

op=... whatever that means.

both functions can be found in the HDF5 library,

https://bitbucket.hdfgroup.org/projects/HDFFV/repos/hdf5/browse/fortran/src/H5Lf.c

https://bitbucket.hdfgroup.org/projects/HDFFV/repos/hdf5/browse/fortran/src/H5Lff.F90

Thanks

 

0 Kudos
1 Reply
Xiaoping_D_Intel
Employee
467 Views

It is a known issue which is under fixing now. The bug track ID is DPD200417953.

 

Thanks,

Xiaoping Duan

Intel Customer Support

0 Kudos
Reply