Skip to content

multiprocessing test_thread_safety() fails with "gc_list_is_empty(to) || gc_old_space(to_tail) == gc_old_space(from_tail)" assert error #115127

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

Closed
vstinner opened this issue Feb 7, 2024 · 4 comments

Comments

@vstinner
Copy link
Member

vstinner commented Feb 7, 2024

Error on AMD64 Windows11 Bigmem 3.x.

build: https://buildbot.python.org/all/#/builders/1079/builds/3327

test_multiprocessing_spawn also fails with an assertion error:

test_thread_safety (test.test_multiprocessing_spawn.test_processes.WithProcessesTestFinalize.test_thread_safety) ...

Assertion failed: gc_list_is_empty(to) || gc_old_space(to_tail) == gc_old_space(from_tail), file R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Python\gc.c, line 320
Fatal Python error: Aborted

Current thread 0x00000cbc (most recent call first):
  Garbage-collecting
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\test\_test_multiprocessing.py", line 4592 in __init__
  File "__init__", line ??? in __init__
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\test\_test_multiprocessing.py", line 4618 in make_finalizers
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\threading.py", line 1026 in run
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\threading.py", line 1089 in _bootstrap_inner
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\threading.py", line 1046 in _bootstrap

Thread 0x00002b88 (most recent call first):
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\logging\__init__.py", line 1561 in log
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\multiprocessing\util.py", line 46 in sub_debug
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\multiprocessing\util.py", line 294 in _run_finalizers
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\test\_test_multiprocessing.py", line 4607 in run_finalizers
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\threading.py", line 1026 in run
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\threading.py", line 1089 in _bootstrap_inner
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\threading.py", line 1046 in _bootstrap

Thread 0x00002598 (most recent call first):
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\test\_test_multiprocessing.py", line 4631 in test_thread_safety
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\unittest\case.py", line 589 in _callTestMethod
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\unittest\case.py", line 634 in run
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\unittest\case.py", line 690 in __call__
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\unittest\suite.py", line 122 in run
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\unittest\suite.py", line 84 in __call__
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\unittest\suite.py", line 122 in run
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\unittest\suite.py", line 84 in __call__
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\unittest\runner.py", line 240 in run
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\test\libregrtest\single.py", line 57 in _run_suite
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\test\libregrtest\single.py", line 37 in run_unittest
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\test\libregrtest\single.py", line 132 in test_func
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\test\libregrtest\single.py", line 88 in regrtest_runner
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\test\libregrtest\single.py", line 135 in _load_run_test
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\test\libregrtest\single.py", line 178 in _runtest_env_changed_exc
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\test\libregrtest\single.py", line 278 in _runtest
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\test\libregrtest\single.py", line 306 in run_single_test
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\test\libregrtest\worker.py", line 91 in worker_process
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\test\libregrtest\worker.py", line 126 in main
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\test\libregrtest\worker.py", line 130 in <module>
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\runpy.py", line 88 in _run_code
  File "R:\buildarea\3.x.ambv-bb-win11.bigmem\build\Lib\runpy.py", line 198 in _run_module_as_main

Extension modules: _testcapi, _wmi (total: 2)
@vstinner
Copy link
Member Author

vstinner commented Feb 7, 2024

Similar error on x86-64 macOS 3.x in test_multiprocessing_forkserver: https://buildbot.python.org/all/#/builders/366/builds/6539

test_thread_safety (test.test_multiprocessing_forkserver.test_processes.WithProcessesTestFinalize.test_thread_safety) ...

Assertion failed: (gc_list_is_empty(to) || gc_old_space(to_tail) == gc_old_space(from_tail)), function gc_list_merge, file gc.c, line 320.
Fatal Python error: Aborted

Current thread 0x0000700010b68000 (most recent call first):
  Garbage-collecting
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/multiprocessing/util.py", line 189 in __init__
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/test/_test_multiprocessing.py", line 4595 in __init__
  File "__init__", line ??? in __init__
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/test/_test_multiprocessing.py", line 4618 in make_finalizers
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/threading.py", line 1026 in run
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/threading.py", line 1089 in _bootstrap_inner
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/threading.py", line 1046 in _bootstrap

Thread 0x000070000fb65000 (most recent call first):
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/multiprocessing/util.py", line 291 in _run_finalizers
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/test/_test_multiprocessing.py", line 4607 in run_finalizers
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/threading.py", line 1026 in run
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/threading.py", line 1089 in _bootstrap_inner
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/threading.py", line 1046 in _bootstrap

Thread 0x000000010eb4f600 (most recent call first):
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/test/_test_multiprocessing.py", line 4631 in test_thread_safety
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/unittest/case.py", line 589 in _callTestMethod
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/unittest/case.py", line 634 in run
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/unittest/case.py", line 690 in __call__
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/unittest/suite.py", line 122 in run
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/unittest/suite.py", line 84 in __call__
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/unittest/suite.py", line 122 in run
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/unittest/suite.py", line 84 in __call__
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/unittest/runner.py", line 240 in run
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/test/libregrtest/single.py", line 57 in _run_suite
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/test/libregrtest/single.py", line 37 in run_unittest
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/test/libregrtest/single.py", line 132 in test_func
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/test/libregrtest/single.py", line 88 in regrtest_runner
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/test/libregrtest/single.py", line 135 in _load_run_test
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/test/libregrtest/single.py", line 178 in _runtest_env_changed_exc
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/test/libregrtest/single.py", line 278 in _runtest
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/test/libregrtest/single.py", line 306 in run_single_test
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/test/libregrtest/worker.py", line 91 in worker_process
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/test/libregrtest/worker.py", line 126 in main
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/test/libregrtest/worker.py", line 130 in <module>
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/runpy.py", line 88 in _run_code
  File "/Users/buildbot/buildarea/3.x.billenstein-macos/build/Lib/runpy.py", line 198 in _run_module_as_main

Extension modules: _testcapi (total: 1)

@vstinner vstinner changed the title AMD64 Windows11 Bigmem 3.x: test_multiprocessing_spawn failed with "gc_list_is_empty(to) || gc_old_space(to_tail) == gc_old_space(from_tail)" assert error AMD64 Windows11 Bigmem 3.x: multiprocessing test_thread_safety() fails with "gc_list_is_empty(to) || gc_old_space(to_tail) == gc_old_space(from_tail)" assert error Feb 7, 2024
@vstinner vstinner changed the title AMD64 Windows11 Bigmem 3.x: multiprocessing test_thread_safety() fails with "gc_list_is_empty(to) || gc_old_space(to_tail) == gc_old_space(from_tail)" assert error multiprocessing test_thread_safety() fails with "gc_list_is_empty(to) || gc_old_space(to_tail) == gc_old_space(from_tail)" assert error Feb 7, 2024
@vstinner
Copy link
Member Author

vstinner commented Feb 7, 2024

Examples of other buildbot failing with an assertion error in test_thread_safety():

Apparently, #108038 caused many multiprocessing test_thread_safety() errors.

@vstinner
Copy link
Member Author

vstinner commented Feb 7, 2024

See also issue #115124: AMD64 Windows11 Bigmem 3.x: test_bigmem failed with !_Py_IsImmortal(FROM_GC(gc)) assertion error.

@markshannon
Copy link
Member

This is already being handled in #108362.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants