[ofa-general] [PATCH] ofed-1.2.5/mvapich2 bug fixes
Jim Schutt
jaschut at sandia.gov
Fri Aug 31 09:15:58 PDT 2007
Hi,
I've been working with mvapich2 from the OFED-1.2.5 release (I used
http://www.openfabrics.org/downloads/OFED/ofed-1.2.5/OFED-1.2.5.tgz).
I've found a couple bugs in that version of mvapich2, which seem to
also be present in the upstream SVN at
https://mvapich.cse.ohio-state.edu/svn/mpi/mvapich2/branches/0.9.8
as of revision 1480.
The first is an install tool bug: DESTDIR gets prepended twice in
some cases, once when calling FixInstallFile and once inside it.
The second is a memory-scribbling bug: in the call-chain
rdma_cm_get_hostnames()->PMI_KVS_Get()->PMIU_getval()
PMIU_getval() overwrites byte PMI_vallen_max - 1 (in my test
case, PMI_vallen_max had value 2048) for a character array that
has length 16.
I'm not sure these are the right fixes, but with these patches
applied, mvapich2 from ofed-1.2.5 installs correctly and runs tests
it wouldn't run without them.
-- Jim
--
Jim Schutt <jaschut at sandia.gov>
Sandia National Laboratories, Albuquerque, New Mexico USA
diff -urN mvapich2-0.9.8.orig/src/mpe2/sbin/mpeinstall.in mvapich2-0.9.8/src/mpe2/sbin/mpeinstall.in
--- mvapich2-0.9.8.orig/src/mpe2/sbin/mpeinstall.in 2006-04-09 11:57:00.000000000 -0600
+++ mvapich2-0.9.8/src/mpe2/sbin/mpeinstall.in 2007-08-31 10:02:10.000000000 -0600
@@ -442,10 +442,10 @@
echo "Copying MPE utility programs to $DESTDIR$bindir"
CopyDirRecurP $binbuild_dir $bindir $XMODE
if [ -s $binbuild_dir/mpecc -a -x $binbuild_dir/mpecc ] ; then
- FixInstallFile $binbuild_dir/mpecc $DESTDIR$bindir/mpecc $XMODE
+ FixInstallFile $binbuild_dir/mpecc $bindir/mpecc $XMODE
fi
if [ -s $binbuild_dir/mpefc -a -x $binbuild_dir/mpefc ] ; then
- FixInstallFile $binbuild_dir/mpefc $DESTDIR$bindir/mpefc $XMODE
+ FixInstallFile $binbuild_dir/mpefc $bindir/mpefc $XMODE
fi
fi
fi
@@ -457,7 +457,7 @@
CopyDirRecurP $etcbuild_dir $sysconfdir $MODE
cd $etcbuild_dir && \
for file in *.conf ; do \
- FixInstallFile $file $DESTDIR$sysconfdir/$file ; \
+ FixInstallFile $file $sysconfdir/$file ; \
done
fi
fi
diff -urN mvapich2-0.9.8.orig/src/pmi/simple/simple_pmi.c mvapich2-0.9.8/src/pmi/simple/simple_pmi.c
--- mvapich2-0.9.8.orig/src/pmi/simple/simple_pmi.c 2006-04-09 11:57:00.000000000 -0600
+++ mvapich2-0.9.8/src/pmi/simple/simple_pmi.c 2007-08-31 10:02:26.000000000 -0600
@@ -566,7 +566,7 @@
PMIU_getval( "rc", buf, PMIU_MAXLINE );
rc = atoi( buf );
if ( rc == 0 ) {
- PMIU_getval( "value", value, PMI_vallen_max );
+ PMIU_getval( "value", value, length );
return( 0 );
}
else {
More information about the general
mailing list