[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