Unititialized memory access MPI_INIT Fortran MPICH

Unititialized memory access MPI_INIT Fortran MPICH


when running inspxe with mi3 on my buggy mpi application (programmed in fortran, using MPICH 3.0.4 and ifort 12.0.5) it detects only an Unititialized memory access in my code in the line of

call MPI_INIT(ierr)

in module libc.so.6 and in source code line memcpy.S:194.

ierr was initialized before the call. Except of this initialization I do not have any other statement before MPI_INIT (only declarations). My application seems to have some memory currptions later in the program (but is at least executed on all nodes), where inspxe finds nothing.


Is this a bug in inspxe? or rather a problem with MPICH? or just a problem in my program?


greetings, max


3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Forgot to mention my system:

Ubuntu 10.4 64bit

Intel(R) Xeon(R)  CPU W3670  
=====  Processor composition  =====
Processors(CPUs)  : 6
Packages(sockets) : 1
Cores per package : 6
Threads per core  : 1
=====  Processor identification  =====
Processor    Thread Id.    Core Id.    Package Id.
0           0           0           0   
1           0           1           0   
2           0           2           0   
3           0           8           0   
4           0           9           0   
5           0           10          0   
=====  Placement on packages  =====
Package Id.    Core Id.    Processors
0           0,1,2,8,9,10        0,1,2,3,4,5
=====  Cache sharing  =====
Cache    Size        Processors
L1    32  KB        no sharing
L2    256 KB        no sharing
L3    12  MB        (0,1,2,3,4,5)

inspxe-cl -version
Intel(R) Inspector XE 2013 Update 9 (build 328075)

MPICH 3.0.4, ifort 12.0.5 20110719


This almost certainly a false positive from IXE.   Calls to memcpy can be used on blocks of memory that may not be entirely initialized (padding in structures, for example).  IXE tries to detect these cases to avoid reporting false positives, but is not always successful.

Concerning your other issue with trying to find the source of memory corruption- IXE works best with dynamic memory allocations.   Fortran programming style tends towards more static allocations, for which IXE can be less effective.

What symptoms do you see that indicate memory corruption?

Leave a Comment

Please sign in to add a comment. Not a member? Join today