Errors when compiling HDF5 1.8.11 with Intel Fortran 14

Errors when compiling HDF5 1.8.11 with Intel Fortran 14

Bild des Benutzers Jauch

Hello,

I've compiled the HDF5 library with the most up to date (to this time) intel fortran.

With the --enable-production enabled, when doing the "make check", one of the tests will fail with a very bizarre behaviour.

============================
Fortran API:  fortranlib_test  Test Log
============================
                        ==========================                           
                               FORTRAN tests
                        ==========================                           
 FORTRANLIB_TEST is linked with HDF5 Library version 1.8 release  11
 
 Mounting test                                                          PASSED
 Reopen test                                                            PASSED
 File open/close test                                                   PASSED
 File free space test                                                   PASSED
 Dataset test                                                           PASSED
 Extendible dataset test                                                PASSED
 Basic dataspace test                                                   PASSED
 Reference to object test                                               PASSED
 Reference to dataset region test                                       PASSED
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source            
lt-fortranlib_tes  000000000049BC99  Unknown               Unknown  Unknown
lt-fortranlib_tes  000000000049A610  Unknown               Unknown  Unknown
lt-fortranlib_tes  00000000004703C2  Unknown               Unknown  Unknown
lt-fortranlib_tes  00000000004562D3  Unknown               Unknown  Unknown
lt-fortranlib_tes  000000000042C95B  Unknown               Unknown  Unknown
libpthread.so.0    0000003B1C40EFA0  Unknown               Unknown  Unknown
libhdf5_fortran.s  00007FB43829BAAC  h5sselect_hypersl         993  H5Sf.c
libhdf5_fortran.s  00007FB43828F547  h5s_mp_h5sselect_        1332  H5Sff.f90
lt-fortranlib_tes  000000000041EC68  test_basic_select         905  tH5Sselect.f90
lt-fortranlib_tes  000000000040D567  MAIN__                    129  fortranlib_test.f90
lt-fortranlib_tes  000000000040D1B6  Unknown               Unknown  Unknown
libc.so.6          0000003B1BC21B75  Unknown               Unknown  Unknown
lt-fortranlib_tes  000000000040D0A9  Unknown               Unknown  Unknown

I found the the subroutine nh5sselect_hyperslab_c is causing the SIGSEGV due to being executed "twice", despite it being called only one in the test code, and the second "call" do not have all the arguments, causing the problem.

In the HDF5 list others have reported the same problem with Intel 14, both on Linux and MacOSX.
If I disable production, than the tests start to fail when checking the C library (I'm also using icc 14).

A test made by kyle kanos (HDF list) with the intel 12.1 show no problems. My experience with the 11.1 version also is positive (no problems).

4 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.
Bild des Benutzers Tim Prince

I suspect you didn't provide enough information for an adequate answer.  If it's a problem with a specific compiler release, the 14.0 update 1 (or the final 13.1) may be more satisfactory than the initial 14.0. 

Bild des Benutzers Jauch

Sorry.

My mistake.
The compilers are from Intel Parallel Studio 2013 sp1.1.106

Versions:

icc: 14.0.1 20131008
ifort: 14.0.1 20131008
icpc: 14.0.1 20131008

Thanks.

Bild des Benutzers AmandaS (Intel)

I was able to reproduce the SIGSEGV with ifort 14.0.1.106 Build 20131008 and both hdf5-1.8.11 and hdf5-1.8.12 packages. I tested with the latest release, ifort 14.0.2.144 Build 20140120, and there are no issues. Looks like it is fixed in SP1 Update 2. Thanks for your report.

Melden Sie sich an, um einen Kommentar zu hinterlassen.