This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: test_multiprocessing failure under Windows
Type: behavior Stage:
Components: Library (Lib), Tests, Windows Versions: Python 3.3
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: pitrou, python-dev, sbt
Priority: normal Keywords:

Created on 2012-05-04 22:54 by pitrou, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Messages (4)
msg159973 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2012-05-04 22:54
There was this failure on one of the XP buildbots:


Process Process-269:
Traceback (most recent call last):
  File "D:\cygwin\home\db3l\buildarea\3.x.bolen-windows\build\lib\multiprocessing\process.py", line 258, in _bootstrap
    self.run()
  File "D:\cygwin\home\db3l\buildarea\3.x.bolen-windows\build\lib\multiprocessing\process.py", line 95, in run
    self._target(*self._args, **self._kwargs)
  File "D:\cygwin\home\db3l\buildarea\3.x.bolen-windows\build\lib\test\test_multiprocessing.py", line 1980, in _listener
    new_conn = l.accept()
  File "D:\cygwin\home\db3l\buildarea\3.x.bolen-windows\build\lib\multiprocessing\connection.py", line 444, in accept
    c = self._listener.accept()
  File "D:\cygwin\home\db3l\buildarea\3.x.bolen-windows\build\lib\multiprocessing\connection.py", line 624, in accept
    ov = _winapi.ConnectNamedPipe(handle, overlapped=True)
BrokenPipeError: [Error 232] The pipe is being closed

======================================================================
ERROR: test_pickling (test.test_multiprocessing.WithProcessesTestPicklingConnections)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\cygwin\home\db3l\buildarea\3.x.bolen-windows\build\lib\multiprocessing\connection.py", line 308, in _recv_bytes
    nread, err = ov.GetOverlappedResult(True)
BrokenPipeError: [Error 109] The pipe has been ended

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\cygwin\home\db3l\buildarea\3.x.bolen-windows\build\lib\test\test_multiprocessing.py", line 2030, in test_pickling
    new_conn = lconn.recv()
  File "D:\cygwin\home\db3l\buildarea\3.x.bolen-windows\build\lib\multiprocessing\connection.py", line 252, in recv
    buf = self._recv_bytes()
  File "D:\cygwin\home\db3l\buildarea\3.x.bolen-windows\build\lib\multiprocessing\connection.py", line 317, in _recv_bytes
    raise EOFError
EOFError


(http://www.python.org/dev/buildbot/all/builders/x86%20XP-4%203.x/builds/6534/steps/test/logs/stdio)
msg160009 - (view) Author: Richard Oudkerk (sbt) * (Python committer) Date: 2012-05-05 17:37
The documentation page for ConnectNamedPipe (http://msdn.microsoft.com/en-us/library/windows/desktop/aa365146(v=vs.85).aspx) has a "community addition" which says that ConnectNamedPipe will appear to fail with ERROR_NO_DATA (232) if a client has previously connected, written some data and disconnected.

That seems to be what is happening.  For example

  Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
  Type "help", "copyright", "credits" or "license" for more information.
  >>> import multiprocessing.connection as con
  >>> l = con.Listener()
  >>> c = con.Client(l.address)
  >>> c.send("hello")
  >>> c.close()
  >>> l.accept()
  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "c:\Python27\lib\multiprocessing\connection.py", line 145, in accept
      c = self._listener.accept()
    File "c:\Python27\lib\multiprocessing\connection.py", line 345, in accept
      win32.ConnectNamedPipe(handle, win32.NULL)
  WindowsError: [Error 232] The pipe is being closed

I will look in to it.  The community addition says to just treat ERROR_NO_DATA as success.
msg160017 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2012-05-05 18:48
New changeset 44f078ea05f3 by Richard Oudkerk in branch 'default':
Fix for Issue 14725 for 3.3 branch.
http://hg.python.org/cpython/rev/44f078ea05f3
msg160036 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2012-05-05 19:59
New changeset 35ef949e85d7 by Richard Oudkerk in branch '2.7':
Fix for issue 14725 for 2.7 branch
http://hg.python.org/cpython/rev/35ef949e85d7

New changeset afab4d14d5e7 by Richard Oudkerk in branch '3.2':
Fix for issue 14725 for 3.2 branch
http://hg.python.org/cpython/rev/afab4d14d5e7
History
Date User Action Args
2022-04-11 14:57:29adminsetgithub: 58930
2012-05-08 16:06:44sbtsetstatus: open -> closed
resolution: fixed
2012-05-05 19:59:38python-devsetmessages: + msg160036
2012-05-05 18:48:16python-devsetnosy: + python-dev
messages: + msg160017
2012-05-05 17:37:54sbtsetmessages: + msg160009
2012-05-04 22:54:01pitroucreate