[mpich-discuss] Problem using mpi_type_create_f90_integer

Dave Goodell goodell at mcs.anl.gov
Mon Dec 19 10:22:38 CST 2011


On Dec 19, 2011, at 4:45 AM CST, Thomas Jahns wrote:

> On 12/17/2011 12:40 AM, Dave Goodell wrote:
>> Hi Thomas,
>> 
>> Will you send us a copy of the "src/binding/f90/mpif90model.h" file from your build directory?  That should help us figure out what's happening with "WITH_BUG1".
> 
> See the first attachment.

Hmm... this file seems OK to me and I can't seem to reproduce this (WITH_BUG1) locally with ifort.  I'll try again with NAG and get back to you.

>> As for "WITH_BUG2", this looks like a bug in your test program.  You are using the literal array "(/ 1, 1 /)" as your array_of_displacements argument to MPI_Type_create_struct.  In my hazy understanding of Fortran, the type of this literal defaults to an INTEGER array.  It should be an array of type INTEGER(kind=MPI_ADDRESS_KIND).  When I made this change I was able to entirely eliminate the Valgrind warnings that had been coming out of the program.
> 
> In case you meant the literal array (/ 0, 8 /) you're right, I got this wrong
> when shortening the original program, thanks for pointing that out.

Yes, I had a typo there.  "(/ 0, 8 /)" is what I meant.

> It contains
> a computed array of offsets which is of the correct type, but that didn't make
> it into the test program unfortunately. But when correcting the code accordingly
> (bug_revised.f90), I still get the same error:
[...snip...]
> $ ~/opt/mpich2-1.4.1p1-nag52-x64-linux/bin/mpiexec -n 2 ./a.out
> 
> =====================================================================================
> =   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
> =   EXIT CODE: 11
> =   CLEANING UP REMAINING PROCESSES
> =   YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
> =====================================================================================
> APPLICATION TERMINATED WITH THE EXIT STRING: Segmentation fault (signal 11)

OK, this was just recently fixed on the trunk by r9377.  I've tested with and without only this change and I am able to reproduce your problem before applying r9377 and it goes away after applying the fix.

You can use a nightly tarball if you desperately need the fix.  Please use something from tonight (>= r9385) because of unrelated bugs that were just fixed today:

http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/nightly/trunk/

-Dave



More information about the mpich-discuss mailing list