| "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/typeprof |
| * branch b19a6416da3a05d57fadd6ffdadb382b6d236ca5 -> FETCH_HEAD |
| HEAD is now at b19a641 Add support for future `putchilledstring` instruction |
| 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 |
| "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 |
| ================================================================= |
| ==114606==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x503000edb278 at pc 0x5c6a0a043683 bp 0x7ffc67c320b0 sp 0x7ffc67c320a8 |
| READ of size 4 at 0x503000edb278 thread T0 |
| #0 0x5c6a0a043682 in pm_compile_branch_condition /tmp/ruby/src/trunk_asan/prism_compile.c |
| #1 0x5c6a0a025925 in pm_compile_conditional /tmp/ruby/src/trunk_asan/prism_compile.c:1033:5 |
| #2 0x5c6a09f5adeb in pm_compile_node /tmp/ruby/src/trunk_asan/prism_compile.c |
| #3 0x5c6a09f5c7ff in pm_compile_node /tmp/ruby/src/trunk_asan/prism_compile.c |
| #4 0x5c6a0a035ebb in pm_compile_scope_node /tmp/ruby/src/trunk_asan/prism_compile.c:6815:13 |
| #5 0x5c6a09f568b6 in pm_compile_node /tmp/ruby/src/trunk_asan/prism_compile.c:9505:9 |
| #6 0x5c6a09f49d95 in pm_iseq_compile_node /tmp/ruby/src/trunk_asan/prism_compile.c:9890:9 |
| #7 0x5c6a09a263fa in pm_iseq_new_with_opt /tmp/ruby/src/trunk_asan/iseq.c:1055:5 |
| #8 0x5c6a09a269b0 in pm_iseq_new_eval /tmp/ruby/src/trunk_asan/iseq.c:957:12 |
| #9 0x5c6a09d3cce2 in pm_eval_make_iseq /tmp/ruby/src/trunk_asan/vm_eval.c:1769:12 |
| #10 0x5c6a09d3cce2 in eval_make_iseq /tmp/ruby/src/trunk_asan/vm_eval.c:1789:16 |
| #11 0x5c6a09cef9f9 in eval_string_with_cref /tmp/ruby/src/trunk_asan/vm_eval.c:1873:12 |
| #12 0x5c6a09cef476 in rb_f_eval /tmp/ruby/src/trunk_asan/vm_eval.c:1948:16 |
| #13 0x5c6a09d221e7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3788:11 |
| #14 0x5c6a09ccfafc in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5955:15 |
| #15 0x5c6a09ccfafc in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:898:11 |
| #16 0x5c6a09cbed17 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2564:22 |
| #17 0x5c6a09d3f7c1 in invoke_iseq_block_from_c /tmp/ruby/src/trunk_asan/vm.c:1595:12 |
| #18 0x5c6a09d3f7c1 in invoke_block_from_c_bh /tmp/ruby/src/trunk_asan/vm.c:1609:20 |
| #19 0x5c6a09cec075 in vm_yield_with_cref /tmp/ruby/src/trunk_asan/vm.c:1646:12 |
| #20 0x5c6a09cec075 in vm_yield /tmp/ruby/src/trunk_asan/vm.c:1654:12 |
| #21 0x5c6a09cec075 in rb_yield_0 /tmp/ruby/src/trunk_asan/vm_eval.c:1344:12 |
| #22 0x5c6a09cec075 in rb_yield /tmp/ruby/src/trunk_asan/vm_eval.c |
| #23 0x5c6a09e96455 in rb_ary_collect /tmp/ruby/src/trunk_asan/array.c:3702:30 |
| #24 0x5c6a09d221e7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3788:11 |
| #25 0x5c6a09cc709a in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5955:15 |
| #26 0x5c6a09cc709a in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:851:11 |
| #27 0x5c6a09cbf0d0 in vm_exec_loop /tmp/ruby/src/trunk_asan/vm.c:2591:22 |
| #28 0x5c6a09cbf0d0 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2570:18 |
| #29 0x5c6a09d3f7c1 in invoke_iseq_block_from_c /tmp/ruby/src/trunk_asan/vm.c:1595:12 |
| #30 0x5c6a09d3f7c1 in invoke_block_from_c_bh /tmp/ruby/src/trunk_asan/vm.c:1609:20 |
| #31 0x5c6a09cec075 in vm_yield_with_cref /tmp/ruby/src/trunk_asan/vm.c:1646:12 |
| #32 0x5c6a09cec075 in vm_yield /tmp/ruby/src/trunk_asan/vm.c:1654:12 |
| #33 0x5c6a09cec075 in rb_yield_0 /tmp/ruby/src/trunk_asan/vm_eval.c:1344:12 |
| #34 0x5c6a09cec075 in rb_yield /tmp/ruby/src/trunk_asan/vm_eval.c |
| #35 0x5c6a09e96455 in rb_ary_collect /tmp/ruby/src/trunk_asan/array.c:3702:30 |
| #36 0x5c6a09d221e7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3788:11 |
| #37 0x5c6a09cc709a in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5955:15 |
| #38 0x5c6a09cc709a in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:851:11 |
| #39 0x5c6a09cbf0d0 in vm_exec_loop /tmp/ruby/src/trunk_asan/vm.c:2591:22 |
| #40 0x5c6a09cbf0d0 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2570:18 |
| #41 0x5c6a0994733a in rb_ec_exec_node /tmp/ruby/src/trunk_asan/eval.c:281:9 |
| #42 0x5c6a0994733a in ruby_run_node /tmp/ruby/src/trunk_asan/eval.c:319:30 |
| #43 0x5c6a099408a6 in rb_main /tmp/ruby/src/trunk_asan/main.c:43:12 |
| #44 0x5c6a099408a6 in main /tmp/ruby/src/trunk_asan/main.c:62:12 |
| #45 0x702aff42a1c9 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16 |
| #46 0x702aff42a28a in __libc_start_main csu/../csu/libc-start.c:360:3 |
| #47 0x5c6a09864684 in _start (/tmp/ruby/build/trunk_asan/ruby+0x175684) (BuildId: b320a69fc05fd59abe789a68e859959c2631a6d1) |
| 0x503000edb278 is located 0 bytes after 24-byte region [0x503000edb260,0x503000edb278) |
| allocated by thread T0 here: |
| #0 0x5c6a09902d7c in calloc (/tmp/ruby/build/trunk_asan/ruby+0x213d7c) (BuildId: b320a69fc05fd59abe789a68e859959c2631a6d1) |
| #1 0x5c6a0a1e932a in pm_node_alloc /tmp/ruby/src/trunk_asan/prism/prism.c:1901:20 |
| #2 0x5c6a0a1e932a in pm_source_line_node_create /tmp/ruby/src/trunk_asan/prism/prism.c:6885:35 |
| #3 0x5c6a0a1c7c8d in parse_expression_prefix /tmp/ruby/src/trunk_asan/prism/prism.c:18480:34 |
| #4 0x5c6a0a1bfe3f in parse_expression /tmp/ruby/src/trunk_asan/prism/prism.c:21503:23 |
| #5 0x5c6a0a1d588f in parse_value_expression /tmp/ruby/src/trunk_asan/prism/prism.c:13153:23 |
| #6 0x5c6a0a1d588f in parse_expression_infix /tmp/ruby/src/trunk_asan/prism/prism.c:21257:36 |
| #7 0x5c6a0a1bffab in parse_expression /tmp/ruby/src/trunk_asan/prism/prism.c:21534:16 |
| #8 0x5c6a0a1b5299 in parse_statements /tmp/ruby/src/trunk_asan/prism/prism.c:13817:27 |
| #9 0x5c6a0a1987e1 in parse_program /tmp/ruby/src/trunk_asan/prism/prism.c:21716:40 |
| #10 0x5c6a0a1987e1 in pm_parse /tmp/ruby/src/trunk_asan/prism/prism.c:22120:12 |
| #11 0x5c6a09f6cef8 in pm_parse_string /tmp/ruby/src/trunk_asan/prism_compile.c:10806:23 |
| #12 0x5c6a09d3c99e in pm_eval_make_iseq /tmp/ruby/src/trunk_asan/vm_eval.c:1724:19 |
| #13 0x5c6a09d3c99e in eval_make_iseq /tmp/ruby/src/trunk_asan/vm_eval.c:1789:16 |
| #14 0x5c6a09cef9f9 in eval_string_with_cref /tmp/ruby/src/trunk_asan/vm_eval.c:1873:12 |
| #15 0x5c6a09cef476 in rb_f_eval /tmp/ruby/src/trunk_asan/vm_eval.c:1948:16 |
| #16 0x5c6a09d221e7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3788:11 |
| #17 0x5c6a09ccfafc in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5955:15 |
| #18 0x5c6a09ccfafc in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:898:11 |
| #19 0x5c6a09cbed17 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2564:22 |
| #20 0x5c6a09d3f7c1 in invoke_iseq_block_from_c /tmp/ruby/src/trunk_asan/vm.c:1595:12 |
| #21 0x5c6a09d3f7c1 in invoke_block_from_c_bh /tmp/ruby/src/trunk_asan/vm.c:1609:20 |
| #22 0x5c6a09cec075 in vm_yield_with_cref /tmp/ruby/src/trunk_asan/vm.c:1646:12 |
| #23 0x5c6a09cec075 in vm_yield /tmp/ruby/src/trunk_asan/vm.c:1654:12 |
| #24 0x5c6a09cec075 in rb_yield_0 /tmp/ruby/src/trunk_asan/vm_eval.c:1344:12 |
| #25 0x5c6a09cec075 in rb_yield /tmp/ruby/src/trunk_asan/vm_eval.c |
| #26 0x5c6a09e96455 in rb_ary_collect /tmp/ruby/src/trunk_asan/array.c:3702:30 |
| #27 0x5c6a09d221e7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3788:11 |
| #28 0x5c6a09cc709a in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5955:15 |
| #29 0x5c6a09cc709a in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:851:11 |
| #30 0x5c6a09cbf0d0 in vm_exec_loop /tmp/ruby/src/trunk_asan/vm.c:2591:22 |
| #31 0x5c6a09cbf0d0 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2570:18 |
| #32 0x5c6a09d3f7c1 in invoke_iseq_block_from_c /tmp/ruby/src/trunk_asan/vm.c:1595:12 |
| #33 0x5c6a09d3f7c1 in invoke_block_from_c_bh /tmp/ruby/src/trunk_asan/vm.c:1609:20 |
| #34 0x5c6a09cec075 in vm_yield_with_cref /tmp/ruby/src/trunk_asan/vm.c:1646:12 |
| #35 0x5c6a09cec075 in vm_yield /tmp/ruby/src/trunk_asan/vm.c:1654:12 |
| #36 0x5c6a09cec075 in rb_yield_0 /tmp/ruby/src/trunk_asan/vm_eval.c:1344:12 |
| #37 0x5c6a09cec075 in rb_yield /tmp/ruby/src/trunk_asan/vm_eval.c |
| #38 0x5c6a09e96455 in rb_ary_collect /tmp/ruby/src/trunk_asan/array.c:3702:30 |
| #39 0x5c6a09d221e7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3788:11 |
| #40 0x5c6a09cc709a in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5955:15 |
| #41 0x5c6a09cc709a in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:851:11 |
| #42 0x5c6a09cbf0d0 in vm_exec_loop /tmp/ruby/src/trunk_asan/vm.c:2591:22 |
| #43 0x5c6a09cbf0d0 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2570:18 |
| #44 0x5c6a0994733a in rb_ec_exec_node /tmp/ruby/src/trunk_asan/eval.c:281:9 |
| #45 0x5c6a0994733a in ruby_run_node /tmp/ruby/src/trunk_asan/eval.c:319:30 |
| #46 0x5c6a099408a6 in rb_main /tmp/ruby/src/trunk_asan/main.c:43:12 |
| #47 0x5c6a099408a6 in main /tmp/ruby/src/trunk_asan/main.c:62:12 |
| #48 0x702aff42a1c9 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: |
| 0x503000edaf80: fa fa fa fa fa fa fa fa 00 00 00 00 fa fa fa fa |
| 0x503000edb000: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x503000edb080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x503000edb100: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x503000edb180: fa fa fa fa 00 00 00 00 fa fa fa fa fa fa fa fa |
| =>0x503000edb200: 00 00 00 00 fa fa 00 00 05 fa fa fa 00 00 00[fa] |
| 0x503000edb280: fa fa 00 00 00 00 fa fa 00 00 00 fa fa fa 00 00 |
| 0x503000edb300: 00 fa fa fa 00 00 00 fa fa fa 00 00 00 fa fa fa |
| 0x503000edb380: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x503000edb400: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x503000edb480: fa fa fa fa fa fa fa fa fa fa 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 |
| ==114606==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. |