[New-bugs-announce] [issue10121] test_multiprocessing stuck in test_make_pool if run in a loop

Sandro Tosi report at bugs.python.org
Sat Oct 16 14:39:33 CEST 2010


New submission from Sandro Tosi <sandro.tosi at gmail.com>:

Hello,
when trying to see if issue6661 was still valid, I run test_multiprocessing in a tight loop and I got it reproducibly stuck on test_make_pool:

...

test_imap_unordered (test.test_multiprocessing.WithManagerTestPool) ... ok
test_make_pool (test.test_multiprocessing.WithManagerTestPool) ... 

when I enter Ctrl+C here's the traceback (on 2.7 HEAD):

test_make_pool (test.test_multiprocessing.WithManagerTestPool) ... ^CProcess PoolWorker-5:3:
Traceback (most recent call last):
  File "/home/morph/python-dev/release2.7-maint/Lib/multiprocessing/process.py", line 232, in _bootstrap
Process PoolWorker-5:2:
Traceback (most recent call last):
Process PoolWorker-5:4:
  File "/home/morph/python-dev/release2.7-maint/Lib/multiprocessing/process.py", line 232, in _bootstrap
Traceback (most recent call last):
  File "/home/morph/python-dev/release2.7-maint/Lib/multiprocessing/process.py", line 232, in _bootstrap
Process PoolWorker-5:1:
Traceback (most recent call last):
  File "/home/morph/python-dev/release2.7-maint/Lib/multiprocessing/process.py", line 232, in _bootstrap
Process PoolWorker-79:
Process PoolWorker-80:
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/morph/python-dev/release2.7-maint/Lib/multiprocessing/process.py", line 232, in _bootstrap
  File "/home/morph/python-dev/release2.7-maint/Lib/multiprocessing/process.py", line 232, in _bootstrap
    self.run()
    self.run()
  File "/home/morph/python-dev/release2.7-maint/Lib/multiprocessing/process.py", line 88, in run
  File "/home/morph/python-dev/release2.7-maint/Lib/multiprocessing/process.py", line 88, in run
    self._target(*self._args, **self._kwargs)
    self._target(*self._args, **self._kwargs)
  File "/home/morph/python-dev/release2.7-maint/Lib/multiprocessing/pool.py", line 59, in worker
  File "/home/morph/python-dev/release2.7-maint/Lib/multiprocessing/pool.py", line 59, in worker
    task = get()
    task = get()
  File "/home/morph/python-dev/release2.7-maint/Lib/multiprocessing/queues.py", line 352, in get
  File "/home/morph/python-dev/release2.7-maint/Lib/multiprocessing/queues.py", line 350, in get

Test suite interrupted by signal SIGINT.
1 test omitted:
    test_multiprocessing

and on py3k:

test_make_pool (test.test_multiprocessing.WithProcessesTestPool) ... ^CProcess PoolWorker-5:1:
Process PoolWorker-3:
Process PoolWorker-5:3:
Process PoolWorker-5:4:
Process PoolWorker-5:2:
Process PoolWorker-4:
Process PoolWorker-2:
Process PoolWorker-1:
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/process.py", line 233, in _bootstrap
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/process.py", line 233, in _bootstrap
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/process.py", line 233, in _bootstrap
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/process.py", line 233, in _bootstrap
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/process.py", line 233, in _bootstrap
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/process.py", line 233, in _bootstrap
Traceback (most recent call last):
Traceback (most recent call last):
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/process.py", line 233, in _bootstrap
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/process.py", line 233, in _bootstrap
Process PoolWorker-29:
Traceback (most recent call last):
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/process.py", line 233, in _bootstrap

Test suite interrupted by signal SIGINT.
1 test omitted:
    self.run()
    self.run()
    self.run()
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/process.py", line 88, in run
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/process.py", line 88, in run
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/process.py", line 88, in run
    self._target(*self._args, **self._kwargs)
    self._target(*self._args, **self._kwargs)
    self._target(*self._args, **self._kwargs)
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/pool.py", line 59, in worker
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/pool.py", line 59, in worker
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/pool.py", line 59, in worker
    self.run()
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/process.py", line 88, in run
    self._target(*self._args, **self._kwargs)
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/pool.py", line 59, in worker
    self.run()
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/process.py", line 88, in run
    self.run()
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/process.py", line 88, in run
    self._target(*self._args, **self._kwargs)
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/pool.py", line 59, in worker
    self._target(*self._args, **self._kwargs)
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/pool.py", line 59, in worker
    self.run()
    self.run()
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/process.py", line 88, in run
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/process.py", line 88, in run
    self._target(*self._args, **self._kwargs)
    self._target(*self._args, **self._kwargs)
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/pool.py", line 59, in worker
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/pool.py", line 59, in worker
    task = get()
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/queues.py", line 350, in get
    task = get()
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/queues.py", line 350, in get
    racquire()
KeyboardInterrupt
    racquire()
KeyboardInterrupt
    task = get()
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/queues.py", line 352, in get
    task = get()
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/queues.py", line 350, in get
    return recv()
    racquire()
KeyboardInterrupt
KeyboardInterrupt
    task = get()
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/queues.py", line 350, in get
    racquire()
    task = get()
    task = get()
KeyboardInterrupt
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/queues.py", line 350, in get
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/queues.py", line 350, in get
    racquire()
KeyboardInterrupt
    racquire()
KeyboardInterrupt
    task = get()
  File "/home/morph/python-dev/py3k/Lib/multiprocessing/queues.py", line 352, in get
    return recv()
KeyboardInterrupt
    test_multiprocessing

It's reproducible here so I can make any tests you want to verify the problem (I don't know what to look at, sorry); just to give some more info, here's a Debian sid on AMD64.

Cheers,
Sandro

PS: it's my first bug report to python, so please be gentle and forgive any mistakes I could have made :)

----------
components: Tests
messages: 118867
nosy: jnoller, sandro.tosi
priority: normal
severity: normal
status: open
title: test_multiprocessing stuck in test_make_pool if run in a loop
versions: Python 2.7, Python 3.2

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


More information about the New-bugs-announce mailing list