| "make update-download -j16" exit with 0. |
| "make update-src -j16" exit with 0. |
| From https://github.com/ruby/ruby |
| f2919bd..9c461cd master -> origin/master |
| "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. |
| /tmp/ruby/src/trunk_asan/test/ruby/test_syntax.rb:333: warning: key :k1 is duplicated and overwritten on line 333 |
| ================================================================= |
| ==4169995==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x503000e14768 at pc 0x57123b808683 bp 0x7ffd9cb57bd0 sp 0x7ffd9cb57bc8 |
| READ of size 4 at 0x503000e14768 thread T0 |
| #0 0x57123b808682 in pm_compile_branch_condition /tmp/ruby/src/trunk_asan/prism_compile.c |
| #1 0x57123b7ea925 in pm_compile_conditional /tmp/ruby/src/trunk_asan/prism_compile.c:1033:5 |
| #2 0x57123b71fdeb in pm_compile_node /tmp/ruby/src/trunk_asan/prism_compile.c |
| #3 0x57123b7217ff in pm_compile_node /tmp/ruby/src/trunk_asan/prism_compile.c |
| #4 0x57123b7faebb in pm_compile_scope_node /tmp/ruby/src/trunk_asan/prism_compile.c:6815:13 |
| #5 0x57123b71b8b6 in pm_compile_node /tmp/ruby/src/trunk_asan/prism_compile.c:9505:9 |
| #6 0x57123b70ed95 in pm_iseq_compile_node /tmp/ruby/src/trunk_asan/prism_compile.c:9890:9 |
| #7 0x57123b1eb3fa in pm_iseq_new_with_opt /tmp/ruby/src/trunk_asan/iseq.c:1055:5 |
| #8 0x57123b1eb9b0 in pm_iseq_new_eval /tmp/ruby/src/trunk_asan/iseq.c:957:12 |
| #9 0x57123b501ce2 in pm_eval_make_iseq /tmp/ruby/src/trunk_asan/vm_eval.c:1769:12 |
| #10 0x57123b501ce2 in eval_make_iseq /tmp/ruby/src/trunk_asan/vm_eval.c:1789:16 |
| #11 0x57123b4b49f9 in eval_string_with_cref /tmp/ruby/src/trunk_asan/vm_eval.c:1873:12 |
| #12 0x57123b4b4476 in rb_f_eval /tmp/ruby/src/trunk_asan/vm_eval.c:1948:16 |
| #13 0x57123b4e71e7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3788:11 |
| #14 0x57123b494afc in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5955:15 |
| #15 0x57123b494afc in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:898:11 |
| #16 0x57123b483d17 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2564:22 |
| #17 0x57123b5047c1 in invoke_iseq_block_from_c /tmp/ruby/src/trunk_asan/vm.c:1595:12 |
| #18 0x57123b5047c1 in invoke_block_from_c_bh /tmp/ruby/src/trunk_asan/vm.c:1609:20 |
| #19 0x57123b4b1075 in vm_yield_with_cref /tmp/ruby/src/trunk_asan/vm.c:1646:12 |
| #20 0x57123b4b1075 in vm_yield /tmp/ruby/src/trunk_asan/vm.c:1654:12 |
| #21 0x57123b4b1075 in rb_yield_0 /tmp/ruby/src/trunk_asan/vm_eval.c:1344:12 |
| #22 0x57123b4b1075 in rb_yield /tmp/ruby/src/trunk_asan/vm_eval.c |
| #23 0x57123b65b455 in rb_ary_collect /tmp/ruby/src/trunk_asan/array.c:3702:30 |
| #24 0x57123b4e71e7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3788:11 |
| #25 0x57123b48c09a in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5955:15 |
| #26 0x57123b48c09a in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:851:11 |
| #27 0x57123b4840d0 in vm_exec_loop /tmp/ruby/src/trunk_asan/vm.c:2591:22 |
| #28 0x57123b4840d0 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2570:18 |
| #29 0x57123b5047c1 in invoke_iseq_block_from_c /tmp/ruby/src/trunk_asan/vm.c:1595:12 |
| #30 0x57123b5047c1 in invoke_block_from_c_bh /tmp/ruby/src/trunk_asan/vm.c:1609:20 |
| #31 0x57123b4b1075 in vm_yield_with_cref /tmp/ruby/src/trunk_asan/vm.c:1646:12 |
| #32 0x57123b4b1075 in vm_yield /tmp/ruby/src/trunk_asan/vm.c:1654:12 |
| #33 0x57123b4b1075 in rb_yield_0 /tmp/ruby/src/trunk_asan/vm_eval.c:1344:12 |
| #34 0x57123b4b1075 in rb_yield /tmp/ruby/src/trunk_asan/vm_eval.c |
| #35 0x57123b65b455 in rb_ary_collect /tmp/ruby/src/trunk_asan/array.c:3702:30 |
| #36 0x57123b4e71e7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3788:11 |
| #37 0x57123b48c09a in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5955:15 |
| #38 0x57123b48c09a in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:851:11 |
| #39 0x57123b4840d0 in vm_exec_loop /tmp/ruby/src/trunk_asan/vm.c:2591:22 |
| #40 0x57123b4840d0 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2570:18 |
| #41 0x57123b10c33a in rb_ec_exec_node /tmp/ruby/src/trunk_asan/eval.c:281:9 |
| #42 0x57123b10c33a in ruby_run_node /tmp/ruby/src/trunk_asan/eval.c:319:30 |
| #43 0x57123b1058a6 in rb_main /tmp/ruby/src/trunk_asan/main.c:43:12 |
| #44 0x57123b1058a6 in main /tmp/ruby/src/trunk_asan/main.c:62:12 |
| #45 0x7e20e342a1c9 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16 |
| #46 0x7e20e342a28a in __libc_start_main csu/../csu/libc-start.c:360:3 |
| #47 0x57123b029684 in _start (/tmp/ruby/build/trunk_asan/ruby+0x175684) (BuildId: d5c72e7e7c2c8bf9f3344c7f70d84e482e44aaf2) |
| 0x503000e14768 is located 0 bytes after 24-byte region [0x503000e14750,0x503000e14768) |
| allocated by thread T0 here: |
| #0 0x57123b0c7d7c in calloc (/tmp/ruby/build/trunk_asan/ruby+0x213d7c) (BuildId: d5c72e7e7c2c8bf9f3344c7f70d84e482e44aaf2) |
| #1 0x57123b9ae32a in pm_node_alloc /tmp/ruby/src/trunk_asan/prism/prism.c:1901:20 |
| #2 0x57123b9ae32a in pm_source_line_node_create /tmp/ruby/src/trunk_asan/prism/prism.c:6885:35 |
| #3 0x57123b98cc8d in parse_expression_prefix /tmp/ruby/src/trunk_asan/prism/prism.c:18480:34 |
| #4 0x57123b984e3f in parse_expression /tmp/ruby/src/trunk_asan/prism/prism.c:21503:23 |
| #5 0x57123b99a88f in parse_value_expression /tmp/ruby/src/trunk_asan/prism/prism.c:13153:23 |
| #6 0x57123b99a88f in parse_expression_infix /tmp/ruby/src/trunk_asan/prism/prism.c:21257:36 |
| #7 0x57123b984fab in parse_expression /tmp/ruby/src/trunk_asan/prism/prism.c:21534:16 |
| #8 0x57123b97a299 in parse_statements /tmp/ruby/src/trunk_asan/prism/prism.c:13817:27 |
| #9 0x57123b95d7e1 in parse_program /tmp/ruby/src/trunk_asan/prism/prism.c:21716:40 |
| #10 0x57123b95d7e1 in pm_parse /tmp/ruby/src/trunk_asan/prism/prism.c:22120:12 |
| #11 0x57123b731ef8 in pm_parse_string /tmp/ruby/src/trunk_asan/prism_compile.c:10806:23 |
| #12 0x57123b50199e in pm_eval_make_iseq /tmp/ruby/src/trunk_asan/vm_eval.c:1724:19 |
| #13 0x57123b50199e in eval_make_iseq /tmp/ruby/src/trunk_asan/vm_eval.c:1789:16 |
| #14 0x57123b4b49f9 in eval_string_with_cref /tmp/ruby/src/trunk_asan/vm_eval.c:1873:12 |
| #15 0x57123b4b4476 in rb_f_eval /tmp/ruby/src/trunk_asan/vm_eval.c:1948:16 |
| #16 0x57123b4e71e7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3788:11 |
| #17 0x57123b494afc in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5955:15 |
| #18 0x57123b494afc in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:898:11 |
| #19 0x57123b483d17 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2564:22 |
| #20 0x57123b5047c1 in invoke_iseq_block_from_c /tmp/ruby/src/trunk_asan/vm.c:1595:12 |
| #21 0x57123b5047c1 in invoke_block_from_c_bh /tmp/ruby/src/trunk_asan/vm.c:1609:20 |
| #22 0x57123b4b1075 in vm_yield_with_cref /tmp/ruby/src/trunk_asan/vm.c:1646:12 |
| #23 0x57123b4b1075 in vm_yield /tmp/ruby/src/trunk_asan/vm.c:1654:12 |
| #24 0x57123b4b1075 in rb_yield_0 /tmp/ruby/src/trunk_asan/vm_eval.c:1344:12 |
| #25 0x57123b4b1075 in rb_yield /tmp/ruby/src/trunk_asan/vm_eval.c |
| #26 0x57123b65b455 in rb_ary_collect /tmp/ruby/src/trunk_asan/array.c:3702:30 |
| #27 0x57123b4e71e7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3788:11 |
| #28 0x57123b48c09a in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5955:15 |
| #29 0x57123b48c09a in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:851:11 |
| #30 0x57123b4840d0 in vm_exec_loop /tmp/ruby/src/trunk_asan/vm.c:2591:22 |
| #31 0x57123b4840d0 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2570:18 |
| #32 0x57123b5047c1 in invoke_iseq_block_from_c /tmp/ruby/src/trunk_asan/vm.c:1595:12 |
| #33 0x57123b5047c1 in invoke_block_from_c_bh /tmp/ruby/src/trunk_asan/vm.c:1609:20 |
| #34 0x57123b4b1075 in vm_yield_with_cref /tmp/ruby/src/trunk_asan/vm.c:1646:12 |
| #35 0x57123b4b1075 in vm_yield /tmp/ruby/src/trunk_asan/vm.c:1654:12 |
| #36 0x57123b4b1075 in rb_yield_0 /tmp/ruby/src/trunk_asan/vm_eval.c:1344:12 |
| #37 0x57123b4b1075 in rb_yield /tmp/ruby/src/trunk_asan/vm_eval.c |
| #38 0x57123b65b455 in rb_ary_collect /tmp/ruby/src/trunk_asan/array.c:3702:30 |
| #39 0x57123b4e71e7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3788:11 |
| #40 0x57123b48c09a in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:5955:15 |
| #41 0x57123b48c09a in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:851:11 |
| #42 0x57123b4840d0 in vm_exec_loop /tmp/ruby/src/trunk_asan/vm.c:2591:22 |
| #43 0x57123b4840d0 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2570:18 |
| #44 0x57123b10c33a in rb_ec_exec_node /tmp/ruby/src/trunk_asan/eval.c:281:9 |
| #45 0x57123b10c33a in ruby_run_node /tmp/ruby/src/trunk_asan/eval.c:319:30 |
| #46 0x57123b1058a6 in rb_main /tmp/ruby/src/trunk_asan/main.c:43:12 |
| #47 0x57123b1058a6 in main /tmp/ruby/src/trunk_asan/main.c:62:12 |
| #48 0x7e20e342a1c9 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: |
| 0x503000e14480: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x503000e14500: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x503000e14580: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x503000e14600: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa |
| 0x503000e14680: fa fa fa fa fa fa fa fa 00 00 00 00 fa fa 00 00 |
| =>0x503000e14700: 00 00 fa fa 00 00 05 fa fa fa 00 00 00[fa]fa fa |
| 0x503000e14780: 00 00 00 00 fa fa 00 00 00 fa fa fa 00 00 00 fa |
| 0x503000e14800: fa fa 00 00 00 fa fa fa 00 00 00 fa fa fa 00 00 |
| 0x503000e14880: 00 fa fa fa 00 00 00 fa fa fa 00 00 00 00 fa fa |
| 0x503000e14900: 00 00 00 00 fa fa 00 00 00 fa fa fa fd fd fd fa |
| 0x503000e14980: fa fa fd fd fd fd fa fa fd fd fd fd fa fa fd fd |
| 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 |
| ==4169995==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. |