Title: Sporadic test_multiprocessing failure: IOError("bad message length") in recv_bytes()
Type: Stage:
Components: Library (Lib) Versions: Python 3.3
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: Nosy List: neologix, pitrou, vstinner
Priority: normal Keywords:

Created on 2011-09-29 12:48 by vstinner, last changed 2013-01-03 01:54 by vstinner. This issue is now closed.

Messages (5)
msg144589 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2011-09-29 12:48
[ 62/359] test_multiprocessing
Warning -- threading._dangling was modified by test_multiprocessing
Warning -- multiprocessing.process._dangling was modified by test_multiprocessing
test test_multiprocessing crashed -- Traceback (most recent call last):
  File "/var/lib/buildslave/3.x.murray-gentoo/build/Lib/test/", line 1163, in runtest_inner
  File "/var/lib/buildslave/3.x.murray-gentoo/build/Lib/test/", line 2349, in test_main
    ManagerMixin.pool = ManagerMixin.manager.Pool(4)
  File "/var/lib/buildslave/3.x.murray-gentoo/build/Lib/multiprocessing/", line 670, in temp
    token, exp = self._create(typeid, *args, **kwds)
  File "/var/lib/buildslave/3.x.murray-gentoo/build/Lib/multiprocessing/", line 568, in _create
    conn = self._Client(self._address, authkey=self._authkey)
  File "/var/lib/buildslave/3.x.murray-gentoo/build/Lib/multiprocessing/", line 507, in Client
    answer_challenge(c, authkey)
  File "/var/lib/buildslave/3.x.murray-gentoo/build/Lib/multiprocessing/", line 734, in answer_challenge
    message = connection.recv_bytes(256)         # reject large message
  File "/var/lib/buildslave/3.x.murray-gentoo/build/Lib/multiprocessing/", line 243, in recv_bytes
  File "/var/lib/buildslave/3.x.murray-gentoo/build/Lib/multiprocessing/", line 175, in _bad_message_length
    raise IOError("bad message length")
IOError: bad message length
msg144614 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2011-09-29 19:07
See also issue #13063.
msg146529 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2011-10-27 22:50
This is a really weird error. At this point, the child is waiting for a challenge from the parent, and the challenge is something like 32 bytes long:

    message = os.urandom(MESSAGE_LENGTH)
    connection.send_bytes(CHALLENGE + message)

So, this can only mean, IMO, that someone else than the parent (another process?) is writing on the socket...
msg146539 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2011-10-28 08:49
@antoine: can you try to add more debug messages?
msg178892 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2013-01-03 01:54
Sporadic failure, I don't know if it was reproduced recently, and the issue has no activity since more than 6 months => I'm closing the issue.
Date User Action Args
2013-01-03 01:54:16vstinnersetstatus: open -> closed
resolution: out of date
messages: + msg178892
2011-10-28 08:49:28vstinnersetmessages: + msg146539
2011-10-27 22:50:57pitrousetmessages: + msg146529
2011-09-29 19:07:40vstinnersetmessages: + msg144614
2011-09-29 12:48:04vstinnercreate