GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — asyncio.Runner+PidfdChildWatcher leaves zombie processes · Issue #95899 · python/cpython Closed Labels 3.11only security fixesonly security fixes3.12only security fixesonly security fixestopic-asynciotype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error Descriptionimport asyncio import sys import unittest import asyncio asyncio.set_child_watcher(asyncio.PidfdChildWatcher()) def create_free_port(): return 4 # chosen by a fair dice roll class TestProc(unittest.IsolatedAsyncioTestCase): async def asyncSetUp(self): self.port = create_free_port() self.proc = await asyncio.create_subprocess_exec( sys.executable, "-c", # more realistically this might be an http server or database f"import time; print('listening on {self.port}'); import time; time.sleep(2); print('goodbye')", ) async def testProc(self): print(f"connecting to {self.port}") async def asyncTearDown(self): await self.proc.communicate() # hangs forever on 3.11 if __name__ == "__main__": unittest.main() on python3.10 this produces: on python3.11 it hangs forever in Originally posted by @graingert in #95736 (comment) Activity
MetadataMetadataAssigneesLabels3.11only security fixesonly security fixes3.12only security fixesonly security fixestopic-asynciotype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error ProjectsMilestoneRelationshipsDevelopmentIssue actions |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |