<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><P>Hi,</P>
<P> </P>
<P>I checked the f77 binding of mpi_send. Here is what I got</P>
<P> </P>
<P>$ grep -i MPI_SEND sendf.c | grep -v define | grep -v pragma<BR>extern FORT_DLL_SPEC void FORT_CALL MPI_SEND( void*, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * );<BR>extern FORT_DLL_SPEC void FORT_CALL mpi_send__( void*, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * );<BR>extern FORT_DLL_SPEC void FORT_CALL mpi_send( void*, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * );<BR>extern FORT_DLL_SPEC void FORT_CALL mpi_send_( void*, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * );<BR>extern FORT_DLL_SPEC void FORT_CALL pmpi_send_( void*, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * );<BR>extern FORT_DLL_SPEC void FORT_CALL MPI_SEND( void*, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * );<BR>extern FORT_DLL_SPEC void FORT_CALL mpi_send__( void*, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint
*, MPI_Fint * );<BR>extern FORT_DLL_SPEC void FORT_CALL mpi_send( void*, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * );<BR>extern FORT_DLL_SPEC void FORT_CALL mpi_send_( void*, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * );<BR>extern FORT_DLL_SPEC void FORT_CALL MPI_SEND( void*, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * );<BR>extern FORT_DLL_SPEC void FORT_CALL mpi_send__( void*, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * );<BR>extern FORT_DLL_SPEC void FORT_CALL mpi_send( void*, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * );<BR>extern FORT_DLL_SPEC void FORT_CALL mpi_send_( void*, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint * );<BR>#undef MPI_Send<BR>FORT_DLL_SPEC void FORT_CALL mpi_send_ ( void*v1, MPI_Fint *v2, MPI_Fint *v3, MPI_Fint *v4, MPI_Fint *v5, MPI_Fint *v6, MPI_Fint *ierr
){<BR> *ierr = MPI_Send( v1, *v2, (MPI_Datatype)(*v3), *v4, *v5, (MPI_Comm)(*v6) );<BR></P>
<P>I could not find the 8th argument from above. Did I look into a wrong source file (src/binding/f77/sendf.c)? </P>
<P> </P>
<P>I understand that changing the setup of string length argument for my program could resolve this issue. The bad news is that I was told it can not be changed due to other issues. So I am wondering how I can modify the MPICH2 code (move the 8th arguments to the 2nd place) to fit my needs. Thanks.</P>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif"> </DIV>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">Linfa<BR><BR>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">----- Original Message ----<BR>From: Jayesh Krishna <jayesh@mcs.anl.gov><BR>To: trymelz trymelz <trymelz@yahoo.com><BR>Cc: mpich-discuss@mcs.anl.gov<BR>Sent: Friday, March 21, 2008 9:24:30 AM<BR>Subject: RE: [mpich-discuss] exit code -1073741819<BR><BR>
<STYLE type=text/css>DIV {
MARGIN:0px;}
</STYLE>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN class=848091414-21032008>Hi,</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN class=848091414-21032008> MPI_SEND() in fortran takes 7 arguments. The 8th argument is to handle the fortran CHARACTER arrays. </SPAN></FONT></DIV>
<DIV> </DIV>
<DIV><SPAN class=848091414-21032008><FONT face=Arial color=#0000ff size=2>Regards,</FONT></SPAN></DIV>
<DIV><SPAN class=848091414-21032008><FONT face=Arial color=#0000ff size=2>Jayesh</FONT></SPAN></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> owner-mpich-discuss@mcs.anl.gov [mailto:owner-mpich-discuss@mcs.anl.gov] <B>On Behalf Of </B>trymelz trymelz<BR><B>Sent:</B> Thursday, March 20, 2008 6:16 PM<BR><B>To:</B> mpich-discuss@mcs.anl.gov<BR><B>Subject:</B> Re: [mpich-discuss] exit code -1073741819<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">Hi,<BR><BR>I did not see MPI_SEND taking 8 arguments, how come it generates MPI_SEND@32 ?<BR><BR>Linfa<BR><BR>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">----- Original Message ----<BR>From: Jayesh Krishna <jayesh@mcs.anl.gov><BR>To: trymelz trymelz <trymelz@yahoo.com><BR>Cc: mpich-discuss@mcs.anl.gov<BR>Sent: Thursday, March 20, 2008 3:44:25 PM<BR>Subject: RE: [mpich-discuss] exit code -1073741819<BR><BR>
<STYLE type=text/css>DIV {
MARGIN:0px;}
</STYLE>
<DIV dir=ltr align=left><SPAN class=346034120-20032008><FONT face=Arial color=#0000ff size=2>Hi,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=346034120-20032008><FONT face=Arial color=#0000ff size=2> The fortran bindings for MPI funcs is in src/binding/f77 (Note that these source files are generated by scripts).</FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=346034120-20032008><FONT face=Arial color=#0000ff size=2>Regards,</FONT></SPAN></DIV>
<DIV><SPAN class=346034120-20032008><FONT face=Arial color=#0000ff size=2>Jayesh</FONT></SPAN></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> owner-mpich-discuss@mcs.anl.gov [mailto:owner-mpich-discuss@mcs.anl.gov] <B>On Behalf Of </B>trymelz trymelz<BR><B>Sent:</B> Thursday, March 20, 2008 3:38 PM<BR><B>To:</B> mpich-discuss@mcs.anl.gov<BR><B>Subject:</B> Re: [mpich-discuss] exit code -1073741819<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">
<P>Hi, </P>
<P> </P>
<P>By specifying character length as 11, the program behaviors the same as 15 since the order of arguments is messed up. </P>
<P> </P>
<P>Do you know where is the protype or definition in the source code of MPI_SEND/RECV? Thanks.</P>
<P> </P>
<P> </P>
<P>Linfa</P>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif"><BR><BR>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">----- Original Message ----<BR>From: Anthony Chan <chan@mcs.anl.gov><BR>To: mpich-discuss@mcs.anl.gov<BR>Cc: Jayesh Krishna <jayesh@mcs.anl.gov><BR>Sent: Thursday, March 20, 2008 2:33:51 PM<BR>Subject: Re: [mpich-discuss] exit code -1073741819<BR><BR><BR>What happens if you specify character length as 11 instead of 15 in<BR>your MPI_Sned and MPI_Recv ?<BR><BR>On Thu, 20 Mar 2008, trymelz trymelz wrote:<BR><BR>> Hi,<BR>><BR>> Sure. After changing the calling convention to default in Intel Compiler, I successfully linked with fmpich2.lib. But again, it runs fine when the string length is passed at the end of argument list, and it crashes when the string length is passed after the string pointer.<BR>><BR>> Probably, more MPICH2 FORTRAN libraries are needed to be provided.<BR>><BR>> Linfa<BR>><BR>> ----- Original Message ----<BR>>
From: Jayesh Krishna <<A href="mailto:jayesh@mcs.anl.gov" target=_blank rel=nofollow ymailto="mailto:jayesh@mcs.anl.gov">jayesh@mcs.anl.gov</A>><BR>> To: trymelz trymelz <<A href="mailto:trymelz@yahoo.com" target=_blank rel=nofollow ymailto="mailto:trymelz@yahoo.com">trymelz@yahoo.com</A>><BR>> Cc: <A href="mailto:mpich-discuss@mcs.anl.gov" target=_blank rel=nofollow ymailto="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</A><BR>> Sent: Thursday, March 20, 2008 2:08:46 PM<BR>> Subject: RE: [mpich-discuss] exit code -1073741819<BR>><BR>><BR>> Hi,<BR>> Can you also try compiling your program with fmpich2.lib ?<BR>><BR>> Regards,<BR>> Jayesh<BR>><BR>><BR>><BR>> From: trymelz trymelz [mailto:<A href="mailto:trymelz@yahoo.com" target=_blank rel=nofollow ymailto="mailto:trymelz@yahoo.com">trymelz@yahoo.com</A>]<BR>> Sent: Thursday, March 20, 2008 2:06 PM<BR>> To: Jayesh Krishna; <A
href="mailto:mpich-discuss@mcs.anl.gov" target=_blank rel=nofollow ymailto="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</A><BR>> Subject: Re: [mpich-discuss] exit code -1073741819<BR>><BR>><BR>> Hi<BR>><BR>> I have no problem to compile & run the sample fpi.f using fmpich2s.lib. Actually, I have identified the culprit: MPI_SEND/RECV work find with integer, but have problem with string.<BR>><BR>> The main reason I beleive is that, in Fortran, different compiler treats the string arguments differently: either add the string length as a invisible argument immediately after the string pointer, or the string lengh is added as a invisible arguments at the end of arguments list. So in my understanding MPI_SEND/RECV will have 28 byte of arguments for integer, but 32 byte of arguments for string because the invisible string length argument.<BR>><BR>> It will cause crash if the positions of the invisible string
length arguments are different in the .obj file and in fmpich2s.lib. The following program dimenstrate this<BR>><BR>> program main<BR>> implicit none<BR>> #include <mpif.h><BR>> integer status(MPI_STATUS_SIZE)<BR>> character * 15 pcomand<BR>> integer MYID,mpimodbg,ierr<BR>> ierr=MPI_SUCCESS<BR>> call MPI_INIT(ierr)<BR>> call MPI_COMM_RANK( MPI_COMM_WORLD, MYID, ierr )<BR>> if(MYID .eq. 1)then<BR>> mpimodbg=99<BR>> pcomand='hello world'<BR>> call MPI_SEND(mpimodbg,1,MPI_INTEGER,0<BR>> * ,11,MPI_COMM_WORLD,ierr)<BR>> write(*,*)'node',MYID,pcomand,mpimodbg<BR>> call MPI_SEND(pcomand,15,MPI_CHARACTER,0<BR>> * ,11,MPI_COMM_WORLD,ierr)<BR>> write(*,*)'node',MYID,pcomand,mpimodbg<BR>> elseif(MYID.eq.0)then<BR>> mpimodbg=0<BR>> pcomand='hello'<BR>> call MPI_RECV(mpimodbg,1,MPI_INTEGER,1<BR>> * ,11,MPI_COMM_WORLD,status,ierr)<BR>> write(*,*)'node',MYID,pcomand,mpimodbg<BR>> call
MPI_RECV(pcomand,15,MPI_CHARACTER,1<BR>> * ,11,MPI_COMM_WORLD,status,ierr)<BR>> write(*,*)'node',MYID,pcomand,mpimodbg<BR>> endif<BR>> call MPI_FINALIZE(ierr)<BR>> end<BR>><BR>> When compiled with the string length as a invisible argument immediately after the string pointer (by default in Intel Compiler):<BR>><BR>> $ "/cygdrive/c/Program Files/MPICH2/bin/mpiexec.exe" -n 3 ./Debug/fortestargs.exe<BR>> node 0 hello 99<BR>> node 1 hello world 99<BR>> forrtl: severe (157): Program Exception - access violation<BR>> Image PC Routine Line Source<BR>> fmpich2s.dll
1000507F Unknown Unknown Unknown<BR>> fortestargs.exe 004A783D Unknown Unknown Unknown<BR>> fortestargs.exe 0044AA53 Unknown Unknown Unknown<BR>> fortestargs.exe 0044A81D Unknown Unknown Unknown<BR>> kernel32.dll 7C816FD7 Unknown Unknown Unknown<BR>> forrtl: severe (157): Program Exception - access violation<BR>> Image PC Routine Line Source<BR>> fmpich2s.dll 1000492B Unknown
Unknown Unknown<BR>> fortestargs.exe 004A783D Unknown Unknown Unknown<BR>> fortestargs.exe 0044AA53 Unknown Unknown Unknown<BR>> fortestargs.exe 0044A81D Unknown Unknown Unknown<BR>> kernel32.dll 7C816FD7 Unknown Unknown Unknown<BR>> job aborted:<BR>> rank: node: exit code[: error message]<BR>> 0: abyss: 157: process 0 exited without calling finalize<BR>> 1: abyss: 157: process 1 exited without calling finalize<BR>> 2: abyss: 123<BR>><BR>> When compiled with the string length as a invisible argument at the end of arguments list:<BR>><BR>> $ "/cygdrive/c/Program Files/MPICH2/bin/mpiexec.exe" -n 3
./Debug/fortestargs.exe<BR>><BR>> node 1 hello world 99<BR>> node 1 hello world 99<BR>> node 0 hello 99<BR>> node 0 hello world 99<BR>><BR>><BR>> Thanks all for your help.<BR>><BR>> Linfa<BR>><BR>><BR>> ----- Original Message ----<BR>> From: Jayesh Krishna <<A href="mailto:jayesh@mcs.anl.gov" target=_blank rel=nofollow ymailto="mailto:jayesh@mcs.anl.gov">jayesh@mcs.anl.gov</A>><BR>> To: trymelz trymelz <<A href="mailto:trymelz@yahoo.com" target=_blank rel=nofollow ymailto="mailto:trymelz@yahoo.com">trymelz@yahoo.com</A>><BR>> Cc: <A
href="mailto:mpich-discuss@mcs.anl.gov" target=_blank rel=nofollow ymailto="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</A><BR>> Sent: Thursday, March 20, 2008 9:15:21 AM<BR>> Subject: RE: [mpich-discuss] exit code -1073741819<BR>><BR>><BR>> Hi,<BR>> Can you compile & run the sample fpi.f (provided in MPICH2\examples in your installation dir) using fmpich2s.lib ?<BR>><BR>> Regards,<BR>> Jayesh<BR>><BR>><BR>><BR>><BR>> From: <A href="mailto:owner-mpich-discuss@mcs.anl.gov" target=_blank rel=nofollow ymailto="mailto:owner-mpich-discuss@mcs.anl.gov">owner-mpich-discuss@mcs.anl.gov</A> [mailto:<A href="mailto:owner-mpich-discuss@mcs.anl.gov" target=_blank rel=nofollow ymailto="mailto:owner-mpich-discuss@mcs.anl.gov">owner-mpich-discuss@mcs.anl.gov</A>] On Behalf Of trymelz trymelz<BR>> Sent: Wednesday, March 19, 2008 6:30 PM<BR>> To: <A href="mailto:mpich-discuss@mcs.anl.gov"
target=_blank rel=nofollow ymailto="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</A><BR>> Subject: Re: [mpich-discuss] exit code -1073741819<BR>><BR>><BR>> Hi<BR>><BR>> The MPI program is too big to be sent. Here is what I got from the debugger<BR>><BR>> Before calling PMPI_ISEND:<BR>> Symbol Value Type<BR>> buf(1) 3 INTEGER(4)<BR>> cnt 1 INTEGER(4)<BR>> datatype 1275069467 INTEGER(4)<BR>> dest 0 INTEGER(4)<BR>> tag 24 INTEGER(4)<BR>> comm 1140850688 INTEGER(4)<BR>> reqs(1) 1243468 INTEGER(4)<BR>> ierr 0 INTEGER(4)<BR>><BR>> call PMPI_ISEND(buf,cnt,datatype,dest,tag,comm,reqs(1),ierr)<BR>><BR>> Unhandled exception at 0x003b41c9 in EXEC.exe:0xC0000005:<BR>> Access violation writing location 0x00000000<BR>><BR>> After the break at the crash, all the arguments becomes "undefined address".<BR>><BR>> When I check the
library, I got<BR>> $ nm fmpich2s.lib | grep MPI_SEND@<BR>> 00000000 T _MPI_SEND@28<BR>> 00000000 I __imp__MPI_SEND@28<BR>> 00000000 T _MPI_SEND@32<BR>> 00000000 I __imp__MPI_SEND@32<BR>> 00000000 T _PMPI_SEND@28<BR>> 00000000 I __imp__PMPI_SEND@28<BR>> 00000000 T _PMPI_SEND@32<BR>> 00000000 I __imp__PMPI_SEND@32<BR>><BR>> I am wondering why there are two definitions: _MPI_SEND@28 and _MPI_SEND@32. And I could not find corresponding source code for _MPI_SEND@32. Any comments? Thanks.<BR>><BR>> Linfa<BR>><BR>><BR>><BR>> ----- Original Message ----<BR>> From: Jayesh Krishna <<A href="mailto:jayesh@mcs.anl.gov" target=_blank rel=nofollow ymailto="mailto:jayesh@mcs.anl.gov">jayesh@mcs.anl.gov</A>><BR>> To: trymelz trymelz <<A href="mailto:trymelz@yahoo.com" target=_blank rel=nofollow ymailto="mailto:trymelz@yahoo.com">trymelz@yahoo.com</A>><BR>> Cc: <A
href="mailto:mpich-discuss@mcs.anl.gov" target=_blank rel=nofollow ymailto="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</A><BR>> Sent: Wednesday, March 19, 2008 2:32:59 PM<BR>> Subject: RE: [mpich-discuss] exit code -1073741819<BR>><BR>><BR>> Hi,<BR>> Can you send us your MPI program ?<BR>> You can also try to debug your program by setting the error handler to MPI_ERRORS_RETURN (MPI_Comm_set_errhandler() ) & using MPI_Error_string() to get the description of the error code.<BR>><BR>> Regards,<BR>> Jayesh<BR>><BR>><BR>><BR>><BR>> From: <A href="mailto:owner-mpich-discuss@mcs.anl.gov" target=_blank rel=nofollow ymailto="mailto:owner-mpich-discuss@mcs.anl.gov">owner-mpich-discuss@mcs.anl.gov</A> [mailto:<A href="mailto:owner-mpich-discuss@mcs.anl.gov" target=_blank rel=nofollow ymailto="mailto:owner-mpich-discuss@mcs.anl.gov">owner-mpich-discuss@mcs.anl.gov</A>] On Behalf Of trymelz
trymelz<BR>> Sent: Wednesday, March 19, 2008 2:11 PM<BR>> To: <A href="mailto:mpich-discuss@mcs.anl.gov" target=_blank rel=nofollow ymailto="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</A><BR>> Subject: [mpich-discuss] exit code -1073741819<BR>><BR>><BR>> Hi all,<BR>><BR>> I got an strange error when I run my parallel program.<BR>><BR>> job aborted:<BR>> rank: node: exit code[: error message]<BR>> 0: abyss: -1073741819: process 0 exited without calling finalize<BR>> 1: abyss: -1073741819: process 1 exited without calling finalize<BR>> 2: abyss: -1073741819: process 2 exited without calling finalize<BR>><BR>> My program works as expected under Linux. But when I porting it to windows I got above error. It is compiled by VC8 and Intel FORTRAN 10.0.<BR>> I didn't built my own MPICH2, but link my program with fmpich2s.lib and mpi.lib which were installed from
mpich2-1.0.6p1-win32-ia32.msi.<BR>><BR>> This error happened inside the call to MPI_SEND. Does anyone have an idea about this error?<BR>><BR>><BR>> Linfa<BR>><BR>><BR>><BR>> Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.<BR>><BR>><BR>><BR>><BR>><BR>> Looking for last minute shopping deals? Find them fast with Yahoo! Search.<BR>><BR>><BR>><BR>><BR>><BR>> Looking for last minute shopping deals? Find them fast with Yahoo! Search.<BR>><BR>><BR>> ____________________________________________________________________________________<BR>> Looking for last minute shopping deals?<BR>> Find them fast with Yahoo! Search. <A href="http://tools.search.yahoo.com/newsearch/category.php?category=shopping" target=_blank rel=nofollow>http://tools.search.yahoo.com/newsearch/category.php?category=shopping</A><BR><BR></DIV><BR></DIV></DIV><BR>
<HR SIZE=1>
Be a better friend, newshound, and know-it-all with Yahoo! Mobile. <A href="http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ%20" target=_blank rel=nofollow>Try it now.</A></DIV><BR></DIV></DIV><BR>
<HR SIZE=1>
Never miss a thing. <A href="http://us.rd.yahoo.com/evt=51438/*http://www.yahoo.com/r/hs" target=_blank rel=nofollow>Make Yahoo your homepage.</A></DIV><BR></DIV></div><br>
<hr size=1>Never miss a thing. <a href="http://us.rd.yahoo.com/evt=51438/*http://www.yahoo.com/r/hs"> Make Yahoo your homepage.</a></body></html>