Open
Description
Bug report
Bug description:
I got a bug report on python-zlib-ng where using the threaded opening the program would hang if an exception occurred and a context manager was not used.
I fixed it by changing the threads to be daemonic: pycompression/python-zlib-ng#54.
This fixes the issue on python 3.9, 3.10, 3.11 and 3.12, but not 3.13-rc2. Also the latest main branch is affected. Unfortunately I could not create a minimal reproducer, other than running the test directly. Daemonic threads seem not to work in this particular case, where there are some BufferedIO streams and queues involved.
git clone -b issue53 https://github.com/pycompression/python-zlib-ng
# Build Cpython
./python -m ensurepip
./python -m pip install pytest pytest-timeout <path to python-zlib-ng repo>
./python -m pytest <path to python-zlib-ng repo>/tests/test_gzip_ng_threaded.py::test_threaded_program_can_exit_on_error
Since there are many code changes between 3.12 in 3.13 the underlying cause is surely there, but it is hard to pinpoint.
CPython versions tested on:
3.13, CPython main branch
Operating systems tested on:
Linux
Linked PRs
Metadata
Metadata
Assignees
Labels
bugs and security fixesbugs and security fixesbugs and security fixesbugs and security fixesAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Projects
Status
Todo