From: "peterzhu2118 (Peter Zhu) via ruby-core" Date: 2025-01-29T19:02:28+00:00 Subject: [ruby-core:120834] [Ruby master Bug#21099] TestGc#test_gc_stress_at_startup assertion failure Issue #21099 has been updated by peterzhu2118 (Peter Zhu). Thank you for this bug report. I have a fix here: https://github.com/ruby/ruby/pull/12667 ---------------------------------------- Bug #21099: TestGc#test_gc_stress_at_startup assertion failure https://bugs.ruby-lang.org/issues/21099#change-111698 * Author: sanjioh (Fabio Sangiovanni) * Status: Open * ruby -v: ruby 3.5.0dev (2025-01-29T15:16:47Z master d3bb42776c) +PRISM [x86_64-darwin24] * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- Hi all, I'm running macOS 15.2, and on my machine the test `TestGc#test_gc_stress_at_startup` results in an assertion failure. These are my current configure flags: ``` ../configure \ --prefix="$SOURCEDIR/ruby_3.4.1" \ --enable-debug-env \ --enable-devel \ cppflags="-DRUBY_DEBUG" \ optflags="-O0 -fno-omit-frame-pointer" ``` make command line for running tests (invoked from the build directory): ``` make test-all TESTS="../test/ruby/test_gc.rb --name=TestGc#test_gc_stress_at_startup" ``` output: ``` Run options: --seed=7555 "--ruby=./miniruby -I../lib -I. -I.ext/common ../tool/runruby.rb --extout=.ext -- --disable-gems" --excludes-dir=../test/.excludes --name=!/memory_leak/ --name=TestGc#test_gc_stress_at_startup # Running tests: [1/1] TestGc#test_gc_stress_at_startup = 3.18 s 1) Failure: TestGc#test_gc_stress_at_startup [/Users/fabio/ruby_xcode/ruby/test/ruby/test_gc.rb:776]: [Bug #15784] pid 16632 killed by SIGABRT (signal 6) | ../gc/default/default.c:1714: Assertion Failed: heap_add_poolpage:page->freelist != NULL | ruby 3.5.0dev (2025-01-29T15:16:47Z master d3bb42776c) [x86_64-darwin24] | | -- Crash Report log information -------------------------------------------- | See Crash Report log file in one of the following locations: | * ~/Library/Logs/DiagnosticReports | * /Library/Logs/DiagnosticReports | for more details. | Don't forget to include the above Crash Report log file in bug reports. | | -- Control frame information ----------------------------------------------- | c:0001 p:---- s:0003 e:000002 DUMMY [FINISH] | | | -- Threading information --------------------------------------------------- | Total ractor count: 0 | Ruby thread count for this ractor: 0 | | -- C level backtrace information ------------------------------------------- | /Users/fabio/ruby_xcode/ruby/build/ruby(rb_print_backtrace+0x1d) [0x10515014d] /Users/fabio/ruby_xcode/ruby/build/../vm_dump.c:823 | /Users/fabio/ruby_xcode/ruby/build/ruby(rb_print_backtrace) (null):0 | /Users/fabio/ruby_xcode/ruby/build/ruby(rb_vm_bugreport+0x2c1) [0x105150431] /Users/fabio/ruby_xcode/ruby/build/../vm_dump.c:1155 | /Users/fabio/ruby_xcode/ruby/build/ruby(rb_assert_failure_detail+0x156) [0x104e41056] /Users/fabio/ruby_xcode/ruby/build/../error.c:1215 | /Users/fabio/ruby_xcode/ruby/build/ruby(rb_assert_failure_detail+0x0) [0x104e40f00] /Users/fabio/ruby_xcode/ruby/build/../error.c:1191 | /Users/fabio/ruby_xcode/ruby/build/ruby(rb_assert_failure) (null):0 | /Users/fabio/ruby_xcode/ruby/build/ruby(heap_add_poolpage+0xa9) [0x104e84ea9] ../gc/default/default.c:1714 | /Users/fabio/ruby_xcode/ruby/build/ruby(gc_sweep_step+0x204) [0x104e80224] ../gc/default/default.c:3941 | /Users/fabio/ruby_xcode/ruby/build/ruby(gc_sweep_rest+0x53) [0x104e7fff3] ../gc/default/default.c:3979 | /Users/fabio/ruby_xcode/ruby/build/ruby(gc_sweep+0x98) [0x104e7c418] ../gc/default/default.c:4151 | /Users/fabio/ruby_xcode/ruby/build/ruby(gc_start+0x5f9) [0x104e86159] ../gc/default/default.c:6472 | /Users/fabio/ruby_xcode/ruby/build/ruby(garbage_collect+0x2c) [0x104e87bbc] ../gc/default/default.c:6351 | /Users/fabio/ruby_xcode/ruby/build/ruby(garbage_collect_with_gvl+0xb4) [0x104e8dbc4] ../gc/default/default.c:6753 | /Users/fabio/ruby_xcode/ruby/build/ruby(objspace_malloc_gc_stress+0x8f) [0x104e8daff] ../gc/default/default.c:7996 | /Users/fabio/ruby_xcode/ruby/build/ruby(rb_gc_impl_malloc+0x49) [0x104e8d8f9] ../gc/default/default.c:8207 | /Users/fabio/ruby_xcode/ruby/build/ruby(ruby_xmalloc2_body+0x32) [0x104e76a82] /Users/fabio/ruby_xcode/ruby/build/../gc.c:4699 | /Users/fabio/ruby_xcode/ruby/build/ruby(ruby_xmalloc2+0x1d) [0x104e76a3d] /Users/fabio/ruby_xcode/ruby/build/../gc.c:4693 | /Users/fabio/ruby_xcode/ruby/build/ruby(pin_array_list_new+0x6f) [0x10511ab3f] /Users/fabio/ruby_xcode/ruby/build/../vm.c:4389 | /Users/fabio/ruby_xcode/ruby/build/ruby(Init_vm_objects+0x1b) [0x10511aa6b] /Users/fabio/ruby_xcode/ruby/build/../vm.c:4446 | /Users/fabio/ruby_xcode/ruby/build/ruby(ruby_setup+0x46) [0x104e4f0e6] /Users/fabio/ruby_xcode/ruby/build/../eval.c:82 | /Users/fabio/ruby_xcode/ruby/build/ruby(ruby_init+0xd) [0x104e4f3fd] /Users/fabio/ruby_xcode/ruby/build/../eval.c:98 | /Users/fabio/ruby_xcode/ruby/build/ruby(rb_main+0x2b) [0x104d2e6bb] /Users/fabio/ruby_xcode/ruby/build/../main.c:39 | /Users/fabio/ruby_xcode/ruby/build/ruby(main+0x62) [0x104d2e662] /Users/fabio/ruby_xcode/ruby/build/../main.c:65 | | -- Other runtime information ----------------------------------------------- | | * Process memory map: | | 104d2d000-105308000 r-x /Users/fabio/ruby_xcode/ruby/build/ruby | 105308000-105315000 r-- /Users/fabio/ruby_xcode/ruby/build/ruby | 105315000-105317000 rw- /Users/fabio/ruby_xcode/ruby/build/ruby | 105317000-10532c000 rw- /Users/fabio/ruby_xcode/ruby/build/ruby | 10532c000-105500000 r-- /Users/fabio/ruby_xcode/ruby/build/ruby | 105500000-105502000 rw- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib | 105502000-105507000 r-- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib | 105507000-105508000 r-- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib | 105508000-10550c000 rw- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib | 10550c000-10550d000 --- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib | 10550d000-105516000 rw- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib | 105516000-105517000 --- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib | 105517000-105518000 --- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib | 105518000-105521000 rw- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib | 105521000-105522000 --- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib | 105522000-105523000 r-- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib | 105523000-105524000 r-- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib | 105524000-10552b000 rw- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib | 105530000-105540000 rw- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib | 105573000-1055d3000 r-x /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib | 1055d3000-1055d7000 r-- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib | 1055d7000-1055db000 rw- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib | 1055db000-1055e7000 r-- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib | 1055e7000-105c3e000 r-- /Users/fabio/ruby_xcode/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby | 105c3e000-106295000 r-- /Users/fabio/ruby_xcode/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby | 600000000000-600020000000 rw- | 7f9643f00000-7f9644000000 rw- | 7f9644000000-7f9644800000 rw- | 7f9644800000-7f9644900000 rw- | 7f9644900000-7f9644901000 rw- | 7f9644a00000-7f9644b00000 rw- | 7ff7b71d3000-7ff7ba9d3000 --- | 7ff7ba9d3000-7ff7bb1d3000 rw- | 7ff800000000-7ff840000000 r-- | 7ff840000000-7ff844b02000 r-- | 7ff844b02000-7ff844b4a000 r-- | 7ff844b4a000-7ff844c00000 rw- | 7ff844c00000-7ff844e00000 rw- | 7ff844e00000-7ff845000000 rw- | 7ff845000000-7ff845200000 rw- | 7ff845200000-7ff845400000 rw- | 7ff845400000-7ff845600000 rw- | 7ff845600000-7ff880000000 r-- | 7ff880000000-7ffd40000000 r-- | 7ffd40000000-7ffd44400000 r-- | 7ffd44400000-7ffd44600000 rw- | 7ffd44600000-7ffd44800000 rw- | 7ffd44800000-7ffd80000000 r-- | 7ffd80000000-7ffffe000000 r-- | 7fffffe00000-7fffffe01000 r-- | 7ffffffad000-7ffffffae000 r-x | [IMPORTANT] | Don't forget to include the Crash Report log file under | DiagnosticReports directory in bug reports. | . 1. [2/3] Assertion for "stderr" | <[]> expected but was | <["../gc/default/default.c:1714: Assertion Failed: heap_add_poolpage:page->freelist != NULL", | "ruby 3.5.0dev (2025-01-29T15:16:47Z master d3bb42776c) [x86_64-darwin24]", | "", | "-- Crash Report log information --------------------------------------------", | " See Crash Report log file in one of the following locations:", | " * ~/Library/Logs/DiagnosticReports", | " * /Library/Logs/DiagnosticReports", | " for more details.", | "Don't forget to include the above Crash Report log file in bug reports.", | "", | "-- Control frame information -----------------------------------------------", | "c:0001 p:---- s:0003 e:000002 DUMMY [FINISH]", | "", | "", | "-- Threading information ---------------------------------------------------", | "Total ractor count: 0", | "Ruby thread count for this ractor: 0", | "", | "-- C level backtrace information -------------------------------------------", | "/Users/fabio/ruby_xcode/ruby/build/ruby(rb_print_backtrace+0x1d) [0x10515014d] /Users/fabio/ruby_xcode/ruby/build/../vm_dump.c:823", | "/Users/fabio/ruby_xcode/ruby/build/ruby(rb_print_backtrace) (null):0", | "/Users/fabio/ruby_xcode/ruby/build/ruby(rb_vm_bugreport+0x2c1) [0x105150431] /Users/fabio/ruby_xcode/ruby/build/../vm_dump.c:1155", | "/Users/fabio/ruby_xcode/ruby/build/ruby(rb_assert_failure_detail+0x156) [0x104e41056] /Users/fabio/ruby_xcode/ruby/build/../error.c:1215", | "/Users/fabio/ruby_xcode/ruby/build/ruby(rb_assert_failure_detail+0x0) [0x104e40f00] /Users/fabio/ruby_xcode/ruby/build/../error.c:1191", | "/Users/fabio/ruby_xcode/ruby/build/ruby(rb_assert_failure) (null):0", | "/Users/fabio/ruby_xcode/ruby/build/ruby(heap_add_poolpage+0xa9) [0x104e84ea9] ../gc/default/default.c:1714", | "/Users/fabio/ruby_xcode/ruby/build/ruby(gc_sweep_step+0x204) [0x104e80224] ../gc/default/default.c:3941", | "/Users/fabio/ruby_xcode/ruby/build/ruby(gc_sweep_rest+0x53) [0x104e7fff3] ../gc/default/default.c:3979", | "/Users/fabio/ruby_xcode/ruby/build/ruby(gc_sweep+0x98) [0x104e7c418] ../gc/default/default.c:4151", | "/Users/fabio/ruby_xcode/ruby/build/ruby(gc_start+0x5f9) [0x104e86159] ../gc/default/default.c:6472", | "/Users/fabio/ruby_xcode/ruby/build/ruby(garbage_collect+0x2c) [0x104e87bbc] ../gc/default/default.c:6351", | "/Users/fabio/ruby_xcode/ruby/build/ruby(garbage_collect_with_gvl+0xb4) [0x104e8dbc4] ../gc/default/default.c:6753", | "/Users/fabio/ruby_xcode/ruby/build/ruby(objspace_malloc_gc_stress+0x8f) [0x104e8daff] ../gc/default/default.c:7996", | "/Users/fabio/ruby_xcode/ruby/build/ruby(rb_gc_impl_malloc+0x49) [0x104e8d8f9] ../gc/default/default.c:8207", | "/Users/fabio/ruby_xcode/ruby/build/ruby(ruby_xmalloc2_body+0x32) [0x104e76a82] /Users/fabio/ruby_xcode/ruby/build/../gc.c:4699", | "/Users/fabio/ruby_xcode/ruby/build/ruby(ruby_xmalloc2+0x1d) [0x104e76a3d] /Users/fabio/ruby_xcode/ruby/build/../gc.c:4693", | "/Users/fabio/ruby_xcode/ruby/build/ruby(pin_array_list_new+0x6f) [0x10511ab3f] /Users/fabio/ruby_xcode/ruby/build/../vm.c:4389", | "/Users/fabio/ruby_xcode/ruby/build/ruby(Init_vm_objects+0x1b) [0x10511aa6b] /Users/fabio/ruby_xcode/ruby/build/../vm.c:4446", | "/Users/fabio/ruby_xcode/ruby/build/ruby(ruby_setup+0x46) [0x104e4f0e6] /Users/fabio/ruby_xcode/ruby/build/../eval.c:82", | "/Users/fabio/ruby_xcode/ruby/build/ruby(ruby_init+0xd) [0x104e4f3fd] /Users/fabio/ruby_xcode/ruby/build/../eval.c:98", | "/Users/fabio/ruby_xcode/ruby/build/ruby(rb_main+0x2b) [0x104d2e6bb] /Users/fabio/ruby_xcode/ruby/build/../main.c:39", | "/Users/fabio/ruby_xcode/ruby/build/ruby(main+0x62) [0x104d2e662] /Users/fabio/ruby_xcode/ruby/build/../main.c:65", | "", | "-- Other runtime information -----------------------------------------------", | "", | "* Process memory map:", | "", | "104d2d000-105308000 r-x /Users/fabio/ruby_xcode/ruby/build/ruby", | "105308000-105315000 r-- /Users/fabio/ruby_xcode/ruby/build/ruby", | "105315000-105317000 rw- /Users/fabio/ruby_xcode/ruby/build/ruby", | "105317000-10532c000 rw- /Users/fabio/ruby_xcode/ruby/build/ruby", | "10532c000-105500000 r-- /Users/fabio/ruby_xcode/ruby/build/ruby", | "105500000-105502000 rw- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib", | "105502000-105507000 r-- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib", | "105507000-105508000 r-- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib", | "105508000-10550c000 rw- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib", | "10550c000-10550d000 --- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib", | "10550d000-105516000 rw- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib", | "105516000-105517000 --- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib", | "105517000-105518000 --- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib", | "105518000-105521000 rw- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib", | "105521000-105522000 --- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib", | "105522000-105523000 r-- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib", | "105523000-105524000 r-- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib", | "105524000-10552b000 rw- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib", | "105530000-105540000 rw- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib", | "105573000-1055d3000 r-x /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib", | "1055d3000-1055d7000 r-- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib", | "1055d7000-1055db000 rw- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib", | "1055db000-1055e7000 r-- /usr/local/Cellar/gmp/6.3.0/lib/libgmp.10.dylib", | "1055e7000-105c3e000 r-- /Users/fabio/ruby_xcode/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby", | "105c3e000-106295000 r-- /Users/fabio/ruby_xcode/ruby/build/ruby.dSYM/Contents/Resources/DWARF/ruby", | "600000000000-600020000000 rw-", | "7f9643f00000-7f9644000000 rw-", | "7f9644000000-7f9644800000 rw-", | "7f9644800000-7f9644900000 rw-", | "7f9644900000-7f9644901000 rw-", | "7f9644a00000-7f9644b00000 rw-", | "7ff7b71d3000-7ff7ba9d3000 ---", | "7ff7ba9d3000-7ff7bb1d3000 rw-", | "7ff800000000-7ff840000000 r--", | "7ff840000000-7ff844b02000 r--", | "7ff844b02000-7ff844b4a000 r--", | "7ff844b4a000-7ff844c00000 rw-", | "7ff844c00000-7ff844e00000 rw-", | "7ff844e00000-7ff845000000 rw-", | "7ff845000000-7ff845200000 rw-", | "7ff845200000-7ff845400000 rw-", | "7ff845400000-7ff845600000 rw-", | "7ff845600000-7ff880000000 r--", | "7ff880000000-7ffd40000000 r--", | "7ffd40000000-7ffd44400000 r--", | "7ffd44400000-7ffd44600000 rw-", | "7ffd44600000-7ffd44800000 rw-", | "7ffd44800000-7ffd80000000 r--", | "7ffd80000000-7ffffe000000 r--", | "7fffffe00000-7fffffe01000 r--", | "7ffffffad000-7ffffffae000 r-x", | "[IMPORTANT]", | "Don't forget to include the Crash Report log file under", | "DiagnosticReports directory in bug reports.", | ""]>. 2. [3/3] Assertion for "success?" | Expected # to be success?. Finished tests in 3.208725s, 0.3117 tests/s, 1.8699 assertions/s. 1 tests, 6 assertions, 1 failures, 0 errors, 0 skips ruby -v: ruby 3.5.0dev (2025-01-29T15:16:47Z master d3bb42776c) +PRISM [x86_64-darwin24] make: *** [uncommon.mk:965: yes-test-all] Error 1 ``` -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/