Skip to content

Instantly share code, notes, and snippets.

@alexandru-dinu
Created December 4, 2020 08:39
Show Gist options
  • Save alexandru-dinu/999c2d3e82fa60675cb1f4afbc666698 to your computer and use it in GitHub Desktop.
Save alexandru-dinu/999c2d3e82fa60675cb1f4afbc666698 to your computer and use it in GitHub Desktop.
multiprocessing.Pool deadlock
Process ForkPoolWorker-157:
Process ForkPoolWorker-161:
Process ForkPoolWorker-155:
Process ForkPoolWorker-156:
Process ForkPoolWorker-158:
Process ForkPoolWorker-160:
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 ".../multiprocessing/process.py", line 297, in _bootstrap
self.run()
File ".../multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File ".../multiprocessing/process.py", line 297, in _bootstrap
self.run()
File ".../multiprocessing/pool.py", line 110, in worker
task = get()
File ".../multiprocessing/process.py", line 297, in _bootstrap
self.run()
File ".../multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File ".../multiprocessing/queues.py", line 352, in get
res = self._reader.recv_bytes()
File ".../multiprocessing/connection.py", line 216, in recv_bytes
buf = self._recv_bytes(maxlength)
File ".../multiprocessing/connection.py", line 407, in _recv_bytes
buf = self._recv(4)
File ".../multiprocessing/connection.py", line 379, in _recv
chunk = read(handle, remaining)
Traceback (most recent call last):
KeyboardInterrupt
Traceback (most recent call last):
File ".../multiprocessing/process.py", line 297, in _bootstrap
self.run()
File ".../multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File ".../multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File ".../multiprocessing/pool.py", line 110, in worker
task = get()
File ".../multiprocessing/queues.py", line 351, in get
with self._rlock:
File ".../multiprocessing/pool.py", line 110, in worker
task = get()
File ".../multiprocessing/synchronize.py", line 95, in __enter__
return self._semlock.__enter__()
File ".../multiprocessing/queues.py", line 351, in get
with self._rlock:
File ".../multiprocessing/synchronize.py", line 95, in __enter__
return self._semlock.__enter__()
File ".../multiprocessing/process.py", line 297, in _bootstrap
self.run()
KeyboardInterrupt
File ".../multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
KeyboardInterrupt
File ".../multiprocessing/pool.py", line 110, in worker
task = get()
File ".../multiprocessing/queues.py", line 351, in get
with self._rlock:
File ".../multiprocessing/synchronize.py", line 95, in __enter__
return self._semlock.__enter__()
KeyboardInterrupt
File ".../multiprocessing/process.py", line 297, in _bootstrap
self.run()
File ".../multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File ".../multiprocessing/pool.py", line 110, in worker
task = get()
File ".../multiprocessing/queues.py", line 351, in get
with self._rlock:
File ".../multiprocessing/synchronize.py", line 95, in __enter__
return self._semlock.__enter__()
KeyboardInterrupt
File ".../multiprocessing/process.py", line 297, in _bootstrap
self.run()
File ".../multiprocessing/pool.py", line 110, in worker
task = get()
File ".../multiprocessing/queues.py", line 351, in get
with self._rlock:
File ".../multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File ".../multiprocessing/synchronize.py", line 95, in __enter__
return self._semlock.__enter__()
File ".../multiprocessing/pool.py", line 110, in worker
task = get()
File ".../multiprocessing/queues.py", line 351, in get
with self._rlock:
File ".../multiprocessing/synchronize.py", line 95, in __enter__
return self._semlock.__enter__()
KeyboardInterrupt
KeyboardInterrupt
Traceback (most recent call last):
File ".../multiprocessing/pool.py", line 733, in next
item = self._items.popleft()
IndexError: pop from an empty deque
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "src/benchmarks.py", line 133, in <module>
for res in pool.imap_unordered(run_experiment, experiments):
File ".../multiprocessing/pool.py", line 737, in next
self._cond.wait(timeout)
File ".../threading.py", line 296, in wait
waiter.acquire()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment