# Logfile created on 2026-03-17 15:20:25 +0000 by logger.rb/v1.5.3
#<BuildRuby:0x0000724e148ffdc0 @REPOSITORY="https://github.com/ruby/ruby.git", @REPOSITORY_TYPE=:git, @git_branch=nil, @git_tag=nil, @git_worktree=nil, @svn_revision=nil, @SRC_DIR="/tmp/ruby/src", @BUILD_DIR="/tmp/ruby/build", @INSTALL_DIR="/tmp/ruby/install", @TARGET_NAME="trunk_asan", @TARGET_SRC_DIR="/tmp/ruby/src/trunk_asan", @TARGET_BUILD_DIR="/tmp/ruby/build/trunk_asan", @TARGET_INSTALL_DIR="/tmp/ruby/install/trunk_asan", @configure_opts=["'CC=clang-17' 'cflags=-fsanitize=address -fno-omit-frame-pointer -DUSE_MN_THREADS=0'"], @build_opts="-j16", @btest_opts="-j16", @test_opts="TESTS='-j16'", @spec_opts="-j", @incremental=true, @steps=["checkout", "autoconf", "configure", "build_up", "build_miniruby", "build_ruby", "build_all", "build_install", "test_basic", "test_all", "test_rubyspec"], @quiet=false, @gist=false, @timeout=600, @no_timeout_error=true, @logfile="/home/ko1/ruby/logs/brlog.trunk_asan.20260317-152025", @ruby_env=[["RUBY_DEBUG", "ci"], ["RUBY_TEST_TIMEOUT_SCALE", "50"]], @make="make", @logger=#<Logger:0x0000724e197dc948 @level=0, @progname=nil, @default_formatter=#<Logger::Formatter:0x0000724e197dc768 @datetime_format=nil>, @formatter=nil, @logdev=#<Logger::LogDevice:0x0000724e148393a0 @shift_period_suffix="%Y%m%d", @shift_size=1048576, @shift_age=0, @filename="/home/ko1/ruby/logs/brlog.trunk_asan.20260317-152025", @dev=#<File:/home/ko1/ruby/logs/brlog.trunk_asan.20260317-152025>, @binmode=false, @mon_data=#<Monitor:0x0000724e197dc3d0>, @mon_data_owner_object_id=900>>>
$$$[beg] make update-download -j16
tool/config.guess already exists
tool/config.sub already exists
rm -rf .bundle/gems/win32ole-1.9.3/
$$$[end] "make update-download -j16" exit with 0.
$$$[beg] make update-src      -j16
From https://github.com/ruby/ruby
   3903419..5026acf  master     -> origin/master
Updating 3903419..5026acf
Fast-forward
 depend                                         |   5 +
 prism/defines.h                                |  55 +++
 prism/node.h                                   |  19 +-
 prism/parser.h                                 |  55 ++-
 prism/prism.c                                  | 525 ++++++++++++++++++-------
 prism/regexp.c                                 |   5 +-
 prism/templates/include/prism/diagnostic.h.erb |  23 +-
 prism/templates/src/diagnostic.c.erb           |  45 +--
 prism/templates/src/node.c.erb                 |   5 +-
 prism/util/pm_arena.c                          |  63 ++-
 prism/util/pm_arena.h                          |  52 ++-
 prism/util/pm_char.c                           |  40 +-
 prism/util/pm_char.h                           |  81 ++--
 prism/util/pm_constant_pool.c                  | 156 ++++----
 prism/util/pm_constant_pool.h                  |  29 +-
 prism/util/pm_line_offset_list.c               |  46 +--
 prism/util/pm_line_offset_list.h               |  39 +-
 prism/util/pm_strpbrk.c                        | 257 +++++++++++-
 vm_eval.c                                      |   4 +-
 19 files changed, 1028 insertions(+), 476 deletions(-)
Latest commit hash = 5026acfb64
$$$[end] "make update-src      -j16" exit with 0.
$$$[beg] make after-update    -j16
sed -f /tmp/ruby/src/trunk_asan/tool/prereq.status /tmp/ruby/src/trunk_asan/common.mk /tmp/ruby/src/trunk_asan/prism/srcs.mk /tmp/ruby/src/trunk_asan/depend > uncommon.mk
compiling /tmp/ruby/src/trunk_asan/prism/encoding.c
compiling /tmp/ruby/src/trunk_asan/prism/options.c
compiling /tmp/ruby/src/trunk_asan/prism/prettyprint.c
compiling /tmp/ruby/src/trunk_asan/prism/static_literals.c
compiling /tmp/ruby/src/trunk_asan/prism/token_type.c
compiling /tmp/ruby/src/trunk_asan/prism/util/pm_arena.c
compiling /tmp/ruby/src/trunk_asan/prism/util/pm_buffer.c
compiling /tmp/ruby/src/trunk_asan/prism/util/pm_char.c
compiling /tmp/ruby/src/trunk_asan/prism/util/pm_constant_pool.c
compiling /tmp/ruby/src/trunk_asan/prism/util/pm_integer.c
compiling /tmp/ruby/src/trunk_asan/prism/util/pm_line_offset_list.c
compiling /tmp/ruby/src/trunk_asan/prism/util/pm_list.c
/tmp/ruby/src/trunk_asan/revision.h updated
compiling /tmp/ruby/src/trunk_asan/prism/util/pm_memchr.c
compiling /tmp/ruby/src/trunk_asan/prism/util/pm_string.c
compiling /tmp/ruby/src/trunk_asan/prism/util/pm_strncasecmp.c
compiling /tmp/ruby/src/trunk_asan/prism/util/pm_strpbrk.c
compiling /tmp/ruby/src/trunk_asan/prism/prism.c
compiling /tmp/ruby/src/trunk_asan/prism/diagnostic.c
compiling /tmp/ruby/src/trunk_asan/prism/node.c
compiling /tmp/ruby/src/trunk_asan/prism/regexp.c
compiling /tmp/ruby/src/trunk_asan/prism/serialize.c
generating x86_64-linux-fake.rb
x86_64-linux-fake.rb updated
generating enc.mk
making srcs under enc
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
make[1]: Nothing to be done for 'srcs'.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
compiling dump_ast
making /tmp/ruby/src/trunk_asan/ast.rbinc
making /tmp/ruby/src/trunk_asan/dir.rbinc
making /tmp/ruby/src/trunk_asan/gc.rbinc
making /tmp/ruby/src/trunk_asan/numeric.rbinc
making /tmp/ruby/src/trunk_asan/io.rbinc
making /tmp/ruby/src/trunk_asan/marshal.rbinc
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
making /tmp/ruby/src/trunk_asan/pack.rbinc
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
making /tmp/ruby/src/trunk_asan/trace_point.rbinc
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
making /tmp/ruby/src/trunk_asan/warning.rbinc
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
making /tmp/ruby/src/trunk_asan/array.rbinc
making /tmp/ruby/src/trunk_asan/hash.rbinc
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
making /tmp/ruby/src/trunk_asan/kernel.rbinc
making /tmp/ruby/src/trunk_asan/pathname_builtin.rbinc
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
making /tmp/ruby/src/trunk_asan/ractor.rbinc
making /tmp/ruby/src/trunk_asan/symbol.rbinc
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
making /tmp/ruby/src/trunk_asan/timev.rbinc
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
making /tmp/ruby/src/trunk_asan/thread_sync.rbinc
making /tmp/ruby/src/trunk_asan/nilclass.rbinc
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
making /tmp/ruby/src/trunk_asan/prelude.rbinc
making /tmp/ruby/src/trunk_asan/gem_prelude.rbinc
making /tmp/ruby/src/trunk_asan/jit_hook.rbinc
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
making /tmp/ruby/src/trunk_asan/jit_undef.rbinc
making /tmp/ruby/src/trunk_asan/yjit.rbinc
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
making /tmp/ruby/src/trunk_asan/zjit.rbinc
make[1]: Entering directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
make[1]: 'dump_ast' is up to date.
make[1]: Leaving directory '/tmp/ruby/build/trunk_asan'
$$$[end] "make after-update    -j16" exit with 0.
$$$[beg] make miniruby -j16
	BASERUBY = /usr/bin/ruby --disable=gems
	CC = clang-17
	LD = ld
	LDSHARED = clang-17 -shared
	CFLAGS = -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fsanitize=address -fno-omit-frame-pointer -DUSE_MN_THREADS=0 -fdeclspec  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wshorten-64-to-32 -Wundef  
	XCFLAGS = -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -fPIE -DPRISM_XALLOCATOR -I. -I.ext/include/x86_64-linux -I.ext/include -I/tmp/ruby/src/trunk_asan/include -I/tmp/ruby/src/trunk_asan -I/tmp/ruby/src/trunk_asan/prism -I/tmp/ruby/src/trunk_asan/enc/unicode/17.0.0   -Dmodular_gc_dir=
	CPPFLAGS =   
	DLDFLAGS = -Wl,--compress-debug-sections=zlib -fstack-protector-strong -pie  
	SOLIBS = -lz -lrt -lrt -lgmp -ldl -lcrypt -lm -lpthread 
	LANG = C.UTF-8
	LC_ALL = 
	LC_CTYPE = 
	MFLAGS = -j16 --jobserver-auth=4,5
	RUSTC = rustc
	YJIT_RUSTC_ARGS = --crate-name=yjit --crate-type=staticlib --cfg feature="stats_allocator" -g -C lto=thin -C opt-level=3 -C overflow-checks=on --edition=2021 '--out-dir=/tmp/ruby/build/trunk_asan/target/release/' '/tmp/ruby/src/trunk_asan/yjit/src/lib.rs'
	ZJIT_RUSTC_ARGS = --crate-name=zjit --crate-type=staticlib --cfg feature="stats_allocator" -g -C lto=thin -C opt-level=3 -C overflow-checks=on --edition=2024 '--out-dir=/tmp/ruby/build/trunk_asan/target/release/' '/tmp/ruby/src/trunk_asan/zjit/src/lib.rs'
Ubuntu clang version 17.0.6 (9ubuntu1)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
compiling /tmp/ruby/src/trunk_asan/miniinit.c
compiling /tmp/ruby/src/trunk_asan/array.c
compiling /tmp/ruby/src/trunk_asan/ast.c
compiling /tmp/ruby/src/trunk_asan/box.c
compiling /tmp/ruby/src/trunk_asan/compile.c
compiling /tmp/ruby/src/trunk_asan/cont.c
compiling /tmp/ruby/src/trunk_asan/dir.c
compiling /tmp/ruby/src/trunk_asan/error.c
compiling /tmp/ruby/src/trunk_asan/eval.c
compiling /tmp/ruby/src/trunk_asan/gc.c
compiling /tmp/ruby/src/trunk_asan/hash.c
compiling /tmp/ruby/src/trunk_asan/inits.c
compiling /tmp/ruby/src/trunk_asan/io.c
compiling /tmp/ruby/src/trunk_asan/iseq.c
compiling /tmp/ruby/src/trunk_asan/load.c
compiling /tmp/ruby/src/trunk_asan/marshal.c
compiling /tmp/ruby/src/trunk_asan/numeric.c
compiling /tmp/ruby/src/trunk_asan/object.c
compiling /tmp/ruby/src/trunk_asan/pack.c
compiling /tmp/ruby/src/trunk_asan/pathname.c
compiling /tmp/ruby/src/trunk_asan/proc.c
compiling /tmp/ruby/src/trunk_asan/ractor.c
compiling /tmp/ruby/src/trunk_asan/ruby.c
compiling /tmp/ruby/src/trunk_asan/symbol.c
compiling /tmp/ruby/src/trunk_asan/thread.c
compiling /tmp/ruby/src/trunk_asan/time.c
compiling /tmp/ruby/src/trunk_asan/version.c
compiling /tmp/ruby/src/trunk_asan/vm.c
compiling /tmp/ruby/src/trunk_asan/vm_backtrace.c
compiling /tmp/ruby/src/trunk_asan/vm_dump.c
compiling /tmp/ruby/src/trunk_asan/vm_trace.c
compiling /tmp/ruby/src/trunk_asan/prism/api_node.c
compiling /tmp/ruby/src/trunk_asan/prism/extension.c
compiling /tmp/ruby/src/trunk_asan/prism_init.c
compiling /tmp/ruby/src/trunk_asan/yjit.c
compiling /tmp/ruby/src/trunk_asan/jit.c
linking miniruby
$$$[end] "make miniruby -j16" exit with 0.
$$$[beg] make ruby -j16
	BASERUBY = /usr/bin/ruby --disable=gems
	CC = clang-17
	LD = ld
	LDSHARED = clang-17 -shared
	CFLAGS = -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fsanitize=address -fno-omit-frame-pointer -DUSE_MN_THREADS=0 -fdeclspec  -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wshorten-64-to-32 -Wundef  
	XCFLAGS = -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -fPIE -DPRISM_XALLOCATOR -I. -I.ext/include/x86_64-linux -I.ext/include -I/tmp/ruby/src/trunk_asan/include -I/tmp/ruby/src/trunk_asan -I/tmp/ruby/src/trunk_asan/prism -I/tmp/ruby/src/trunk_asan/enc/unicode/17.0.0   -Dmodular_gc_dir=
	CPPFLAGS =   
	DLDFLAGS = -Wl,--compress-debug-sections=zlib -fstack-protector-strong -pie  
	SOLIBS = -lz -lrt -lrt -lgmp -ldl -lcrypt -lm -lpthread 
	LANG = C.UTF-8
	LC_ALL = 
	LC_CTYPE = 
	MFLAGS = -j16 --jobserver-auth=4,5
	RUSTC = rustc
	YJIT_RUSTC_ARGS = --crate-name=yjit --crate-type=staticlib --cfg feature="stats_allocator" -g -C lto=thin -C opt-level=3 -C overflow-checks=on --edition=2021 '--out-dir=/tmp/ruby/build/trunk_asan/target/release/' '/tmp/ruby/src/trunk_asan/yjit/src/lib.rs'
	ZJIT_RUSTC_ARGS = --crate-name=zjit --crate-type=staticlib --cfg feature="stats_allocator" -g -C lto=thin -C opt-level=3 -C overflow-checks=on --edition=2024 '--out-dir=/tmp/ruby/build/trunk_asan/target/release/' '/tmp/ruby/src/trunk_asan/zjit/src/lib.rs'
Ubuntu clang version 17.0.6 (9ubuntu1)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
=================================================================
==3907744==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x74eb16924265 at pc 0x63fc9881b19a bp 0x7fff276e7260 sp 0x7fff276e6a00
READ of size 12 at 0x74eb16924265 thread T0
    #0 0x63fc9881b199 in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long) (/tmp/ruby/build/trunk_asan/miniruby+0x188199) (BuildId: e8389985349d662ae7bd139596ef18f3c2837088)
    #1 0x63fc9881b5ed in bcmp (/tmp/ruby/build/trunk_asan/miniruby+0x1885ed) (BuildId: e8389985349d662ae7bd139596ef18f3c2837088)
    #2 0x63fc990e9501 in pm_strpbrk_cache_update /tmp/ruby/src/trunk_asan/prism/util/pm_strpbrk.c:64:9
    #3 0x63fc990e9501 in scan_strpbrk_ascii /tmp/ruby/src/trunk_asan/prism/util/pm_strpbrk.c:205:5
    #4 0x63fc990e9501 in pm_strpbrk /tmp/ruby/src/trunk_asan/prism/util/pm_strpbrk.c:414:9
    #5 0x63fc991067d6 in parser_lex /tmp/ruby/src/trunk_asan/prism/prism.c:12064:41
    #6 0x63fc99122342 in parse_expression_prefix /tmp/ruby/src/trunk_asan/prism/prism.c:18215:13
    #7 0x63fc9911c568 in parse_expression /tmp/ruby/src/trunk_asan/prism/prism.c:21793:23
    #8 0x63fc99198b5e in parse_value_expression /tmp/ruby/src/trunk_asan/prism/prism.c:12632:23
    #9 0x63fc99198b5e in parse_starred_expression /tmp/ruby/src/trunk_asan/prism/prism.c:12724:12
    #10 0x63fc99198b5e in parse_assignment_values /tmp/ruby/src/trunk_asan/prism/prism.c:20465:24
    #11 0x63fc99139b31 in parse_expression_infix /tmp/ruby/src/trunk_asan/prism/prism.c:20810:40
    #12 0x63fc9911c7fd in parse_expression /tmp/ruby/src/trunk_asan/prism/prism.c:21839:16
    #13 0x63fc99110f1a in parse_statements /tmp/ruby/src/trunk_asan/prism/prism.c:13347:27
    #14 0x63fc99130b53 in parse_expression_prefix /tmp/ruby/src/trunk_asan/prism/prism.c:18820:30
    #15 0x63fc9911c568 in parse_expression /tmp/ruby/src/trunk_asan/prism/prism.c:21793:23
    #16 0x63fc99110f1a in parse_statements /tmp/ruby/src/trunk_asan/prism/prism.c:13347:27
    #17 0x63fc990ed282 in parse_program /tmp/ruby/src/trunk_asan/prism/prism.c:22037:40
    #18 0x63fc990ed282 in pm_parse /tmp/ruby/src/trunk_asan/prism/prism.c:22594:23
    #19 0x63fc989cfe78 in pm_parse_file /tmp/ruby/src/trunk_asan/prism_compile.c:11522:23
    #20 0x63fc98c5bb0b in load_iseq_eval /tmp/ruby/src/trunk_asan/load.c:736:27
    #21 0x63fc98c55d90 in require_internal /tmp/ruby/src/trunk_asan/load.c:1341:21
    #22 0x63fc98c53e0a in rb_require_string_internal /tmp/ruby/src/trunk_asan/load.c:1451:22
    #23 0x63fc98c53e0a in rb_require_string /tmp/ruby/src/trunk_asan/load.c:1437:12
    #24 0x63fc9902adc7 in vm_call_cfunc_with_frame_ /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3905:11
    #25 0x63fc98fcaf20 in vm_sendish /tmp/ruby/src/trunk_asan/vm_insnhelper.c:6127:15
    #26 0x63fc98fcaf20 in vm_exec_core /tmp/ruby/build/trunk_asan/../../src/trunk_asan/insns.def:906:11
    #27 0x63fc98fb95f1 in rb_vm_exec /tmp/ruby/src/trunk_asan/vm.c:2799:22
    #28 0x63fc99003305 in rb_iseq_eval_main /tmp/ruby/src/trunk_asan/vm.c:3065:11
    #29 0x63fc98b3ad6f in rb_ec_exec_node /tmp/ruby/src/trunk_asan/eval.c:283:9
    #30 0x63fc98b3ad6f in ruby_run_node /tmp/ruby/src/trunk_asan/eval.c:321:30
    #31 0x63fc988dab66 in rb_main /tmp/ruby/src/trunk_asan/main.c:42:12
    #32 0x63fc988dab66 in main /tmp/ruby/src/trunk_asan/main.c:62:12
    #33 0x74eb1842a1c9 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #34 0x74eb1842a28a in __libc_start_main csu/../csu/libc-start.c:360:3
    #35 0x63fc987fe934 in _start (/tmp/ruby/build/trunk_asan/miniruby+0x16b934) (BuildId: e8389985349d662ae7bd139596ef18f3c2837088)

Address 0x74eb16924265 is located in stack of thread T0 at offset 613 in frame
    #0 0x63fc990f3def in parser_lex /tmp/ruby/src/trunk_asan/prism/prism.c:9868

  This frame has 11 object(s):
    [32, 96) 'lex_mode.i8451' (line 226)
    [128, 152) 'buffer.i' (line 9365)
    [192, 232) 'lex_mode.i7463.sroa.12' (line 226)
    [272, 296) 'key.i' (line 7612)
    [336, 337) 'delimiter1779' (line 10999)
    [352, 384) 'token_buffer' (line 11304)
    [416, 472) 'token_buffer2763' (line 11481)
    [512, 544) 'token_buffer3157' (line 11729)
    [576, 584) 'start3603' (line 11995)
    [608, 613) 'breakpoints3730' (line 12057) <== Memory access at offset 613 overflows this variable
    [640, 672) 'token_buffer3749' (line 12065)
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-buffer-overflow (/tmp/ruby/build/trunk_asan/miniruby+0x188199) (BuildId: e8389985349d662ae7bd139596ef18f3c2837088) in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long)
Shadow bytes around the buggy address:
  0x74eb16923f80: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
  0x74eb16924000: f1 f1 f1 f1 f8 f8 f8 f8 f8 f8 f8 f8 f2 f2 f2 f2
  0x74eb16924080: f8 f8 f8 f2 f2 f2 f2 f2 f8 f8 f8 f8 f8 f2 f2 f2
  0x74eb16924100: f2 f2 f8 f8 f8 f2 f2 f2 f2 f2 f8 f2 f8 f8 f8 f8
  0x74eb16924180: f2 f2 f2 f2 f8 f8 f8 f8 f8 f8 f8 f2 f2 f2 f2 f2
=>0x74eb16924200: f8 f8 f8 f8 f2 f2 f2 f2 f8 f2 f2 f2[05]f2 f2 f2
  0x74eb16924280: f8 f8 f8 f8 f3 f3 f3 f3 00 00 00 00 00 00 00 00
  0x74eb16924300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x74eb16924380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x74eb16924400: f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5 f5
  0x74eb16924480: 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
==3907744==ABORTING
/tmp/ruby/src/trunk_asan/lib/optparse.rb: [BUG] ASAN error
ruby 4.1.0dev (2026-03-17T15:14:11Z master 5026acfb64) +PRISM [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0004 p:---- s:0020 e:000019 l:y b:---- DUMMY  [FINISH]
c:0003 p:---- s:0017 e:000016 l:y b:---- CFUNC  :require
c:0002 p:0011 s:0012 E:000420 l:n b:---- EVAL   /tmp/ruby/src/trunk_asan/tool/generic_erb.rb:7 [FINISH]
c:0001 p:0000 s:0003 E:0015a0 l:y b:---- DUMMY  [FINISH]

-- Ruby level backtrace information ----------------------------------------
/tmp/ruby/src/trunk_asan/tool/generic_erb.rb:7:in '<main>'
/tmp/ruby/src/trunk_asan/tool/generic_erb.rb:7:in 'require'

-- Threading information ---------------------------------------------------
Total ractor count: 1
Ruby thread count for this ractor: 1

-- C level backtrace information -------------------------------------------
./miniruby(___interceptor_backtrace) [0x63fc98844d19]
/tmp/ruby/build/trunk_asan/miniruby(rb_print_backtrace+0x14) [0x63fc9905f554] /tmp/ruby/src/trunk_asan/vm_dump.c:1105
/tmp/ruby/build/trunk_asan/miniruby(rb_vm_bugreport) /tmp/ruby/src/trunk_asan/vm_dump.c:1450
/tmp/ruby/build/trunk_asan/miniruby(rb_bug_without_die_internal+0x2c5) [0x63fc98b21a35] /tmp/ruby/src/trunk_asan/error.c:1098
/tmp/ruby/build/trunk_asan/miniruby(rb_bug_without_die+0x12c) [0x63fc98b216cc] /tmp/ruby/src/trunk_asan/error.c:1107
./miniruby(0x63fc988c123a) [0x63fc988c123a]
./miniruby(0x63fc988a1cbf) [0x63fc988a1cbf]
./miniruby(0x63fc988a4d4d) [0x63fc988a4d4d]
./miniruby(0x63fc9881b1ba) [0x63fc9881b1ba]
./miniruby(___interceptor_bcmp) [0x63fc9881b5ee]
/tmp/ruby/build/trunk_asan/miniruby(pm_strpbrk_cache_update+0x17) [0x63fc990e9502] /tmp/ruby/src/trunk_asan/prism/util/pm_strpbrk.c:64
/tmp/ruby/build/trunk_asan/miniruby(scan_strpbrk_ascii) /tmp/ruby/src/trunk_asan/prism/util/pm_strpbrk.c:205
/tmp/ruby/build/trunk_asan/miniruby(pm_strpbrk) /tmp/ruby/src/trunk_asan/prism/util/pm_strpbrk.c:414
/tmp/ruby/build/trunk_asan/miniruby(parser_lex+0x129f7) [0x63fc991067d7] /tmp/ruby/src/trunk_asan/prism/prism.c:12064
/tmp/ruby/build/trunk_asan/miniruby(parse_expression_prefix+0x47d3) [0x63fc99122343] /tmp/ruby/src/trunk_asan/prism/prism.c:18215
/tmp/ruby/build/trunk_asan/miniruby(parse_expression+0x39) [0x63fc9911c569] /tmp/ruby/src/trunk_asan/prism/prism.c:21793
/tmp/ruby/build/trunk_asan/miniruby(parse_value_expression+0x13) [0x63fc99198b5f] /tmp/ruby/src/trunk_asan/prism/prism.c:12632
/tmp/ruby/build/trunk_asan/miniruby(parse_starred_expression) /tmp/ruby/src/trunk_asan/prism/prism.c:12724
/tmp/ruby/build/trunk_asan/miniruby(parse_assignment_values) /tmp/ruby/src/trunk_asan/prism/prism.c:20465
/tmp/ruby/build/trunk_asan/miniruby(parse_expression_infix+0x10b2) [0x63fc99139b32] /tmp/ruby/src/trunk_asan/prism/prism.c:20810
/tmp/ruby/build/trunk_asan/miniruby(parse_expression+0x2ce) [0x63fc9911c7fe] /tmp/ruby/src/trunk_asan/prism/prism.c:21839
/tmp/ruby/build/trunk_asan/miniruby(parse_statements+0x79b) [0x63fc99110f1b] /tmp/ruby/src/trunk_asan/prism/prism.c:13347
/tmp/ruby/build/trunk_asan/miniruby(parse_expression_prefix+0x12fe4) [0x63fc99130b54] /tmp/ruby/src/trunk_asan/prism/prism.c:18820
/tmp/ruby/build/trunk_asan/miniruby(parse_expression+0x39) [0x63fc9911c569] /tmp/ruby/src/trunk_asan/prism/prism.c:21793
/tmp/ruby/build/trunk_asan/miniruby(parse_statements+0x79b) [0x63fc99110f1b] /tmp/ruby/src/trunk_asan/prism/prism.c:13347
/tmp/ruby/build/trunk_asan/miniruby(parse_program+0x193) [0x63fc990ed283] /tmp/ruby/src/trunk_asan/prism/prism.c:22037
/tmp/ruby/build/trunk_asan/miniruby(pm_parse) /tmp/ruby/src/trunk_asan/prism/prism.c:22594
/tmp/ruby/build/trunk_asan/miniruby(pm_parse_file+0x1d9) [0x63fc989cfe79] /tmp/ruby/src/trunk_asan/prism_compile.c:11522
/tmp/ruby/build/trunk_asan/miniruby(load_iseq_eval+0x26c) [0x63fc98c5bb0c] /tmp/ruby/src/trunk_asan/load.c:736
/tmp/ruby/build/trunk_asan/miniruby(require_internal+0x1141) [0x63fc98c55d91] /tmp/ruby/src/trunk_asan/load.c:1341
/tmp/ruby/build/trunk_asan/miniruby(rb_require_string_internal+0xcc) [0x63fc98c53e0b] /tmp/ruby/src/trunk_asan/load.c:1451
/tmp/ruby/build/trunk_asan/miniruby(rb_require_string) /tmp/ruby/src/trunk_asan/load.c:1437
/tmp/ruby/build/trunk_asan/miniruby(vm_cfp_consistent_p+0x0) [0x63fc9902adc8] /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3905
/tmp/ruby/build/trunk_asan/miniruby(vm_call_cfunc_with_frame_) /tmp/ruby/src/trunk_asan/vm_insnhelper.c:3907
/tmp/ruby/build/trunk_asan/miniruby(vm_sendish+0x267) [0x63fc98fcaf21] /tmp/ruby/src/trunk_asan/vm_insnhelper.c:6127
/tmp/ruby/build/trunk_asan/miniruby(vm_exec_core) ../../src/trunk_asan/insns.def:906
/tmp/ruby/build/trunk_asan/miniruby(rb_vm_exec+0x4e2) [0x63fc98fb95f2] /tmp/ruby/src/trunk_asan/vm.c:2799
/tmp/ruby/build/trunk_asan/miniruby(rb_iseq_eval_main+0x2d6) [0x63fc99003306] /tmp/ruby/src/trunk_asan/vm.c:3065
/tmp/ruby/build/trunk_asan/miniruby(rb_ec_exec_node+0x142) [0x63fc98b3ad70] /tmp/ruby/src/trunk_asan/eval.c:283
/tmp/ruby/build/trunk_asan/miniruby(ruby_run_node) /tmp/ruby/src/trunk_asan/eval.c:321
/tmp/ruby/build/trunk_asan/miniruby(rb_main+0x25) [0x63fc988dab67] /tmp/ruby/src/trunk_asan/main.c:42
/tmp/ruby/build/trunk_asan/miniruby(main) /tmp/ruby/src/trunk_asan/main.c:62
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_call_main+0x7a) [0x74eb1842a1ca] ../sysdeps/nptl/libc_start_call_main.h:58
/lib/x86_64-linux-gnu/libc.so.6(call_init+0x0) [0x74eb1842a28b] ../csu/libc-start.c:360
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main_impl) ../csu/libc-start.c:347
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main) (null):0
./miniruby(_start) [0x63fc987fe935]

-- Other runtime information -----------------------------------------------

* Loaded script: /tmp/ruby/src/trunk_asan/tool/generic_erb.rb

* Ruby Box: disabled
* Loaded features:

    0 enumerator.so
    1 monitor.so
    2 thread.rb
    3 fiber.so
    4 rational.so
    5 complex.so
    6 pathname.so
    7 ruby2_keywords.rb
    8 set.rb
    9 /tmp/ruby/src/trunk_asan/lib/erb/version.rb
   10 /tmp/ruby/src/trunk_asan/lib/erb/compiler.rb
   11 /tmp/ruby/src/trunk_asan/lib/erb/def_method.rb
   12 /tmp/ruby/src/trunk_asan/lib/cgi/escape.rb
   13 /tmp/ruby/src/trunk_asan/lib/erb/util.rb
   14 /tmp/ruby/src/trunk_asan/lib/erb.rb

make: *** [uncommon.mk:1302: builtin_binary.rbbin] Error 1
$$$[end] "make ruby -j16" exit with 512.
raw logfile