[mvapich-discuss] MPIDI_CH3I_Win_allocate_shm segfaults

Mingzhe Li li.2192 at osu.edu
Tue Apr 29 23:04:32 EDT 2014


Hi Jeff,

Thanks for your info. We just came up with the attached patch to solve your
issue. Could you please try it out and let us know if it works?

$cd mv2/src/
$patch -p0 < /path/to/patch

Regards,
Mingzhe


On Tue, Apr 29, 2014 at 9:28 PM, Jeff Hammond <jeff.science at gmail.com>wrote:

>
>
> We tested your program with 2 or more processes, they all passed with
> win_allocate.
> However, we see the issue when using only one process per job.  Could you
> tell us the
> significance of your program using only one process per job?
>
>
> I like it when all of my MPI applications run correctly on 1+ processes,
> not just subsets of the integers. Correct serial execution of MPI codes is
> essential for V&V as we as debugging.
>
> You also mentioned that there were other failed tests. Could you elaborate
> on these also?
>
>
> I think they are all the same issue but it's the ARMCI-MPI tests ie "make
> check" (mpi3rma branch) if you need to reproduce.
>
> Best,
>
> Jeff
>
> Regards,
> Mingzhe
>
>
> On Tue, Apr 29, 2014 at 2:34 PM, Jeff Hammond <jeff.science at gmail.com>wrote:
>
>> I am having issues with ARMCI-MPI3 using MVAPICH 2.0rc1 associated
>> with win_allocate.  If I use win_create, the errors go away (for the
>> most part).
>>
>> The details are below.  The test is the simplest one that fails.  Lots
>> of tests fail, apparently all because of win_allocate.
>>
>> I am running with debug=all because I am debugging...
>>
>> Thanks,
>>
>> Jeff
>>
>>
>> Running:
>>
>> /home/jhammond/TUKEY/MPI/mv2-2.0rc1-debug/bin/mpiexec -n 1 -ppn 1
>> ./test_win_model
>>
>> GDB:
>>
>> Core was generated by `./test_win_model'.
>> Program terminated with signal 11, Segmentation fault.
>> #0  0x00007f4dc9ae5a57 in MPIDI_CH3I_Win_allocate_shm () from
>> /home/jhammond/TUKEY/MPI/mv2-2.0rc1-debug/lib/libmpich.so.12
>> Missing separate debuginfos, use: debuginfo-install
>> glibc-2.12-1.80.el6_3.7.x86_64 hwloc-1.1-0.1.el6.x86_64
>> libcxgb3-1.3.1-1.x86_64 libibmad-1.3.8.MLNX_20120424-0.1.x86_64
>> libibumad-1.3.7.MLNX_20110814-0.1.x86_64
>> libibverbs-1.1.5mlnx2-1.x86_64 libipathverbs-1.2mlnx1-1.x86_64
>> libmlx4-1.0.2mlnx6-1.x86_64 libmthca-1.0.6mlnx1-0.1.gbe5eef3.x86_64
>> libnes-1.1.1mlnx1-1.x86_64 librdmacm-1.0.15-1.x86_64
>> libxml2-2.7.6-8.el6_3.4.x86_64 numactl-2.0.7-3.el6.x86_64
>> zlib-1.2.3-27.el6.x86_64
>> (gdb) bt
>> #0  0x00007f4dc9ae5a57 in MPIDI_CH3I_Win_allocate_shm () from
>> /home/jhammond/TUKEY/MPI/mv2-2.0rc1-debug/lib/libmpich.so.12
>> #1  0x00007f4dc9ab941c in MPIDI_CH3U_Win_allocate () from
>> /home/jhammond/TUKEY/MPI/mv2-2.0rc1-debug/lib/libmpich.so.12
>> #2  0x00007f4dc9acb064 in MPID_Win_allocate () from
>> /home/jhammond/TUKEY/MPI/mv2-2.0rc1-debug/lib/libmpich.so.12
>> #3  0x00007f4dc9cc541a in PMPI_Win_allocate () from
>> /home/jhammond/TUKEY/MPI/mv2-2.0rc1-debug/lib/libmpich.so.12
>> #4  0x0000000000400c11 in main ()
>>
>> Build info:
>>
>> [jhammond at vs64 mpi]$
>> /home/jhammond/TUKEY/MPI/mv2-2.0rc1-debug/bin/mpichversion
>> MVAPICH2 Version:       2.0rc1
>> MVAPICH2 Release date:  Sun Mar 23 21:35:26 EDT 2014
>> MVAPICH2 Device:        ch3:mrail
>> MVAPICH2 configure:     CC=gcc CXX=g++ --enable-fc FC=gfortran
>> --enable-f77 F77=gfortran --with-pm=hydra
>> --prefix=/home/jhammond/TUKEY/MPI/mv2-2.0rc1-debug --enable-static
>> --enable-g=all --enable-threads
>> MVAPICH2 CC:    gcc    -DNDEBUG -DNVALGRIND -g -O2
>> MVAPICH2 CXX:   g++   -DNDEBUG -DNVALGRIND -g
>> MVAPICH2 F77:   gfortran   -g -O2
>> MVAPICH2 FC:    gfortran   -g
>>
>> Test source:
>>
>> #include <stdio.h>
>> #include <stdlib.h>
>> #include <mpi.h>
>>
>> int main(int argc, char ** argv) {
>>   int      rank, nproc;
>>   void    *ptr;
>>   MPI_Win  win;
>>   int      wsize = 1024*1024;
>>   void    *attr_ptr;
>>   int     *attr_val;
>>   int      attr_flag;
>>
>>   MPI_Init(&argc, &argv);
>>
>>   MPI_Comm_rank(MPI_COMM_WORLD, &rank);
>>   MPI_Comm_size(MPI_COMM_WORLD, &nproc);
>>
>>   if (rank == 0) printf("Starting MPI window attribute test with %d
>> processes\n", nproc);
>>
>>   /* WIN_CREATE */
>>
>>   MPI_Alloc_mem(wsize, MPI_INFO_NULL, &ptr);
>>   MPI_Win_create(ptr, wsize, 1, MPI_INFO_NULL, MPI_COMM_WORLD, &win);
>>
>>   /* this function will always return flag=false in MPI-2 */
>>   MPI_Win_get_attr(win, MPI_WIN_MODEL, (void *)&attr_ptr, &attr_flag);
>>   if (!attr_flag && rank==0)
>>       printf("MPI_WIN_MODEL flag missing! \n");
>>   attr_val = (int*)attr_ptr;
>>   if (attr_flag && (*attr_val)!=MPI_WIN_UNIFIED && rank==0)
>>       printf("MPI_WIN_MODEL = MPI_WIN_SEPARATE \n" );
>>
>>   MPI_Win_free(&win);
>>   MPI_Free_mem(ptr);
>>
>>   /* WIN_ALLOCATE */
>>
>>   MPI_Win_allocate(wsize, 1, MPI_INFO_NULL, MPI_COMM_WORLD, &ptr, &win);
>>
>>   /* this function will always return flag=false in MPI-2 */
>>   MPI_Win_get_attr(win, MPI_WIN_MODEL, (void *)&attr_ptr, &attr_flag);
>>   if (!attr_flag && rank==0)
>>       printf("MPI_WIN_MODEL flag missing! \n");
>>   attr_val = (int*)attr_ptr;
>>   if (attr_flag && (*attr_val)!=MPI_WIN_UNIFIED && rank==0)
>>       printf("MPI_WIN_MODEL = MPI_WIN_SEPARATE \n" );
>>
>>   MPI_Win_free(&win);
>>
>>   if (rank == 0) printf("ALL DONE\n");
>>
>>   /* WIN_ALLOCATE */
>>   MPI_Finalize();
>>
>>   return 0;
>> }
>>
>>
>> --
>> Jeff Hammond
>> jeff.science at gmail.com
>>
>>
>> _______________________________________________
>> mvapich-discuss mailing list
>> mvapich-discuss at cse.ohio-state.edu
>> http://mailman.cse.ohio-state.edu/mailman/listinfo/mvapich-discuss
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.cse.ohio-state.edu/pipermail/mvapich-discuss/attachments/20140429/f743bfdf/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch-for-rma
Type: application/octet-stream
Size: 864 bytes
Desc: not available
URL: <http://mailman.cse.ohio-state.edu/pipermail/mvapich-discuss/attachments/20140429/f743bfdf/attachment.obj>


More information about the mvapich-discuss mailing list