In Fedora Linux, when building 3.14.0a3 on i686 architecture and freethreading-debug build, test_tuple_respect_immortality, test_list_repeat_respect_immortality and test_immortals fail.
This is not happening on x86_64, aarch64. We don't know about the other arches yet.
changed the title [-]AssertionError in `test_tuple_repeat_respect_immortality`, `test_immortals` during the freethreading-debug build on i686[/-][+]AssertionError in `test_{tuple,list}_repeat_respect_immortality`, `test_immortals` during the freethreading-debug build on i686[/+]on Dec 18, 2024
I think this is probably because there's a different reference count for heap immortals and static immortals now (#127797). Does this occur on non-free-threaded builds?
changed the title [-]AssertionError in `test_{tuple,list}_repeat_respect_immortality`, `test_immortals` during the freethreading-debug build on i686[/-][+][Free Threading] test_builtin.ImmortalTests fail on i686 (32-bit)[/+]on Dec 18, 2024
Activity
vstinner commented on Dec 18, 2024
cc @ericsnowcurrently
ZeroIntensity commented on Dec 18, 2024
I think this is probably because there's a different reference count for heap immortals and static immortals now (#127797). Does this occur on non-free-threaded builds?
cc @markshannon
pythongh-128058: Fix test_builtin ImmortalTests
vstinner commented on Dec 18, 2024
Ah, it's a simple typo in ImmortalTests.IMMORTAL_REFCOUNT: on 32-bit systems, _Py_IMMORTAL_INITIAL_REFCNT is defined as 5 << 28, not as 7 << 28.
Free Threading uses a different value for immortal objects.
vstinner commented on Dec 18, 2024
I created PR gh-128068 to fix this regression.
gh-128058: Fix test_builtin ImmortalTests (#128068)
vstinner commented on Dec 20, 2024
Fixed by change daa260e. Thanks for the report @befeleme.
pythongh-128058: Fix test_builtin ImmortalTests (python#128068)
pythongh-128058: Fix test_builtin ImmortalTests (python#128068)