[New-bugs-announce] [issue17367] subprocess deadlock when read() is interrupted

John Szakmeister report at bugs.python.org
Wed Mar 6 13:07:50 CET 2013


New submission from John Szakmeister:

I discovered this issue while trying to track down why our upcoming release for Nose 1.3.0 was deadlocking under Ubuntu 12.04 with Python 3.3.  It turns out that the read() was being interrupted leaving data in the subprocess's output buffers, which ultimately means the subprocess is blocked.  Since the thread was exiting, and the read was never retried, we were left in deadlock.

The attached patch fixes the issue.  It wraps the read call with _eintr_retry_call() around the read operation in _readerthread().

----------
components: Library (Lib)
files: fix-subprocess-deadlock.patch
keywords: patch
messages: 183584
nosy: jszakmeister
priority: normal
severity: normal
status: open
title: subprocess deadlock when read() is interrupted
type: behavior
versions: Python 3.3
Added file: http://bugs.python.org/file29323/fix-subprocess-deadlock.patch

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue17367>
_______________________________________


More information about the New-bugs-announce mailing list