| "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. |
| 1) Failure: |
| TestEnv#test_aset_in_ractor [/tmp/ruby/src/trunk_asan/test/ruby/test_env.rb:812]: |
| assert_separately failed with error message |
| pid 3356895 exit 1 |
| | ================================================================= |
| | ==3356895==ERROR: AddressSanitizer: stack-use-after-return on address 0x7079a0fd1640 at pc 0x5a9f317cace9 bp 0x7079816ef950 sp 0x7079816ef948 |
| | READ of size 4 at 0x7079a0fd1640 thread T3 |
| | #0 0x5a9f317cace8 in ubf_ractor_wait /tmp/ruby/src/trunk_asan/ractor_sync.c:1017:25 |
| | #1 0x5a9f3195d4a1 in threadptr_set_interrupt_locked /tmp/ruby/src/trunk_asan/thread.c:368:9 |
| | #2 0x5a9f3195d4a1 in rb_threadptr_interrupt_exec /tmp/ruby/src/trunk_asan/thread.c:6242:9 |
| | #3 0x5a9f3195d4a1 in rb_ractor_interrupt_exec /tmp/ruby/src/trunk_asan/thread.c:6299:5 |
| | #4 0x5a9f317c4651 in rb_ractor_require /tmp/ruby/src/trunk_asan/ractor.c:2552:5 |
| | #5 0x5a9f3171d8e9 in rb_require_internal_silent /tmp/ruby/src/trunk_asan/load.c:1409:24 |
| | #6 0x5a9f31dfc26e in load_encoding /tmp/ruby/src/trunk_asan/encoding.c:816:14 |
| | #7 0x5a9f31dfb21c in rb_enc_autoload /tmp/ruby/src/trunk_asan/encoding.c:876:13 |
| | #8 0x5a9f31df6da6 in check_encoding /tmp/ruby/src/trunk_asan/encoding.c:218:17 |
| | #9 0x5a9f31df6da6 in enc_check_encoding /tmp/ruby/src/trunk_asan/encoding.c:229:12 |
| | #10 0x5a9f31df6da6 in rb_to_encoding /tmp/ruby/src/trunk_asan/encoding.c:335:9 |
| | #11 0x5a9f3190f00c in rb_str_force_encoding /tmp/ruby/src/trunk_asan/string.c:11569:29 |
| | #12 0x5a9f31a444a7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3902:11 |
| | #13 0x5a9f31a29cf4 in vm_call_method_each_type /tmp/ruby/src/trunk_asan/vm_insnhelper.c:4888:16 |
| | #14 0x5a9f31a29784 in vm_call_method /tmp/ruby/src/trunk_asan/vm_insnhelper.c |
| | #15 0x5a9f319e513c in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:6124:15 |
| | #16 0x5a9f319e513c in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:904:11 |
| | #17 0x5a9f319d3ab1 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2798:22 |
| | #18 0x5a9f31a181ca in invoke_iseq_block_from_c /tmp/ruby/src/trunk_asan/vm.c:1820:12 |
| | #19 0x5a9f31a181ca in invoke_block_from_c_proc /tmp/ruby/src/trunk_asan/vm.c:1914:16 |
| | #20 0x5a9f31a181ca in vm_invoke_proc /tmp/ruby/src/trunk_asan/vm.c:1944:12 |
| | #21 0x5a9f31965946 in thread_do_start_proc /tmp/ruby/src/trunk_asan/thread.c:604:16 |
| | #22 0x5a9f31963668 in thread_do_start /tmp/ruby/src/trunk_asan/thread.c:646:18 |
| | #23 0x5a9f31963668 in thread_start_func_2 /tmp/ruby/src/trunk_asan/thread.c:697:18 |
| | #24 0x5a9f3196294d in call_thread_start_func_2 /tmp/ruby/src/trunk_asan/thread_pthread.c:2227:5 |
| | #25 0x5a9f3196294d in nt_start /tmp/ruby/src/trunk_asan/thread_pthread.c:2272:13 |
| | #26 0x5a9f315bfafe in asan_thread_start(void*) asan_interceptors.cpp.o |
| | #27 0x7079a2e9caa3 in start_thread nptl/pthread_create.c:447:8 |
| | #28 0x7079a2f29c6b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 |
| | |
| | Address 0x7079a0fd1640 is located in stack of thread T0 at offset 64 in frame |
| | #0 0x5a9f317c95af in ractor_wait_receive /tmp/ruby/src/trunk_asan/ractor_sync.c:1108 |
| | |
| | This frame has 3 object(s): |
| | [32, 40) 'rq.i' (line 371) |
| | [64, 96) 'waiter.i' (line 1036) <== Memory access at offset 64 is inside this variable |
| | [128, 152) 'messages' (line 1109) |
| | HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork |
| | (longjmp and C++ exceptions *are* supported) |
| | SUMMARY: AddressSanitizer: stack-use-after-return /tmp/ruby/src/trunk_asan/ractor_sync.c:1017:25 in ubf_ractor_wait |
| | Shadow bytes around the buggy address: |
| | 0x7079a0fd1380: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 |
| | 0x7079a0fd1400: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 |
| | 0x7079a0fd1480: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 |
| | 0x7079a0fd1500: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 |
| | 0x7079a0fd1580: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 |
| | =>0x7079a0fd1600: f5 f5 f5 f5 f5 f5 f5 f5[f5]f5 f5 f5 f5 f5 f5 f5 |
| | 0x7079a0fd1680: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 |
| | 0x7079a0fd1700: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 |
| | 0x7079a0fd1780: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 |
| | 0x7079a0fd1800: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 |
| | 0x7079a0fd1880: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 |
| | 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 |
| | Thread T3 created by T0 here: |
| | #0 0x5a9f315a77a1 in pthread_create (/tmp/ruby/build/trunk_asan/ruby+0x1ef7a1) (BuildId: 28a4471a33c958f38b64aca5568d16b2f94fb8e4) |
| | #1 0x5a9f319402d7 in native_thread_create0 /tmp/ruby/src/trunk_asan/thread_pthread.c:2141:11 |
| | #2 0x5a9f319402d7 in native_thread_create_dedicated /tmp/ruby/src/trunk_asan/thread_pthread.c:2206:15 |
| | #3 0x5a9f319402d7 in native_thread_create /tmp/ruby/src/trunk_asan/thread_pthread.c:2389:16 |
| | #4 0x5a9f319402d7 in thread_create_core /tmp/ruby/src/trunk_asan/thread.c:896:11 |
| | #5 0x5a9f31940da5 in rb_thread_create_ractor /tmp/ruby/src/trunk_asan/thread.c:1028:12 |
| | #6 0x5a9f317c6055 in ractor_create /tmp/ruby/src/trunk_asan/ractor.c:581:5 |
| | #7 0x5a9f319dcba9 in invoke_bf /tmp/ruby/src/trunk_asan/vm_insnhelper.c:7538:17 |
| | #8 0x5a9f319dcba9 in vm_invoke_builtin /tmp/ruby/src/trunk_asan/vm_insnhelper.c:7546:12 |
| | #9 0x5a9f319dcba9 in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:1655:11 |
| | #10 0x5a9f319d3ab1 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2798:22 |
| | #11 0x5a9f31a1cf68 in rb_iseq_eval_main /tmp/ruby/src/trunk_asan/vm.c:3064:11 |
| | #12 0x5a9f31606c6f in rb_ec_exec_node /tmp/ruby/src/trunk_asan/eval.c:283:9 |
| | #13 0x5a9f31606c6f in ruby_run_node /tmp/ruby/src/trunk_asan/eval.c:321:30 |
| | #14 0x5a9f315ffbb6 in rb_main /tmp/ruby/src/trunk_asan/main.c:42:12 |
| | #15 0x5a9f315ffbb6 in main /tmp/ruby/src/trunk_asan/main.c:62:12 |
| | #16 0x7079a2e2a1c9 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16 |
| | #17 0x7079a2e2a28a in __libc_start_main csu/../csu/libc-start.c:360:3 |
| | #18 0x5a9f31523984 in _start (/tmp/ruby/build/trunk_asan/ruby+0x16b984) (BuildId: 28a4471a33c958f38b64aca5568d16b2f94fb8e4) |
| | |
| | ==3356895==ABORTING |
| | -:26: [BUG] ASAN error |
| | ruby 4.1.0dev (2026-01-15T22:57:27Z master 5d2fd5088d) +PRISM [x86_64-linux] |
| | |
| | -- Control frame information ----------------------------------------------- |
| | c:0003 p:---- s:0016 e:000015 l:y b:---- CFUNC :force_encoding |
| | c:0002 p:0054 s:0011 e:000009 l:n b:---- BLOCK -:26 [FINISH] |
| | c:0001 p:---- s:0003 e:000002 l:y b:---- DUMMY [FINISH] |
| | |
| | -- Ruby level backtrace information ---------------------------------------- |
| | -:26:in 'block in <main>' |
| | -:26:in 'force_encoding' |
| | |
| | -- Threading information --------------------------------------------------- |
| | Total ractor count: 2 |
| | Ruby thread count for this ractor: 1 |
| | |
| | -- C level backtrace information ------------------------------------------- |
| | /tmp/ruby/build/trunk_asan/ruby(___interceptor_backtrace) [0x5a9f31569d69] |
| | /tmp/ruby/build/trunk_asan/ruby(rb_print_backtrace+0x14) [0x5a9f31a78974] /tmp/ruby/src/trunk_asan/vm_dump.c:1105 |
| | /tmp/ruby/build/trunk_asan/ruby(rb_vm_bugreport) /tmp/ruby/src/trunk_asan/vm_dump.c:1450 |
| | /tmp/ruby/build/trunk_asan/ruby(rb_bug_without_die_internal+0x2c5) [0x5a9f31e2cbd5] /tmp/ruby/src/trunk_asan/error.c:1098 |
| | /tmp/ruby/build/trunk_asan/ruby(rb_bug_without_die+0x12c) [0x5a9f31e2c86c] /tmp/ruby/src/trunk_asan/error.c:1107 |
| | /tmp/ruby/build/trunk_asan/ruby(0x5a9f315e628a) [0x5a9f315e628a] |
| | /tmp/ruby/build/trunk_asan/ruby(0x5a9f315c6d0f) [0x5a9f315c6d0f] |
| | /tmp/ruby/build/trunk_asan/ruby(0x5a9f315c9d9d) [0x5a9f315c9d9d] |
| | /tmp/ruby/build/trunk_asan/ruby(__asan_report_load4) [0x5a9f315caa3c] |
| | /tmp/ruby/build/trunk_asan/ruby(ractor_lock+0x0) [0x5a9f317cace9] /tmp/ruby/src/trunk_asan/ractor_sync.c:1017 |
| | /tmp/ruby/build/trunk_asan/ruby(ubf_ractor_wait) /tmp/ruby/src/trunk_asan/ractor_sync.c:1015 |
| | /tmp/ruby/build/trunk_asan/ruby(rb_native_mutex_unlock+0x0) [0x5a9f3195d4a2] /tmp/ruby/src/trunk_asan/thread.c:368 |
| | /tmp/ruby/build/trunk_asan/ruby(rb_threadptr_interrupt_exec) /tmp/ruby/src/trunk_asan/thread.c:6244 |
| | /tmp/ruby/build/trunk_asan/ruby(rb_ractor_interrupt_exec) /tmp/ruby/src/trunk_asan/thread.c:6299 |
| | /tmp/ruby/build/trunk_asan/ruby(rb_ractor_require+0x652) [0x5a9f317c4652] /tmp/ruby/src/trunk_asan/ractor.c:2552 |
| | /tmp/ruby/build/trunk_asan/ruby(rb_num2int_inline+0x0) [0x5a9f3171d8ea] /tmp/ruby/src/trunk_asan/load.c:1409 |
| | /tmp/ruby/build/trunk_asan/ruby(rb_require_internal_silent) /tmp/ruby/src/trunk_asan/load.c:1409 |
| | /tmp/ruby/build/trunk_asan/ruby(load_encoding+0xe1f) [0x5a9f31dfc26f] /tmp/ruby/src/trunk_asan/encoding.c:816 |
| | /tmp/ruby/build/trunk_asan/ruby(rb_enc_autoload+0x4cd) [0x5a9f31dfb21d] /tmp/ruby/src/trunk_asan/encoding.c:876 |
| | /tmp/ruby/build/trunk_asan/ruby(rb_to_encoding+0x1c7) [0x5a9f31df6da7] /tmp/ruby/src/trunk_asan/encoding.c:218 |
| | /tmp/ruby/build/trunk_asan/ruby(rb_str_force_encoding+0x3d) [0x5a9f3190f00d] /tmp/ruby/src/trunk_asan/string.c:11569 |
| | /tmp/ruby/build/trunk_asan/ruby(vm_cfp_consistent_p+0x0) [0x5a9f31a444a8] /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3902 |
| | /tmp/ruby/build/trunk_asan/ruby(vm_call_cfunc_with_frame_) /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3904 |
| | /tmp/ruby/build/trunk_asan/ruby(vm_call_method_each_type+0x295) [0x5a9f31a29cf5] /tmp/ruby/src/trunk_asan/vm_insnhelper.c:4888 |
| | /tmp/ruby/build/trunk_asan/ruby(vm_call_method+0x2d5) [0x5a9f31a29785] |
| | /tmp/ruby/build/trunk_asan/ruby(vm_sendish+0x265) [0x5a9f319e513d] /tmp/ruby/src/trunk_asan/vm_insnhelper.c:6124 |
| | /tmp/ruby/build/trunk_asan/ruby(vm_exec_core) ../../src/trunk_asan/insns.def:904 |
| | /tmp/ruby/build/trunk_asan/ruby(rb_vm_exec+0x4e2) [0x5a9f319d3ab2] /tmp/ruby/src/trunk_asan/vm.c:2798 |
| | /tmp/ruby/build/trunk_asan/ruby(invoke_iseq_block_from_c+0x1f2) [0x5a9f31a181cb] /tmp/ruby/src/trunk_asan/vm.c:1820 |
| | /tmp/ruby/build/trunk_asan/ruby(invoke_block_from_c_proc) /tmp/ruby/src/trunk_asan/vm.c:1914 |
| | /tmp/ruby/build/trunk_asan/ruby(vm_invoke_proc) /tmp/ruby/src/trunk_asan/vm.c:1944 |
| | /tmp/ruby/build/trunk_asan/ruby(thread_do_start_proc+0x657) [0x5a9f31965947] /tmp/ruby/src/trunk_asan/thread.c:604 |
| | /tmp/ruby/build/trunk_asan/ruby(thread_do_start+0x19a) [0x5a9f31963669] /tmp/ruby/src/trunk_asan/thread.c:646 |
| | /tmp/ruby/build/trunk_asan/ruby(thread_start_func_2) /tmp/ruby/src/trunk_asan/thread.c:697 |
| | /tmp/ruby/build/trunk_asan/ruby(call_thread_start_func_2+0x52) [0x5a9f3196294e] /tmp/ruby/src/trunk_asan/thread_pthread.c:2227 |
| | /tmp/ruby/build/trunk_asan/ruby(nt_start) /tmp/ruby/src/trunk_asan/thread_pthread.c:2272 |
| | /tmp/ruby/build/trunk_asan/ruby(0x5a9f315bfaff) [0x5a9f315bfaff] |
| | /lib/x86_64-linux-gnu/libc.so.6(start_thread+0x384) [0x7079a2e9caa4] ./nptl/pthread_create.c:447 |
| | /lib/x86_64-linux-gnu/libc.so.6(clone3+0x2c) [0x7079a2f29c6c] ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 |
| | /lib/x86_64-linux-gnu/libc.so.6(__GI___clone3) (null):0 |
| | /lib/x86_64-linux-gnu/libc.so.6(__clone3) (null):0 |
| | |
| | -- Other runtime information ----------------------------------------------- |
| | |
| | * Loaded script: - |
| | |
| | * Ruby Box: disabled |
| | * Loaded features: |
| | |
| | 0 enumerator.so |
| | 1 thread.rb |
| | 2 fiber.so |
| | 3 rational.so |
| | 4 complex.so |
| | 5 pathname.so |
| | 6 ruby2_keywords.rb |
| | 7 set.rb |
| | 8 /tmp/ruby/build/trunk_asan/.ext/x86_64-linux/enc/encdb.so |
| | 9 /tmp/ruby/build/trunk_asan/.ext/x86_64-linux/enc/trans/transdb.so |
| | 10 /tmp/ruby/src/trunk_asan/lib/open3/version.rb |
| | 11 /tmp/ruby/src/trunk_asan/lib/open3.rb |
| | 12 /tmp/ruby/src/trunk_asan/lib/timeout.rb |
| | 13 /tmp/ruby/build/trunk_asan/rbconfig.rb |
| | 14 /tmp/ruby/src/trunk_asan/tool/lib/find_executable.rb |
| | 15 /tmp/ruby/build/trunk_asan/.ext/x86_64-linux/rbconfig/sizeof.so |
| | 16 /tmp/ruby/src/trunk_asan/tool/lib/envutil.rb |
| | 17 /tmp/ruby/src/trunk_asan/tool/lib/colorize.rb |
| | 18 /tmp/ruby/src/trunk_asan/tool/lib/leakchecker.rb |
| | 19 /tmp/ruby/src/trunk_asan/lib/prettyprint.rb |
| | 20 /tmp/ruby/src/trunk_asan/lib/pp.rb |
| | 21 /tmp/ruby/src/trunk_asan/tool/lib/test/unit/assertions.rb |
| | 22 /tmp/ruby/build/trunk_asan/.ext/x86_64-linux/-test-/sanitizers.so |
| | 23 /tmp/ruby/build/trunk_asan/.ext/x86_64-linux/io/console.so |
| | 24 /tmp/ruby/src/trunk_asan/tool/lib/core_assertions.rb |
| | 25 /tmp/ruby/src/trunk_asan/tool/lib/test/unit/testcase.rb |
| | 26 /tmp/ruby/src/trunk_asan/tool/lib/test/jobserver.rb |
| | 27 /tmp/ruby/src/trunk_asan/lib/optparse.rb |
| | 28 /tmp/ruby/src/trunk_asan/tool/lib/test/unit.rb |
| | 29 /tmp/ruby/build/trunk_asan/.ext/x86_64-linux/enc/utf_16le.so |
| | |
| make: *** [uncommon.mk:913: yes-test-all] Error 1 |
| "make yes-test-rubyspec MSPECOPT='--error-output stderr -j' TESTS='-j16'" exit with 0. |