This is a known issue - I'll test to see if it has been fixed for the
upcoming 1.3.4. We know the problem does not exist in our devel trunk,
but I don't know if the fix propagated to the 1.3 branch.
On Aug 26, 2009, at 3:40 PM, Tim Miller wrote:
> Hello Everyone,
> I have a problem that I can't seem to figure out from searching the
> mailing list archive. I have a code that repeatedly spawns (via
> MPI_COMM_SPAWN) a group of 8 processes and then waits for them to
> finish. The problem is that OpenMPI (I've tried 1.3.1 and 1.3.3)
> opens a pipe each time MPI_COMM_SPAWN is called, but this pipe never
> gets closed (even if I call MPI_COMM_FREE on both the parent and
> child). Therefore, eventually my master process hits the limit of
> open file descriptors and cannot spawn any more. I cannot figure out
> why this is happening since I am only spawning 8 jobs at a time.
> I should note that I don't exchange any data over the child
> intercommunicators -- they exist solely so I can call MPI_BARRIER on
> them (the spawned processes are programed to call MPI_BARRIER
> directly before they call MPI_FINALIZE, thus indicating that they
> are done doing their work).
> I'd appreciate any suggestions as to what I might be doing wrong
> with this that is causing OpenMPI to hold the pipes open.
> Tim M.
> users mailing list