Closed
Description
Crash report
What happened?
The second breakpoint segfaults on Windows (==access violation).
import asyncio
async def main():
def inner():
breakpoint()
pass
asyncio.create_task(asyncio.to_thread(inner))
asyncio.create_task(asyncio.to_thread(inner))
asyncio.ensure_future(main())
asyncio.get_event_loop().run_forever()
Core of the problem is in the myreadline.c module.
Implementing a fix...
CPython versions tested on:
3.12, CPython main branch
Operating systems tested on:
Windows
Output from running 'python -VV' on the command line:
No response
Linked PRs
- gh-123321: Fix Parser/myreadline.c to prevent a segfault during a multi-threaded race #123323
- [3.13] gh-123321: Fix Parser/myreadline.c to prevent a segfault during a multi-threaded race (GH-123323) #123676
- [3.12] gh-123321: Fix Parser/myreadline.c to prevent a segfault during a multi-threaded race (GH-123323) #123677
- gh-123321: Make Parser/myreadline.c locking safe in free-threaded build #123690
- [3.13] gh-123321: Make Parser/myreadline.c locking safe in free-threaded build (GH-123690) #123798