-
-
Notifications
You must be signed in to change notification settings - Fork 31.9k
bpo-42972: Fix GC assertion error in _winapi by untracking Overlapped earlier #26429
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@vstinner seems like your gut feeling about |
test_httplib doesn't use asyncio, so it's unrelated. The test_httplib crash is: https://bugs.python.org/issue44252
|
If you want to modify overlapped_dealloc(), I suggest to also remove the compatibility code for Windows XP.
check_CancelIoEx() can be removed and CancelIoEx() can be used directly. It's available since Windows Vista and Python 3.11 requires Windows Vista or newer: See also bpo-32592 "Drop support of Windows Vista and Windows 7". Please open a separated PR for that. I don't think that it's worth it to only move the |
Sorry, I was referring to another crash. These 2 build bots crashed when running in python debug mode due to my previous commit: Both due to assertion errors in the GC. So I wanted to fix those first. The Windows support ones can come another time. |
Ah ok, I merged your PR. |
Can you please create a 3.10 backport which contains your two commits? Use |
I closed #26431 which only contained the first fix. |
Yep, #26430 has both fixes. Thanks! |
See #26381 (comment). This untracks a possible 'bad' object earlier so the GC stops having weird race conditions. Fixes a gc assertion error in debug mode in
test_httplib
.https://bugs.python.org/issue42972