STINNER Victor <vstin...@python.org> added the comment:

On FreeBSD CURRENT worker, I reproduced the issue: "test_enter 
(test.test_multiprocessing_fork.WithProcessesTestPool) ..." hangs.

Sadly I unblocked a process when I did a mistake in gdb while getting Python 
tracebacks.


Process 90127:

90127  4  S+     0:00.51 /usr/home/haypo/python/master/python -c from 
multiprocessing.forkserver import main; main(8, 9, ['__main__', 
'test.test_multiprocessing_forkserver'], **{'sys_path': 
['/usr/home/haypo/python/master', '/usr/local/lib/python39.zip', 

(gdb) py-bt
Traceback (most recent call first):
  File "/usr/home/haypo/python/master/Lib/selectors.py", line 558, in select
    kev_list = self._selector.control(None, max_ev, timeout)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/forkserver.py", line 
986, in main
  File "<string>", line 1, in <module>


Process 90645

cmdline = './python -m test -v test_multiprocessing_fork -F'

(gdb) py-bt
Traceback (most recent call first):
  File "/usr/home/haypo/python/master/Lib/multiprocessing/synchronize.py", line 
95, in __enter__
    return self._semlock.__enter__()
  File "/usr/home/haypo/python/master/Lib/multiprocessing/queues.py", line 355, 
in get
    with self._rlock:
  File "/usr/home/haypo/python/master/Lib/multiprocessing/pool.py", line 370, 
in worker
    `func` and (a, b) becomes func(a, b).
  File "/usr/home/haypo/python/master/Lib/multiprocessing/process.py", line 
108, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/process.py", line 
571, in _bootstrap
  File "/usr/home/haypo/python/master/Lib/multiprocessing/popen_fork.py", line 
75, in _launch
    code = process_obj._bootstrap(parent_sentinel=child_r)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/popen_fork.py", line 
19, in __init__
    self._launch(process_obj)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/context.py", line 
276, in _Popen
    return Popen(process_obj)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/process.py", line 
633, in start
  File "/usr/home/haypo/python/master/Lib/multiprocessing/pool.py", line 838, 
in _repopulate_pool_static
    self._cache = pool._cache
  File "/usr/home/haypo/python/master/Lib/multiprocessing/pool.py", line 559, 
in _repopulate_pool
    outqueue.put(None)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/pool.py", line 212, 
in __init__
    self._repopulate_pool()
  File "/usr/home/haypo/python/master/Lib/multiprocessing/context.py", line 
375, in Pool
  File "/usr/home/haypo/python/master/Lib/test/_test_multiprocessing.py", line 
2338, in setUpClass
    cls.pool = cls.Pool(4)
(...)


Process 90646 :

cmdline = './python -m test -v test_multiprocessing_fork -F'

(gdb) py-bt
Traceback (most recent call first):
  <built-in method read of module object at remote 0x80120a350>
  File "/usr/home/haypo/python/master/Lib/multiprocessing/connection.py", line 
384, in _recv
    chunk = read(handle, remaining)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/connection.py", line 
419, in _recv_bytes
    buf = self._recv(4)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/connection.py", line 
221, in recv_bytes
    buf = self._recv_bytes(maxlength)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/queues.py", line 356, 
in get
    res = self._reader.recv_bytes()
  File "/usr/home/haypo/python/master/Lib/multiprocessing/pool.py", line 370, 
in worker
    `func` and (a, b) becomes func(a, b).
  File "/usr/home/haypo/python/master/Lib/multiprocessing/process.py", line 
108, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/process.py", line 
571, in _bootstrap
  File "/usr/home/haypo/python/master/Lib/multiprocessing/popen_fork.py", line 
75, in _launch
    code = process_obj._bootstrap(parent_sentinel=child_r)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/popen_fork.py", line 
19, in __init__
    self._launch(process_obj)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/context.py", line 
276, in _Popen
    return Popen(process_obj)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/process.py", line 
633, in start
  File "/usr/home/haypo/python/master/Lib/multiprocessing/pool.py", line 838, 
in _repopulate_pool_static
    self._cache = pool._cache
  File "/usr/home/haypo/python/master/Lib/multiprocessing/pool.py", line 559, 
in _repopulate_pool
    outqueue.put(None)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/pool.py", line 212, 
in __init__
    self._repopulate_pool()
  File "/usr/home/haypo/python/master/Lib/multiprocessing/context.py", line 
375, in Pool
  File "/usr/home/haypo/python/master/Lib/test/_test_multiprocessing.py", line 
2338, in setUpClass
    cls.pool = cls.Pool(4)
(...)


Process 90648:

cmdline = './python -m test -v test_multiprocessing_fork -F'

(gdb) py-bt
Traceback (most recent call first):
  File "/usr/home/haypo/python/master/Lib/multiprocessing/synchronize.py", line 
95, in __enter__
    return self._semlock.__enter__()
  File "/usr/home/haypo/python/master/Lib/multiprocessing/queues.py", line 355, 
in get
    with self._rlock:
  File "/usr/home/haypo/python/master/Lib/multiprocessing/pool.py", line 370, 
in worker
    `func` and (a, b) becomes func(a, b).
  File "/usr/home/haypo/python/master/Lib/multiprocessing/process.py", line 
108, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/process.py", line 
571, in _bootstrap
  File "/usr/home/haypo/python/master/Lib/multiprocessing/popen_fork.py", line 
75, in _launch
    code = process_obj._bootstrap(parent_sentinel=child_r)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/popen_fork.py", line 
19, in __init__
    self._launch(process_obj)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/context.py", line 
276, in _Popen
    return Popen(process_obj)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/process.py", line 
633, in start
  File "/usr/home/haypo/python/master/Lib/multiprocessing/pool.py", line 838, 
in _repopulate_pool_static
    self._cache = pool._cache
  File "/usr/home/haypo/python/master/Lib/multiprocessing/pool.py", line 559, 
in _repopulate_pool
    outqueue.put(None)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/pool.py", line 212, 
in __init__
    self._repopulate_pool()
  File "/usr/home/haypo/python/master/Lib/multiprocessing/context.py", line 
375, in Pool
  File "/usr/home/haypo/python/master/Lib/test/_test_multiprocessing.py", line 
2338, in setUpClass
    cls.pool = cls.Pool(4)
(...)


Process 90654:

cmdline = './python -m test -v test_multiprocessing_fork -F'

(gdb) py-bt
Traceback (most recent call first):
  File "/usr/home/haypo/python/master/Lib/multiprocessing/synchronize.py", line 
95, in __enter__
    return self._semlock.__enter__()
  File "/usr/home/haypo/python/master/Lib/multiprocessing/queues.py", line 355, 
in get
    with self._rlock:
  File "/usr/home/haypo/python/master/Lib/multiprocessing/pool.py", line 370, 
in worker
    `func` and (a, b) becomes func(a, b).
  File "/usr/home/haypo/python/master/Lib/multiprocessing/process.py", line 
108, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/process.py", line 
571, in _bootstrap
  File "/usr/home/haypo/python/master/Lib/multiprocessing/popen_fork.py", line 
75, in _launch
    code = process_obj._bootstrap(parent_sentinel=child_r)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/popen_fork.py", line 
19, in __init__
    self._launch(process_obj)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/context.py", line 
276, in _Popen
    return Popen(process_obj)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/process.py", line 
633, in start
  File "/usr/home/haypo/python/master/Lib/multiprocessing/pool.py", line 838, 
in _repopulate_pool_static
    self._cache = pool._cache
  File "/usr/home/haypo/python/master/Lib/multiprocessing/pool.py", line 559, 
in _repopulate_pool
    outqueue.put(None)
  File "/usr/home/haypo/python/master/Lib/multiprocessing/pool.py", line 212, 
in __init__
    self._repopulate_pool()
  File "/usr/home/haypo/python/master/Lib/multiprocessing/context.py", line 
375, in Pool
  File "/usr/home/haypo/python/master/Lib/test/_test_multiprocessing.py", line 
2664, in test_enter
    pool = self.Pool(1)
(...)

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue39996>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to