homepage

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: multiprocessing's overlapped PipeConnection issues on Windows 8
Type: behavior Stage: resolved
Components: Library (Lib), Windows Versions: Python 3.4, Python 3.5
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: steve.dower Nosy List: davin, db3l, pitrou, python-dev, r.david.murray, sbt, steve.dower, tim.golden, wprins, zach.ware
Priority: normal Keywords: patch

Created on 2013年07月06日 12:45 by wprins, last changed 2022年04月11日 14:57 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
18382_1.patch steve.dower, 2015年02月21日 18:00 review
Messages (13)
msg192431 - (view) Author: Walter Prins (wprins) Date: 2013年07月06日 12:45
It appears that Windows 8 (Version 6.2.9200 x64) has introduced changes in behaviour that causes the multiprocessing module's use of overlapped PipeConnection to fail (Python 3.4 32bit and release 3.3.2 32bit).
This issue previously existed (see issue #12328 point 1) and was fixed but the fixes for #12328 do not appear to work on Windows 8. 
Specifically the test test_multiprocessing._TestPoll.test_empty_string fails with message:
FAIL: test_empty_string (Lib.test.test_multiprocessing.WithProcessesTestPoll)
----------------------------------------------------------------------
Traceback (most recent call last):
 File "C:\Users\Walter\Documents\src\cpython\Lib\test\test_multiprocessing.py", line 2416, in test_empty_string
 self.assertEqual(a.poll(), True)
AssertionError: False != True
Additionally, there appears to be no buildbot for Windows 8 currently, would it be possible to have one set up?
msg192455 - (view) Author: Richard Oudkerk (sbt) * (Python committer) Date: 2013年07月06日 15:44
Does that test always fail?
msg192488 - (view) Author: Walter Prins (wprins) Date: 2013年07月06日 21:41
On 6 July 2013 16:44, Richard Oudkerk <report@bugs.python.org> wrote:
>
> Richard Oudkerk added the comment:
>
> Does that test always fail?
Yes it does. I should've probably added in the original report that the
following test (test_strings) also fail, possibly/probably due to the same
issue. If you'd like me to post more details please ask.
Walter
>
>
----------
> nosy: +sbt
>
> _______________________________________
> Python tracker <report@bugs.python.org>
> <http://bugs.python.org/issue18382>
> _______________________________________
>
msg192751 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2013年07月09日 13:54
All the buildbots are volunteer hosted and run, so we need someone to volunteer to run a Windows 8 buildbot. That said, I'm not sure if we are formally supporting Windows 8 yet or not. Actually, given the lack of a buildbot, I suppose the answer is "not" :)
msg192835 - (view) Author: Walter Prins (wprins) Date: 2013年07月10日 20:41
What's the process for volunteering a buildbot? Email python-dev? I
*might* volunteer to set one up...
msg192839 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2013年07月10日 22:00
What information there is is here: http://wiki.python.org/moin/BuildBot. Antoine Pitrou is the current buildbot "master" and will issue you a password once you are set up, if you decide to do this. You can also talk to us on the #python-dev irc channel. Windows buildbots are the trickiest to get set up and running consistently.
msg230239 - (view) Author: David Bolen (db3l) * Date: 2014年10月29日 20:05
I've just brought a Windows 8 buildbot online (bolen-windows8) and can confirm that this test does fail in the 3.4 and 3.x branches, and that it does so consistently even if I execute the steps interactively.
msg230240 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2014年10月29日 20:08
FTR, the buildbot URL: http://buildbot.python.org/all/buildslaves/bolen-windows8 
msg236379 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2015年02月21日 18:00
Attached a patch to 3.5 that resolves this, and I'll backport to 3.4. I haven't got access to Windows 7 or 8 right now to test it, but it's fine on Vista without the patch and 8.1 with the patch.
It'd be great if people could help check exactly which version of Windows changed the behaviour by running this code and posting their OS and whether the result is True (correct) or False (incorrect):
from multiprocessing import Pipe
a, b = Pipe()
b.send_bytes(b'')
a.poll() and a.poll()
msg236424 - (view) Author: Davin Potts (davin) * (Python committer) Date: 2015年02月23日 02:04
Tested Steve's code snippet on Windows 7 64-bit without the patch on default (3.5) and got result: True
Not knowing the full history here, I blindly tried on the same Win7 system with 2.7.8 and got a False. Looks like Richard's patches made in #12328 were only applied to 3.3.
msg236644 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2015年02月26日 04:55
Thanks Davin.
I got onto a Windows 8 machine and confirmed the behaviour changed there, so the version check in my patch is correct. Anyone opposed to the extra logic and version check?
msg236776 - (view) Author: Davin Potts (davin) * (Python committer) Date: 2015年02月27日 16:12
Steve: FWIW, it looks like a good solution to me.
msg237057 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2015年03月02日 16:06
New changeset 7401a28d3d41 by Steve Dower in branch '3.4':
Issue #18382: Zero-length messages are consumed by ReadFile on Windows 8 and later
https://hg.python.org/cpython/rev/7401a28d3d41
New changeset 6ccbcf1df7bd by Steve Dower in branch 'default':
Issue #18382: Zero-length messages are consumed by ReadFile on Windows 8 and later
https://hg.python.org/cpython/rev/6ccbcf1df7bd 
History
Date User Action Args
2022年04月11日 14:57:47adminsetgithub: 62582
2015年03月02日 16:07:30steve.dowersetstatus: open -> closed
resolution: fixed
stage: patch review -> resolved
2015年03月02日 16:06:58python-devsetnosy: + python-dev
messages: + msg237057
2015年02月28日 16:34:17steve.dowersetassignee: steve.dower

nosy: + zach.ware, tim.golden
components: + Library (Lib), Windows, - Extension Modules
stage: needs patch -> patch review
2015年02月27日 16:12:47davinsetmessages: + msg236776
2015年02月26日 04:55:26steve.dowersetmessages: + msg236644
2015年02月23日 02:05:00davinsetmessages: + msg236424
2015年02月22日 19:45:59davinsetnosy: + davin
2015年02月21日 18:00:54steve.dowersetfiles: + 18382_1.patch

nosy: + steve.dower
messages: + msg236379

keywords: + patch
2014年10月29日 20:08:22pitrousetstage: needs patch
versions: + Python 3.5, - Python 3.3
2014年10月29日 20:08:15pitrousetnosy: + pitrou
messages: + msg230240
2014年10月29日 20:05:42db3lsetnosy: + db3l
messages: + msg230239
2013年07月10日 22:00:03r.david.murraysetmessages: + msg192839
2013年07月10日 20:41:58wprinssetmessages: + msg192835
2013年07月09日 13:54:40r.david.murraysetnosy: + r.david.murray
messages: + msg192751
2013年07月06日 21:41:02wprinssetmessages: + msg192488
2013年07月06日 15:44:02sbtsetnosy: + sbt
messages: + msg192455
2013年07月06日 12:45:37wprinscreate

AltStyle によって変換されたページ (->オリジナル) /