Yes I did, forgot to mention that in my last. Most of the example code I've seen online passes the buffer variable by reference...
I think I've gotten past the segfault at this point, but it looks like MPI_Isend is never completing. I have an MPI_Test() that sets a flag immediately following the MPI_Irecv call, but the process seems to hang before it gets to it. Not really sure why it wouldn't complete. Everette On Tue, Sep 22, 2009 at 9:24 AM, jody <jody....@gmail.com> wrote: > Did you also change the "&buffer" to buffer in your MPI_Send call? > > Jody > > On Tue, Sep 22, 2009 at 1:38 PM, Everette Clemmer <clemm...@gmail.com> wrote: >> Hmm, tried changing MPI_Irecv( &buffer....) to MPI_Irecv( buffer...) >> and still no luck. Stack trace follows if that's helpful: >> >> prompt$ mpirun -np 2 ./display_test_debug >> Sending 'q' from node 0 to node 1 >> [COMPUTER:50898] *** Process received signal *** >> [COMPUTER:50898] Signal: Segmentation fault (11) >> [COMPUTER:50898] Signal code: (0) >> [COMPUTER:50898] Failing at address: 0x0 >> [COMPUTER:50898] [ 0] 2 libSystem.B.dylib >> 0x00007fff87e280aa _sigtramp + 26 >> [COMPUTER:50898] [ 1] 3 ??? >> 0x0000000000000000 0x0 + 0 >> [COMPUTER:50898] [ 2] 4 GLUT >> 0x0000000100024a21 glutMainLoop + 261 >> [COMPUTER:50898] [ 3] 5 display_test_debug >> 0x0000000100001444 xsMainLoop + 67 >> [COMPUTER:50898] [ 4] 6 display_test_debug >> 0x0000000100001335 main + 59 >> [COMPUTER:50898] [ 5] 7 display_test_debug >> 0x0000000100000d9c start + 52 >> [COMPUTER:50898] [ 6] 8 ??? >> 0x0000000000000001 0x0 + 1 >> [COMPUTER:50898] *** End of error message *** >> mpirun noticed that job rank 0 with PID 50897 on node COMPUTER.local >> exited on signal 15 (Terminated). >> 1 additional process aborted (not shown) >> >> Thanks, >> Everette >> >> >> On Tue, Sep 22, 2009 at 2:28 AM, Ake Sandgren <ake.sandg...@hpc2n.umu.se> >> wrote: >>> On Mon, 2009-09-21 at 19:26 -0400, Everette Clemmer wrote: >>>> Hey all, >>>> >>>> I'm getting a segmentation fault when I attempt to receive a single >>>> character via MPI_Irecv. Code follows: >>>> >>>> void recv_func() { >>>> if( !MASTER ) { >>>> char buffer[ 1 ]; >>>> int flag; >>>> MPI_Request request; >>>> MPI_Status status; >>>> >>>> MPI_Irecv( &buffer, 1, MPI_CHAR, 0, MPI_ANY_TAG, >>>> MPI_COMM_WORLD, &request); >>> >>> It should be MPI_Irecv(buffer, 1, ...) >>> >>>> The segfault disappears if I comment out the MPI_Irecv call in >>>> recv_func so I'm assuming that there's something wrong with the >>>> parameters that I'm passing to it. Thoughts? >>> >>> -- >>> Ake Sandgren, HPC2N, Umea University, S-90187 Umea, Sweden >>> Internet: a...@hpc2n.umu.se Phone: +46 90 7866134 Fax: +46 90 7866126 >>> Mobile: +46 70 7716134 WWW: http://www.hpc2n.umu.se >>> >>> _______________________________________________ >>> users mailing list >>> us...@open-mpi.org >>> http://www.open-mpi.org/mailman/listinfo.cgi/users >>> >> >> >> >> -- >> - Everette >> >> _______________________________________________ >> users mailing list >> us...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/users >> > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users > -- - Everette