New submission from Martin von Gagern <martin.vgag...@gmx.net>:

suprocess.Popen on POSIX (using _posixsubprocess Module) has a good chance of 
repeatedly closing the same file descriptor if the descriptor for stdin is also 
used for stdout and/or stderr. Only stdout and stderr are checked for equality 
with one another.

This breaks webbrowser.open for me, as the browser remote has all three 
descriptors redirected from/to /dev/null. This breaks "pydoc -p". I've taken 
this scenario and turned it into a unit test, which you find attached together 
with a proposed fix.

On my currently installed Python 3.2, the unit tests results in this traceback 
(and two more like it for other test classes):

ERROR: test_inouterr_fileobj (__main__.ProcessTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "Lib/test/test_subprocess.py", line 630, in test_inouterr_fileobj
    stderr = devnull)
  File "/usr/lib64/python3.2/subprocess.py", line 736, in __init__
    restore_signals, start_new_session)
  File "/usr/lib64/python3.2/subprocess.py", line 1330, in _execute_child
    raise child_exception_type(errno_num, err_msg)
OSError: [Errno 9] Bad file descriptor

----------
components: Library (Lib)
files: subprocess.patch
keywords: patch
messages: 141653
nosy: gagern
priority: normal
severity: normal
status: open
title: subprocess.Popen: OSError: [Errno 9] Bad file descriptor
type: behavior
versions: Python 3.2
Added file: http://bugs.python.org/file22836/subprocess.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue12695>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to