| "git clone --depth 1 https://github.com/ruby/ruby.git trunk_asan" exit with 0. |
| Cloning into 'trunk_asan'... |
| "./autogen.sh" exit with 0. |
| "autoconf" exit with 0. |
| "/tmp/ruby/src/trunk_asan/configure --prefix=/tmp/ruby/install/trunk_asan --disable-install-doc 'CC=clang-17' 'cflags=-fsanitize=address -fno-omit-frame-pointer -DUSE_MN_THREADS=0'" exit with 0. |
| "make update-download -j16" exit with 0. |
| Cloning into '/tmp/ruby/src/trunk_asan/gems/src/typeprof'... |
| Cloning into '/tmp/ruby/src/trunk_asan/gems/src/power_assert'... |
| From https://github.com/ruby/power_assert |
| * branch 84e85124c5014a139af39161d484156cfe87a9ed -> FETCH_HEAD |
| HEAD is now at 84e8512 Merge pull request #48 from casperisfine/frozen-string-literals |
| From https://github.com/ruby/typeprof |
| * branch b19a6416da3a05d57fadd6ffdadb382b6d236ca5 -> FETCH_HEAD |
| HEAD is now at b19a641 Add support for future `putchilledstring` instruction |
| "make update-src -j16" exit with 0. |
| "make after-update -j16" exit with 0. |
| + cp /tmp/ruby/src/trunk_asan/enc/jis/props.h.blt /tmp/ruby/src/trunk_asan/enc/jis/props.h |
| "make miniruby -j16" exit with 0. |
| "make ruby -j16" exit with 0. |
| "make all -j16" exit with 0. |
| libffi_version: 3.4.6 |
| "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. |
| /tmp/ruby/src/trunk_asan/test/ruby/test_syntax.rb:333: warning: key :k1 is duplicated and overwritten on line 333 |
| ================================================================= |
| ==42210==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x5030006c0ad8 at pc 0x585ad4005683 bp 0x7ffd5d5a2270 sp 0x7ffd5d5a2268 |
| READ of size 4 at 0x5030006c0ad8 thread T0 |
| #0 0x585ad4005682 in pm_compile_branch_condition /tmp/ruby/src/trunk_asan/prism_compile.c |
| #1 0x585ad3fe7925 in pm_compile_conditional /tmp/ruby/src/trunk_asan/prism_compile.c:1033:5 |
| #2 0x585ad3f1cdeb in pm_compile_node /tmp/ruby/src/trunk_asan/prism_compile.c |
| #3 0x585ad3f1e7ff in pm_compile_node /tmp/ruby/src/trunk_asan/prism_compile.c |
| #4 0x585ad3ff7ebb in pm_compile_scope_node /tmp/ruby/src/trunk_asan/prism_compile.c:6815:13 |
| #5 0x585ad3f188b6 in pm_compile_node /tmp/ruby/src/trunk_asan/prism_compile.c:9505:9 |
| #6 0x585ad3f0bd95 in pm_iseq_compile_node /tmp/ruby/src/trunk_asan/prism_compile.c:9890:9 |
| #7 0x585ad39e83fa in pm_iseq_new_with_opt /tmp/ruby/src/trunk_asan/iseq.c:1055:5 |
| #8 0x585ad39e89b0 in pm_iseq_new_eval /tmp/ruby/src/trunk_asan/iseq.c:957:12 |
| #9 0x585ad3cfece2 in pm_eval_make_iseq /tmp/ruby/src/trunk_asan/vm_eval.c:1769:12 |
| #10 0x585ad3cfece2 in eval_make_iseq /tmp/ruby/src/trunk_asan/vm_eval.c:1789:16 |
| #11 0x585ad3cb19f9 in eval_string_with_cref /tmp/ruby/src/trunk_asan/vm_eval.c:1873:12 |
| #12 0x585ad3cb1476 in rb_f_eval /tmp/ruby/src/trunk_asan/vm_eval.c:1948:16 |
| #13 0x585ad3ce41e7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3788:11 |
| #14 0x585ad3c91afc in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5955:15 |
| #15 0x585ad3c91afc in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:898:11 |
| #16 0x585ad3c80d17 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2564:22 |
| #17 0x585ad3d017c1 in invoke_iseq_block_from_c /tmp/ruby/src/trunk_asan/vm.c:1595:12 |
| #18 0x585ad3d017c1 in invoke_block_from_c_bh /tmp/ruby/src/trunk_asan/vm.c:1609:20 |
| #19 0x585ad3cae075 in vm_yield_with_cref /tmp/ruby/src/trunk_asan/vm.c:1646:12 |
| #20 0x585ad3cae075 in vm_yield /tmp/ruby/src/trunk_asan/vm.c:1654:12 |
| #21 0x585ad3cae075 in rb_yield_0 /tmp/ruby/src/trunk_asan/vm_eval.c:1344:12 |
| #22 0x585ad3cae075 in rb_yield /tmp/ruby/src/trunk_asan/vm_eval.c |
| #23 0x585ad3e58455 in rb_ary_collect /tmp/ruby/src/trunk_asan/array.c:3702:30 |
| #24 0x585ad3ce41e7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3788:11 |
| #25 0x585ad3c8909a in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5955:15 |
| #26 0x585ad3c8909a in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:851:11 |
| #27 0x585ad3c810d0 in vm_exec_loop /tmp/ruby/src/trunk_asan/vm.c:2591:22 |
| #28 0x585ad3c810d0 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2570:18 |
| #29 0x585ad3d017c1 in invoke_iseq_block_from_c /tmp/ruby/src/trunk_asan/vm.c:1595:12 |
| #30 0x585ad3d017c1 in invoke_block_from_c_bh /tmp/ruby/src/trunk_asan/vm.c:1609:20 |
| #31 0x585ad3cae075 in vm_yield_with_cref /tmp/ruby/src/trunk_asan/vm.c:1646:12 |
| #32 0x585ad3cae075 in vm_yield /tmp/ruby/src/trunk_asan/vm.c:1654:12 |
| #33 0x585ad3cae075 in rb_yield_0 /tmp/ruby/src/trunk_asan/vm_eval.c:1344:12 |
| #34 0x585ad3cae075 in rb_yield /tmp/ruby/src/trunk_asan/vm_eval.c |
| #35 0x585ad3e58455 in rb_ary_collect /tmp/ruby/src/trunk_asan/array.c:3702:30 |
| #36 0x585ad3ce41e7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3788:11 |
| #37 0x585ad3c8909a in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5955:15 |
| #38 0x585ad3c8909a in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:851:11 |
| #39 0x585ad3c810d0 in vm_exec_loop /tmp/ruby/src/trunk_asan/vm.c:2591:22 |
| #40 0x585ad3c810d0 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2570:18 |
| #41 0x585ad390933a in rb_ec_exec_node /tmp/ruby/src/trunk_asan/eval.c:281:9 |
| #42 0x585ad390933a in ruby_run_node /tmp/ruby/src/trunk_asan/eval.c:319:30 |
| #43 0x585ad39028a6 in rb_main /tmp/ruby/src/trunk_asan/main.c:43:12 |
| #44 0x585ad39028a6 in main /tmp/ruby/src/trunk_asan/main.c:62:12 |
| #45 0x77bebd22a1c9 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16 |
| #46 0x77bebd22a28a in __libc_start_main csu/../csu/libc-start.c:360:3 |
| #47 0x585ad3826684 in _start (/tmp/ruby/build/trunk_asan/ruby+0x175684) (BuildId: b320a69fc05fd59abe789a68e859959c2631a6d1) |
| 0x5030006c0ad8 is located 0 bytes after 24-byte region [0x5030006c0ac0,0x5030006c0ad8) |
| allocated by thread T0 here: |
| #0 0x585ad38c4d7c in calloc (/tmp/ruby/build/trunk_asan/ruby+0x213d7c) (BuildId: b320a69fc05fd59abe789a68e859959c2631a6d1) |
| #1 0x585ad41ab32a in pm_node_alloc /tmp/ruby/src/trunk_asan/prism/prism.c:1901:20 |
| #2 0x585ad41ab32a in pm_source_line_node_create /tmp/ruby/src/trunk_asan/prism/prism.c:6885:35 |
| #3 0x585ad4189c8d in parse_expression_prefix /tmp/ruby/src/trunk_asan/prism/prism.c:18480:34 |
| #4 0x585ad4181e3f in parse_expression /tmp/ruby/src/trunk_asan/prism/prism.c:21503:23 |
| #5 0x585ad419788f in parse_value_expression /tmp/ruby/src/trunk_asan/prism/prism.c:13153:23 |
| #6 0x585ad419788f in parse_expression_infix /tmp/ruby/src/trunk_asan/prism/prism.c:21257:36 |
| #7 0x585ad4181fab in parse_expression /tmp/ruby/src/trunk_asan/prism/prism.c:21534:16 |
| #8 0x585ad4177299 in parse_statements /tmp/ruby/src/trunk_asan/prism/prism.c:13817:27 |
| #9 0x585ad415a7e1 in parse_program /tmp/ruby/src/trunk_asan/prism/prism.c:21716:40 |
| #10 0x585ad415a7e1 in pm_parse /tmp/ruby/src/trunk_asan/prism/prism.c:22120:12 |
| #11 0x585ad3f2eef8 in pm_parse_string /tmp/ruby/src/trunk_asan/prism_compile.c:10806:23 |
| #12 0x585ad3cfe99e in pm_eval_make_iseq /tmp/ruby/src/trunk_asan/vm_eval.c:1724:19 |
| #13 0x585ad3cfe99e in eval_make_iseq /tmp/ruby/src/trunk_asan/vm_eval.c:1789:16 |
| #14 0x585ad3cb19f9 in eval_string_with_cref /tmp/ruby/src/trunk_asan/vm_eval.c:1873:12 |
| #15 0x585ad3cb1476 in rb_f_eval /tmp/ruby/src/trunk_asan/vm_eval.c:1948:16 |
| #16 0x585ad3ce41e7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3788:11 |
| #17 0x585ad3c91afc in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5955:15 |
| #18 0x585ad3c91afc in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:898:11 |
| #19 0x585ad3c80d17 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2564:22 |
| #20 0x585ad3d017c1 in invoke_iseq_block_from_c /tmp/ruby/src/trunk_asan/vm.c:1595:12 |
| #21 0x585ad3d017c1 in invoke_block_from_c_bh /tmp/ruby/src/trunk_asan/vm.c:1609:20 |
| #22 0x585ad3cae075 in vm_yield_with_cref /tmp/ruby/src/trunk_asan/vm.c:1646:12 |
| #23 0x585ad3cae075 in vm_yield /tmp/ruby/src/trunk_asan/vm.c:1654:12 |
| #24 0x585ad3cae075 in rb_yield_0 /tmp/ruby/src/trunk_asan/vm_eval.c:1344:12 |
| #25 0x585ad3cae075 in rb_yield /tmp/ruby/src/trunk_asan/vm_eval.c |
| #26 0x585ad3e58455 in rb_ary_collect /tmp/ruby/src/trunk_asan/array.c:3702:30 |
| #27 0x585ad3ce41e7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3788:11 |
| #28 0x585ad3c8909a in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5955:15 |
| #29 0x585ad3c8909a in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:851:11 |
| #30 0x585ad3c810d0 in vm_exec_loop /tmp/ruby/src/trunk_asan/vm.c:2591:22 |
| #31 0x585ad3c810d0 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2570:18 |
| #32 0x585ad3d017c1 in invoke_iseq_block_from_c /tmp/ruby/src/trunk_asan/vm.c:1595:12 |
| #33 0x585ad3d017c1 in invoke_block_from_c_bh /tmp/ruby/src/trunk_asan/vm.c:1609:20 |
| #34 0x585ad3cae075 in vm_yield_with_cref /tmp/ruby/src/trunk_asan/vm.c:1646:12 |
| #35 0x585ad3cae075 in vm_yield /tmp/ruby/src/trunk_asan/vm.c:1654:12 |
| #36 0x585ad3cae075 in rb_yield_0 /tmp/ruby/src/trunk_asan/vm_eval.c:1344:12 |
| #37 0x585ad3cae075 in rb_yield /tmp/ruby/src/trunk_asan/vm_eval.c |
| #38 0x585ad3e58455 in rb_ary_collect /tmp/ruby/src/trunk_asan/array.c:3702:30 |
| #39 0x585ad3ce41e7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3788:11 |
| #40 0x585ad3c8909a in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5955:15 |
| #41 0x585ad3c8909a in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:851:11 |
| #42 0x585ad3c810d0 in vm_exec_loop /tmp/ruby/src/trunk_asan/vm.c:2591:22 |
| #43 0x585ad3c810d0 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2570:18 |
| #44 0x585ad390933a in rb_ec_exec_node /tmp/ruby/src/trunk_asan/eval.c:281:9 |
| #45 0x585ad390933a in ruby_run_node /tmp/ruby/src/trunk_asan/eval.c:319:30 |
| #46 0x585ad39028a6 in rb_main /tmp/ruby/src/trunk_asan/main.c:43:12 |
| #47 0x585ad39028a6 in main /tmp/ruby/src/trunk_asan/main.c:62:12 |
| #48 0x77bebd22a1c9 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16 |
| SUMMARY: AddressSanitizer: heap-buffer-overflow /tmp/ruby/src/trunk_asan/prism_compile.c in pm_compile_branch_condition |
| Shadow bytes around the buggy address: |
| 0x5030006c0800: fa fa fa fa 00 00 00 fa fa fa fa fa fa fa fa fa |
| 0x5030006c0880: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x5030006c0900: fa fa fa fa fa fa fa fa 00 00 00 fa fa fa 00 00 |
| 0x5030006c0980: 00 00 fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x5030006c0a00: 00 00 00 00 fa fa fa fa fa fa fa fa fa fa fa fa |
| =>0x5030006c0a80: fa fa 00 00 00 fa fa fa 00 00 00[fa]fa fa 00 00 |
| 0x5030006c0b00: 05 fa fa fa 00 00 00 fa fa fa fa fa fa fa fa fa |
| 0x5030006c0b80: 00 00 00 fa fa fa fa fa fa fa fa fa 00 00 00 fa |
| 0x5030006c0c00: fa fa 00 00 00 fa fa fa 00 00 00 00 fa fa 00 00 |
| 0x5030006c0c80: 00 fa fa fa 00 00 00 fa fa fa fa fa fa fa fa fa |
| 0x5030006c0d00: fd fd fd fd fa fa 00 00 00 00 fa fa fa fa fa fa |
| 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 |
| ==42210==ABORTING |
| running file: /tmp/ruby/src/trunk_asan/test/ruby/test_syntax.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:964: yes-test-all] Error 1 |
| "make yes-test-rubyspec MSPECOPT='--error-output stderr -j' TESTS='-j16'" exit with 0. |