Closed as not planned
Closed as not planned
Description
Bug report
Bug description:
In #104826 (backported to 3.12 in #105277) to fix #104690 disallowed creating new threads during interpreter finalization. This poses a problem on windows because the Popen._communicate
uses a thread (see matplotlib/matplotlib#27437 (comment) for discussion).
In Matplotlib we are holding onto a latex process and triggering this via a weakref finalize, but a minimal reproducer is:
from subprocess import Popen, PIPE
import atexit
# anything that holds stdin and stdout should work
proc = Popen(['powershell'], stdin=PIPE, stdout=PIPE)
def cleanup():
print('hi bob')
proc.kill()
proc.communicate()
atexit.register(cleanup)
xref matplotlib/matplotlib#27437
CPython versions tested on:
3.12
Operating systems tested on:
Windows