Opened 6 years ago

Closed 5 years ago

#1716 closed bug (wontfix)

mpiexec may deadlock on windows 8 on exit

Reported by: calin_iaru Owned by:
Priority: major Milestone: future
Component: mpich Keywords:
Cc:

Description (last modified by balaji)

This bug does not replicate 100%. On an internal test with mpich2 ver 1.4, I have found that the child process was closed, no smpd besides the service was running, mpiexec was still active after 7 hours.

Debugging the process revealed that there were 2 threads running on mpiexec. One was calling ReadFile?(StdInputHandle?) while the other was calling CloseHandle?(StdInputHandle?).

A standalone test running 2 threads just like mpiexec does replicate the issue every time. It is a Windows 8 specific issue which does not surface on previous operating system versions.

Attachments (2)

mpiexec on win8.txt (10.1 KB) - added by calin_iaru 6 years ago.
windbg research on mpiexec
program.cpp (765 bytes) - added by calin_iaru 6 years ago.
sample program which deadlocks on windows 8

Download all attachments as: .zip

Change History (5)

Changed 6 years ago by calin_iaru

windbg research on mpiexec

Changed 6 years ago by calin_iaru

sample program which deadlocks on windows 8

comment:1 Changed 6 years ago by calin_iaru

The main thread has to call CancelIoEx?(StdInputHandle?, NULL) to interrupt ReadFile?() running on the second thread.

ReadFile?(StdInputHandle?) calls internally ReadConsole?(). For this reason, ReadFile?() cannot be called using an overlapped structure: ReadConsole? will crash.

CancelIoEx?() is introduced with Vista.

comment:2 Changed 6 years ago by balaji

  • Milestone changed from mpich-3.0 to future

comment:3 Changed 5 years ago by balaji

  • Description modified (diff)
  • Resolution set to wontfix
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.