| "make update-download -j16" exit with 0. |
| "make update-src -j16" exit with 0. |
| "make after-update -j16" exit with 0. |
| "make miniruby -j16" exit with 0. |
| "make ruby -j16" exit with 0. |
| "make all -j16" exit with 0. |
| "make install -j16" exit with 0. |
| "make yes-test-basic TESTS='-j16'" exit with 0. |
| "make yes-test-all TESTOPTS='--stderr-on-failure' TESTS='-j16'" exit with 512. |
| ================================================================= |
| ==255527==ERROR: AddressSanitizer: use-after-poison on address 0x7d513202d3b0 at pc 0x61332617f7bb bp 0x7ffe187247e0 sp 0x7ffe187247d8 |
| READ of size 8 at 0x7d513202d3b0 thread T0 |
| #0 0x61332617f7ba in RB_BUILTIN_TYPE /tmp/ruby/src/trunk_asan/include/ruby/internal/value_type.h:191:30 |
| #1 0x61332617f7ba in gc_update_references_weak_table_i /tmp/ruby/src/trunk_asan/gc/default/default.c:7116:12 |
| #2 0x61332615d0a1 in vm_weak_table_gen_ivar_foreach /tmp/ruby/src/trunk_asan/gc.c:3495:32 |
| #3 0x6133263b55ff in apply_functor /tmp/ruby/src/trunk_asan/st.c:1633:12 |
| #4 0x6133263b55ff in st_general_foreach /tmp/ruby/src/trunk_asan/st.c:1543:18 |
| #5 0x6133263b55ff in rb_st_foreach /tmp/ruby/src/trunk_asan/st.c:1640:12 |
| #6 0x613326174345 in rb_gc_vm_weak_table_foreach /tmp/ruby/src/trunk_asan/gc.c:3575:13 |
| #7 0x613326174345 in gc_update_references /tmp/ruby/src/trunk_asan/gc/default/default.c:7158:9 |
| #8 0x613326174345 in gc_compact_finish /tmp/ruby/src/trunk_asan/gc/default/default.c:3481:5 |
| #9 0x613326174345 in gc_sweep_compact /tmp/ruby/src/trunk_asan/gc/default/default.c:5688:5 |
| #10 0x613326174345 in gc_sweep /tmp/ruby/src/trunk_asan/gc/default/default.c:4144:9 |
| #11 0x6133261833a3 in gc_start /tmp/ruby/src/trunk_asan/gc/default/default.c:6472:13 |
| #12 0x613326184ad4 in garbage_collect /tmp/ruby/src/trunk_asan/gc/default/default.c:6351:15 |
| #13 0x61332616eff0 in newobj_slowpath /tmp/ruby/src/trunk_asan/gc/default/default.c:2479:22 |
| #14 0x61332616eff0 in newobj_slowpath_wb_protected /tmp/ruby/src/trunk_asan/gc/default/default.c:2501:12 |
| #15 0x61332614e9c5 in rb_gc_impl_new_obj /tmp/ruby/src/trunk_asan/gc/default/default.c:2539:11 |
| #16 0x61332614e9c5 in newobj_of /tmp/ruby/src/trunk_asan/gc.c:997:17 |
| #17 0x61332614f864 in typed_data_alloc /tmp/ruby/src/trunk_asan/gc.c:1073:12 |
| #18 0x61332614f864 in rb_data_typed_object_zalloc /tmp/ruby/src/trunk_asan/gc.c:1096:25 |
| #19 0x6133268a6954 in enumerator_allocate /tmp/ruby/src/trunk_asan/enumerator.c:403:16 |
| #20 0x6133268a6954 in lazy_to_enum_i /tmp/ruby/src/trunk_asan/enumerator.c:1947:28 |
| #21 0x6133268a6954 in enumerable_lazy /tmp/ruby/src/trunk_asan/enumerator.c:1938:20 |
| #22 0x61332650d2b7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3801:11 |
| #23 0x6133264ba896 in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5968:15 |
| #24 0x6133264ba896 in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:898:11 |
| #25 0x6133264a8bd7 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2595:22 |
| #26 0x61332652ac81 in invoke_iseq_block_from_c /tmp/ruby/src/trunk_asan/vm.c:1625:12 |
| #27 0x61332652ac81 in invoke_block_from_c_bh /tmp/ruby/src/trunk_asan/vm.c:1639:20 |
| #28 0x6133264d7295 in vm_yield_with_cref /tmp/ruby/src/trunk_asan/vm.c:1676:12 |
| #29 0x6133264d7295 in vm_yield /tmp/ruby/src/trunk_asan/vm.c:1684:12 |
| #30 0x6133264d7295 in rb_yield_0 /tmp/ruby/src/trunk_asan/vm_eval.c:1344:12 |
| #31 0x6133264d7295 in rb_yield /tmp/ruby/src/trunk_asan/vm_eval.c |
| #32 0x61332668b3a5 in rb_ary_collect /tmp/ruby/src/trunk_asan/array.c:3645:30 |
| #33 0x61332650d2b7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3801:11 |
| #34 0x6133264b3e66 in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5968:15 |
| #35 0x6133264b3e66 in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:851:11 |
| #36 0x6133264a8bd7 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2595:22 |
| #37 0x61332652ac81 in invoke_iseq_block_from_c /tmp/ruby/src/trunk_asan/vm.c:1625:12 |
| #38 0x61332652ac81 in invoke_block_from_c_bh /tmp/ruby/src/trunk_asan/vm.c:1639:20 |
| #39 0x6133264d7295 in vm_yield_with_cref /tmp/ruby/src/trunk_asan/vm.c:1676:12 |
| #40 0x6133264d7295 in vm_yield /tmp/ruby/src/trunk_asan/vm.c:1684:12 |
| #41 0x6133264d7295 in rb_yield_0 /tmp/ruby/src/trunk_asan/vm_eval.c:1344:12 |
| #42 0x6133264d7295 in rb_yield /tmp/ruby/src/trunk_asan/vm_eval.c |
| #43 0x61332668b3a5 in rb_ary_collect /tmp/ruby/src/trunk_asan/array.c:3645:30 |
| #44 0x61332650d2b7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3801:11 |
| #45 0x6133264b3e66 in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5968:15 |
| #46 0x6133264b3e66 in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:851:11 |
| #47 0x6133264a8f90 in vm_exec_loop /tmp/ruby/src/trunk_asan/vm.c:2622:22 |
| #48 0x6133264a8f90 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2601:18 |
| #49 0x6133261245da in rb_ec_exec_node /tmp/ruby/src/trunk_asan/eval.c:281:9 |
| #50 0x6133261245da in ruby_run_node /tmp/ruby/src/trunk_asan/eval.c:319:30 |
| #51 0x61332611db46 in rb_main /tmp/ruby/src/trunk_asan/main.c:40:12 |
| #52 0x61332611db46 in main /tmp/ruby/src/trunk_asan/main.c:65:12 |
| #53 0x7d515f62a1c9 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16 |
| #54 0x7d515f62a28a in __libc_start_main csu/../csu/libc-start.c:360:3 |
| #55 0x613326041924 in _start (/tmp/ruby/build/trunk_asan/ruby+0x179924) (BuildId: b45dc673189f664be8fa79f5124b06c06a5cfe3e) |
| Address 0x7d513202d3b0 is a wild pointer inside of access range of size 0x000000000008. |
| SUMMARY: AddressSanitizer: use-after-poison /tmp/ruby/src/trunk_asan/include/ruby/internal/value_type.h:191:30 in RB_BUILTIN_TYPE |
| Shadow bytes around the buggy address: |
| 0x7d513202d100: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 |
| 0x7d513202d180: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 |
| 0x7d513202d200: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 |
| 0x7d513202d280: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 |
| 0x7d513202d300: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 |
| =>0x7d513202d380: f7 f7 f7 f7 f7 f7[f7]f7 f7 f7 f7 00 00 00 00 00 |
| 0x7d513202d400: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 |
| 0x7d513202d480: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 |
| 0x7d513202d500: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 |
| 0x7d513202d580: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 |
| 0x7d513202d600: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 |
| Shadow byte legend (one shadow byte represents 8 application bytes): |
| Addressable: 00 |
| Partially addressable: 01 02 03 04 05 06 07 |
| Heap left redzone: fa |
| Freed heap region: fd |
| Stack left redzone: f1 |
| Stack mid redzone: f2 |
| Stack right redzone: f3 |
| Stack after return: f5 |
| Stack use after scope: f8 |
| Global redzone: f9 |
| Global init order: f6 |
| Poisoned by user: f7 |
| Container overflow: fc |
| Array cookie: ac |
| Intra object redzone: bb |
| ASan internal: fe |
| Left alloca redzone: ca |
| Right alloca redzone: cb |
| ==255527==ABORTING |
| /tmp/ruby/src/trunk_asan/test/ruby/test_enumerator.rb:869: [BUG] ASAN error |
| ruby 3.5.0dev (2025-01-27T15:28:36Z master feec48ae2b) +PRISM [x86_64-linux] |
| -- Control frame information ----------------------------------------------- |
| c:0018 p:---- s:0117 e:000116 CFUNC :lazy |
| c:0017 p:0004 s:0113 e:000112 BLOCK /tmp/ruby/src/trunk_asan/test/ruby/test_enumerator.rb:869 |
| c:0016 p:0024 s:0107 e:000106 METHOD /tmp/ruby/src/trunk_asan/tool/lib/envutil.rb:254 |
| c:0015 p:0046 s:0102 e:000101 METHOD /tmp/ruby/src/trunk_asan/tool/lib/envutil.rb:268 |
| c:0014 p:0019 s:0095 e:000094 METHOD /tmp/ruby/src/trunk_asan/test/ruby/test_enumerator.rb:868 |
| c:0013 p:0037 s:0091 e:000090 METHOD /tmp/ruby/src/trunk_asan/tool/lib/test/unit/testcase.rb:202 |
| c:0012 p:0052 s:0085 e:000084 METHOD /tmp/ruby/src/trunk_asan/tool/lib/test/unit/testcase.rb:170 |
| c:0011 p:0083 s:0076 e:000075 BLOCK /tmp/ruby/src/trunk_asan/tool/lib/test/unit.rb:1671 [FINISH] |
| c:0010 p:---- s:0069 e:000068 CFUNC :map |
| c:0009 p:0103 s:0065 e:000064 METHOD /tmp/ruby/src/trunk_asan/tool/lib/test/unit.rb:1658 |
| c:0008 p:0035 s:0053 e:000052 METHOD /tmp/ruby/src/trunk_asan/tool/lib/test/unit.rb:1362 |
| c:0007 p:0069 s:0046 E:001970 METHOD /tmp/ruby/src/trunk_asan/tool/lib/test/unit/parallel.rb:52 |
| c:0006 p:0007 s:0030 e:000029 BLOCK /tmp/ruby/src/trunk_asan/tool/lib/test/unit/parallel.rb:24 [FINISH] |
| c:0005 p:---- s:0026 e:000025 CFUNC :map |
| c:0004 p:0005 s:0022 e:000021 METHOD /tmp/ruby/src/trunk_asan/tool/lib/test/unit/parallel.rb:23 |
| c:0003 p:0210 s:0016 e:000015 METHOD /tmp/ruby/src/trunk_asan/tool/lib/test/unit/parallel.rb:122 |
| c:0002 p:0051 s:0006 e:000005 EVAL /tmp/ruby/src/trunk_asan/tool/lib/test/unit/parallel.rb:220 [FINISH] |
| c:0001 p:0000 s:0003 E:001650 DUMMY [FINISH] |
| -- Ruby level backtrace information ---------------------------------------- |
| /tmp/ruby/src/trunk_asan/tool/lib/test/unit/parallel.rb:220:in '<main>' |
| /tmp/ruby/src/trunk_asan/tool/lib/test/unit/parallel.rb:122:in 'run' |
| /tmp/ruby/src/trunk_asan/tool/lib/test/unit/parallel.rb:23:in '_run_suites' |
| /tmp/ruby/src/trunk_asan/tool/lib/test/unit/parallel.rb:23:in 'map' |
| /tmp/ruby/src/trunk_asan/tool/lib/test/unit/parallel.rb:24:in 'block in _run_suites' |
| /tmp/ruby/src/trunk_asan/tool/lib/test/unit/parallel.rb:52:in '_run_suite' |
| /tmp/ruby/src/trunk_asan/tool/lib/test/unit.rb:1362:in '_run_suite' |
| /tmp/ruby/src/trunk_asan/tool/lib/test/unit.rb:1658:in '_run_suite' |
| /tmp/ruby/src/trunk_asan/tool/lib/test/unit.rb:1658:in 'map' |
| /tmp/ruby/src/trunk_asan/tool/lib/test/unit.rb:1671:in 'block in _run_suite' |
| /tmp/ruby/src/trunk_asan/tool/lib/test/unit/testcase.rb:170:in 'run' |
| /tmp/ruby/src/trunk_asan/tool/lib/test/unit/testcase.rb:202:in 'run_test' |
| /tmp/ruby/src/trunk_asan/test/ruby/test_enumerator.rb:868:in 'test_lazy_chain_under_gc_compact_stress' |
| /tmp/ruby/src/trunk_asan/tool/lib/envutil.rb:268:in 'under_gc_compact_stress' |
| /tmp/ruby/src/trunk_asan/tool/lib/envutil.rb:254:in 'under_gc_stress' |
| /tmp/ruby/src/trunk_asan/test/ruby/test_enumerator.rb:869:in 'block in test_lazy_chain_under_gc_compact_stress' |
| /tmp/ruby/src/trunk_asan/test/ruby/test_enumerator.rb:869:in 'lazy' |
| -- Threading information --------------------------------------------------- |
| Total ractor count: 1 |
| Ruby thread count for this ractor: 3 |
| -- C level backtrace information ------------------------------------------- |
| /tmp/ruby/src/trunk_asan/tool/lib/test/unit/parallel.rb: TestEnumerator#test_lazy_chain_under_gc_compact_stress(___interceptor_backtrace+0x79) [0x613326087d09] |
| [0x61332696f6e7] |
| [0x6133268b59f1] |
| [0x6133268b56cc] |
| [0x61332610422a] |
| [0x6133260e4caf] |
| [0x6133260e7d3d] |
| [0x6133260e8a9c] |
| [0x61332617f7bb] |
| [0x61332615d0a2] |
| [0x6133263b5600] |
| [0x613326174346] |
| [0x6133261833a4] |
| [0x613326184ad5] |
| [0x61332616eff1] |
| [0x61332614e9c6] |
| [0x61332614f865] |
| [0x6133268a6955] |
| [0x61332650d2b8] |
| [0x6133264ba897] |
| [0x6133264a8bd8] |
| [0x61332652ac82] |
| [0x6133264d7296] |
| [0x61332668b3a6] |
| [0x61332650d2b8] |
| [0x6133264b3e67] |
| [0x6133264a8bd8] |
| [0x61332652ac82] |
| [0x6133264d7296] |
| [0x61332668b3a6] |
| [0x61332650d2b8] |
| [0x6133264b3e67] |
| [0x6133264a8f91] |
| [0x6133261245db] |
| [0x61332611db47] |
| [0x7d515f62a1ca] |
| [0x7d515f62a28b] |
| [0x613326041925] |
| -- Other runtime information ----------------------------------------------- |
| running file: /tmp/ruby/src/trunk_asan/test/ruby/test_enumerator.rb |
| A test worker crashed. It might be an interpreter bug or |
| a bug in test/unit/parallel.rb. Try again without the -j |
| option. |
| make: *** [uncommon.mk:965: yes-test-all] Error 1 |
| "make yes-test-rubyspec MSPECOPT='--error-output stderr -j' TESTS='-j16'" exit with 0. |