-
-
Notifications
You must be signed in to change notification settings - Fork 31.8k
Segfault in GC at shutdown in 3.14-alpha.5 #130380
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
Labels
type-bug
An unexpected behavior, bug, or error
Comments
Stacktrace is the following, which makes me think this is the same bug as:
|
Yeah, I can reproduce the crash in 3.14.0a5, but not in main, so I think this was fixed yesterday. |
Thanks for the report and easy reproduction! |
bdarnell
added a commit
to bdarnell/tornado
that referenced
this issue
Feb 20, 2025
Alpha 5 has a bug that affects us, so pin alpha 4 until 6 is released. python/cpython#130380
Great, thanks for the quick response! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Bug report
Bug description:
While testing Tornado's test suite on 3.14-alpha.5, I found that after running certain (innocuous-looking) tests I would get a segfault in GC as the process shuts down. Unfortunately faulthandler doesn't give me any useful information:
I've narrowed the problem down to two tests in
TestPeriodicCallbackAsync
,test_periodic_plain
andtest_periodic_coro
. Curiously, the very similartest_periodic_async
test in the same class does not trigger the segfault. The GC failure appears to be deterministic when either of these tests are run and does not occur on any older version from 3.9-3.13. I've seen it on both macOS and linux (ubuntu 22.04 and 24.04).The tests themselves are small, although they pull in a non-trivial amount of machinery from Tornado and asyncio (note that this is all pure python on the Tornado side; the small amount of C code we use isn't imported in this test). I'll see if I can reduce the test case further to be more self-contained. Is there anything that can be done to get more information about the objects being GC'd in the failure?
The exact tornado commit I'm testing is tornadoweb/tornado@5ae2fbb. This includes some unmerged changes to adapt to new deprecation warnings.
CPython versions tested on:
3.14
Operating systems tested on:
Linux, macOS
The text was updated successfully, but these errors were encountered: