[issue13565] test_multiprocessing.test_notify_all() hangs on "AMD64 Snow Leopard 02 03.x"

Charles-François Natali report at bugs.python.org
Mon Dec 19 10:16:54 CET 2011


Charles-François Natali <neologix at free.fr> added the comment:

I think this could be due to the multiprocessing manager's server socket backlog value, which is a little too low: by default, it's set to 5, and the tests launch up to 3 threads and 3 processes in parallel, so if we're unlucky with the scheduling, we could get some ECONNREFUSED.
Unless otherwise specified, the server uses Unix domain sockets: on Linux, when the server's socket backlog is full, connect() blocks, which could explain why it doesn't happen on Linux. It would be nice to check the behavior in case of socket backlog full on affected OSes (for example OS X or FreeBSD).

Here's a run on Linux:
"""
$ ./python ~/test_backlog.py 
0
1
2
3
4
[blocks]
"""

If we get ECONNREFUSED on OS X or FreeBSD, then there's a chance it's the culprit. If not, well, no idea what's going on :-)

----------
nosy: +neologix
Added file: http://bugs.python.org/file24048/test_backlog.py

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


More information about the Python-bugs-list mailing list