[mvapich-discuss] Segfault when building HDF5 with MVAPICH2 2.1rc1 on SLES11 SP3

Thompson, Matt (GSFC-610.1)[SCIENCE SYSTEMS AND APPLICATIONS INC] matthew.thompson at nasa.gov
Fri Feb 6 08:53:04 EST 2015


MVAPICH Discuss,

I have an issue that is weirdly specific. When I try to build either 
HDF5-1.8.12 or the latest stable HDF5-1.8.14 (with --enable-parallel) 
with MVAPICH2 2.1rc1 on SLES 11 SP3, the HDF5 build fails with a segfault:

> libtool: link: mpicc -std=c99 -O3 -fPIC -o H5make_libsettings H5make_libsettings.o  -L/discover/swdev/USER/Baselibs/TmpBaselibs/GMAO-Baselibs-4_0_6-FixHDF5/x86_64-unknown-linux-gnu/ifort/Linux/lib /discover/swdev/USER/Baselibs/TmpBaselibs/GMAO-Baselibs-4_0_6-FixHDF5/x86_64-unknown-linux-gnu/ifort/Linux/lib/libsz.a -lz -ldl -lm
> LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo -lm |                  \
> 		sed -e 's/-L/:/g' -e 's/ //g'`"                               \
> 	 ./H5make_libsettings > H5lib_settings.c  ||                               \
> 	    (test $HDF5_Make_Ignore && echo "*** Error ignored") ||          \
> 	    (rm -f H5lib_settings.c ; exit 1)
> /bin/sh: line 4:  1838 Segmentation fault      (core dumped) LD_LIBRARY_PATH="$LD_LIBRARY_PATH`echo -lm |                  	sed -e 's/-L/:/g' -e 's/ //g'`" ./H5make_libsettings > H5lib_settings.c

I can be fairly certain with that specificity because I've tried the 
following things (all with Intel 15.0.0.090):

   MVAPICH2 2.1rc1     on SLES 11 SP1: Works
   MVAPICH2 2.1rc1     on SLES 11 SP3: FAIL
   Intel MPI 5.0.1.135 on SLES 11 SP1: Works
   Intel MPI 5.0.1.135 on SLES 11 SP3: Works
   MPT 2.11            on SLES 11 SP3: Works

I've also tried without --enable-parallel:

   No Parallel HDF5    on SLES 11 SP3: Works

though in that case, the C compiler would be gcc not icc (since it's not 
calling mpicc which points to icc).

Other than that, everything else is the same in each environment.

I also tried compiling with -O0 -g -traceback and got the same failure. 
Looking at the core in gdb:

> (gdb) backtrace
> #0  0x00002aaaabfe0802 in _int_free () from /lib64/libc.so.6
> #1  0x00002aaaabfe3b5c in free () from /lib64/libc.so.6
> #2  0x00002aaaaf70c35d in ?? () from /lib64/libnss_sss.so.2
> #3  0x00002aaaaf70c6f0 in ?? () from /lib64/libnss_sss.so.2
> #4  0x00002aaaaf70a275 in _nss_sss_getpwuid_r () from /lib64/libnss_sss.so.2
> #5  0x00002aaaac00fb2c in getpwuid_r@@GLIBC_2.2.5 () from /lib64/libc.so.6
> #6  0x00002aaaac00f37f in getpwuid () from /lib64/libc.so.6
> #7  0x0000000000401993 in print_header () at H5make_libsettings.c:185
> #8  0x0000000000401d3a in main () at H5make_libsettings.c:290

 From this testing it seems like it isn't the compiler, it isn't *just* 
the operating system, and it isn't *just* the MPI stack, but rather the 
combination of MVAPICH2 2.1rc1 and SLES 11 SP3. This has cropped up 
because part of the supercomputer I work on has transitioned to SLES 11 
SP3. And in attempting to rebuild some libraries to diagnose some 
issues, this came up.

Now I have asked better computer engineers than I here to try to figure 
this out as well, but I was wondering if anyone here might know why one 
would fail while others succeed? That is, if you've seen something similar?

Matt
-- 
Matt Thompson          SSAI, Sr Software Test Engr
NASA GSFC, Global Modeling and Assimilation Office
Code 610.1, 8800 Greenbelt Rd, Greenbelt, MD 20771
Phone: 301-614-6712              Fax: 301-614-6246


More information about the mvapich-discuss mailing list