You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a temporary measure, we immortalized a number of objects in the 3.13 free threading build. To work around refleak test failures, we added a @test.support.suppress_immortalization() decorator that suppressed the behavior.
Now that we have deferred reference counting, that behavior is mostly gone and we can get rid of the decorator. We still want to suppress immortalization of code constants in a few places (like compile()), but that logic can be simpler and doesn't have to be exposed to Python.
* Remove `@suppress_immortalization` decorator
* Make suppression flag per-thread instead of per-interpreter
* Suppress immortalization in `eval()` to avoid refleaks in three tests
(test_datetime.test_roundtrip, test_logging.test_config8_ok, and
test_random.test_after_fork).
* frozenset() is constant, but not a singleton. When run multiple times,
the test could fail due to constant interning.
…125901)
* Remove `@suppress_immortalization` decorator
* Make suppression flag per-thread instead of per-interpreter
* Suppress immortalization in `eval()` to avoid refleaks in three tests
(test_datetime.test_roundtrip, test_logging.test_config8_ok, and
test_random.test_after_fork).
* frozenset() is constant, but not a singleton. When run multiple times,
the test could fail due to constant interning.
As a temporary measure, we immortalized a number of objects in the 3.13 free threading build. To work around refleak test failures, we added a
@test.support.suppress_immortalization()
decorator that suppressed the behavior.Now that we have deferred reference counting, that behavior is mostly gone and we can get rid of the decorator. We still want to suppress immortalization of code constants in a few places (like
compile()
), but that logic can be simpler and doesn't have to be exposed to Python.Linked PRs
The text was updated successfully, but these errors were encountered: