[MPICH] MPI hint cb_nodes used in both open and setview

Wei-keng Liao wkliao at ece.northwestern.edu
Fri Feb 8 23:28:10 CST 2008


I found that when a program uses the ROMIO hint cb_nodes in an MPI info 
object and the info object is used in both MPI_File_open and 
MPI_File_set_view, the latter will overwrite the value of 
fd->hints->cb_nodes that first was set in MPI_File_open.

I think MPI does not say one cannot use the same info in both open and 
set_view.

For example, a program allocates 10 MPI processes on a cluster with 2 
processes per compute node. If the user sets cb_nodes hint to 7, 
MPI_File_open will "intelligently" set fd->hints->cb_nodes to 5 and 
allocate space for fd->hints->ranklist[] (of size 5), but later 
MPI_File_set_view will change fd->hints->cb_nodes back to 7. So, when 
fd->hints->ranklist[] is referred in ADIOI_Calc_aggregator(), it may refer 
fd->hints->ranklist[5,6], which is out of array boundary.

I have a simple program that generates coredump because of this.

Wei-keng




More information about the mpich-discuss mailing list