Ticket #1144 (closed defect: fixed)

Opened 9 years ago

Last modified 9 years ago

If one MPI process exits(), all others hang in MPI_FINALIZE

Reported by: jsquyres Owned by:
Priority: major Milestone: Open MPI 1.3
Version: trunk Keywords:
Cc: daniels@…

Description

Daniel Spanberg notes in http://www.open-mpi.org/community/lists/users/2007/08/3874.php that if one MPI process calls exit() and others call MPI_FINALIZE, OMPI hangs during MPI_FINALIZE. I think that this is a known issue (because we effectively barrier in MPI_FINALIZE); we just hadn't considered that apps would terminate this way. I.e., we assumed that either an MPI process would call MPI_FINALIZE or would die badly/due to signal. We operate normally in both of those cases, but not in the case that Daniel mentions.

Daniel provided a simple sample program that exhibits the problem; I attached a slightly modified version that shows some printf's along the way.

Attachments

bad_exit.c (481 bytes) - added by jsquyres 9 years ago.

Change History

Changed 9 years ago by jsquyres

comment:1 Changed 9 years ago by rhc

I have fixed this on my tmp branch https://svn.open-mpi.org/svn/ompi/tmp/rhc-st. The repair will come in to the trunk when that branch is merged back.

Ralph

comment:2 Changed 9 years ago by jsquyres

  • Status changed from new to closed
  • Resolution set to fixed
  • Milestone changed from Open MPI 1.2.X to Open MPI 1.3

The fix was merged back onto the trunk a while ago and will be included in the v1.3 release; closing the ticket.

Note: See TracTickets for help on using tickets.