[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