General

Profile

mame (Yusuke Endoh)

  • Login: mame
  • Email: mame@ruby-lang.org
  • Registered on: 05/28/2008
  • Last sign in: 03/16/2026

Issues

open closed Total
Assigned issues 4 150 154
Reported issues 16 354 370

Projects

Project Roles Registered on
Ruby Committer, Security team, Infrastructure team 05/28/2008

Activity

08/25/2026

03:10 AM Ruby Bug #22259 (Closed): Arrays sharding a buffer segfault when concatenating with each other
Applied in changeset commit:git|46c287e2ca39da63d5164e2b7227308a41554c9a.
----------
Fix splicing an array that shares its buffer with a longer array
Arrays sharing one buffer have the same data pointer, so rb_ary_splice()
took `a` in ...
mame (Yusuke Endoh)
03:10 AM Ruby Revision 46c287e2 (git): Fix splicing an array that shares its buffer with a longer array
Arrays sharing one buffer have the same data pointer, so rb_ary_splice()
took `a` in `b = a.dup; b.pop; b.concat(a)` for `b` itself and rebased
the source onto `b`'s shorter storage, copying uninitialized memory.
Have the callers tell wh...
mame (Yusuke Endoh)
03:10 AM Ruby Revision 72a511da (git): Split rb_ary_splice() into a pointer version and an array version
Most callers have the replacement as an array object; let them pass it
directly.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
mame (Yusuke Endoh)

08/24/2026

06:36 PM Ruby Bug #22259: Arrays sharding a buffer segfault when concatenating with each other
Confirmed and reproduced. Thanks for the report.
While looking into it I found that the same line causes another bug.
```ruby
a = [:A, :B, :C, :D, :E]
b = a[1, 4] #=> [:B, :C, :D, :E]
a[0, 0] = b
p a # expected: [:B, :C...
mame (Yusuke Endoh)
08:36 AM Ruby Revision 0dc80ae3 (git): Bump the vcpkg builtin-baseline for the gmp msys2 404
The gmp portfile at the previous baseline downloads
autoconf2.71-2.71-3-any.pkg.tar.zst from msys2 mirrors by a pinned URL,
but msys2 has rotated the package to -4, so every mirror returns 404 and
Windows CI fails to build gmp whenever t...
mame (Yusuke Endoh)

08/21/2026

07:53 AM Ruby Feature #22250 (Feedback): Add an only: keyword to Coverage.peek_result
I have sped up `peek_result`: https://github.com/ruby/ruby/pull/18406 (already merged). It caches a template of the branch/method coverage result structures, and each `peek_result` just dups the template and fills in the counters.
I r...
mame (Yusuke Endoh)
07:50 AM Ruby Feature #22250 (Closed): Add an only: keyword to Coverage.peek_result
Applied in changeset commit:git|d43737d2a8a66c4eaae5035695ee585ef8dc452c.
----------
Cache a template of the branch coverage result [Bug #22250]
Coverage.peek_result rebuilt the nested branch coverage hash on every
call, and hashing it...
mame (Yusuke Endoh)
07:50 AM Ruby Revision d43737d2 (git): Cache a template of the branch coverage result [Bug #22250]
Coverage.peek_result rebuilt the nested branch coverage hash on every
call, and hashing its array keys (Array#hash via the recursion guard)
dominated the cost. Build { base_key => { target_key => counter_index } }
once per file and cach...
mame (Yusuke Endoh)
07:50 AM Ruby Revision c9e91014 (git): Cache a template of the method coverage result [Bug #22250]
Likewise for method coverage: walking me_set and cme2counter and hashing
the array keys on every peek dominated the cost. Maintain
{ path => { key => me or [me, ...] } } incrementally (both hashes are
append-only) and fill in the counts...
mame (Yusuke Endoh)
06:26 AM Ruby Revision 5fe8b5ca (git): Use stable keys for the branch coverage structure
The branch coverage structure was keyed by the address of the AST node,
which is needed to let multiple compilations of the same node (e.g., an
ensure clause) share one entry [Bug #16967]. However, ASTs are freed
after compilation, so w...
mame (Yusuke Endoh)

Also available in: Atom