[issue42850] Process hangs when calling urllib.request in a multiprocessing.Process with import of sounddevice package

Robin Scheibler report at bugs.python.org
Thu Jan 7 01:13:57 EST 2021


New submission from Robin Scheibler <fakufaku at gmail.com>:

I am having an issue with using urllib in a multiprocessing.Process when the package sounddevice (https://github.com/spatialaudio/python-sounddevice) has been already imported.

The sub-process hangs upon calling urllib.request.urlopen (and methods from the requests package too).

1. If the package sounddevice is not imported, things work as expected.
2. If the package sounddevice is imported, but urllib.request.urlopen is called once prior to launching thee sub-process, then things also work as expected.

I have attached a file containing code to reproduce the issue.

I have run this example file in:
- Python 3.7.9 (conda distribution)
- Mac OS X 10.15.7

# Running the code as is reproduces the problem
> python ./test_mp_req.py
Nothing in the queue. Leave.
wait for process to terminate...
finished

# Running the code with either line 8 commented *or* line 32 uncommented
# gives the expected output
> python ./test_mp_req.py
Received https://api.github.com. Send GET request... done.
Received https://www.google.com. Send GET request... done.
https://api.github.com: ok
https://www.google.com: ok
Nothing in the queue. Leave.
wait for process to terminate...
finished

----------
components: Interpreter Core, Library (Lib), ctypes
files: test_mp_req.py
messages: 384562
nosy: fakufaku
priority: normal
severity: normal
status: open
title: Process hangs when calling urllib.request in a multiprocessing.Process with import of sounddevice package
type: crash
versions: Python 3.7
Added file: https://bugs.python.org/file49724/test_mp_req.py

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue42850>
_______________________________________


More information about the Python-bugs-list mailing list