# 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.