General

Profile

ko1 (Koichi Sasada)

  • Login: ko1
  • Registered on: 05/28/2008
  • Last sign in: 07/27/2026

Issues

open closed Total
Assigned issues 78 653 731
Reported issues 14 206 220

Projects

Project Roles Registered on
Ruby Committer 05/28/2008

Activity

07/30/2026

03:30 AM Ruby Bug #22216: Regexp backref and IO lastline are incompatible with Ractor
I agree that the current behavior is a Ractor bug. In fact, this is one of the blockers preventing us from removing the "experimental" warning from Ractor. These variables should be thread-local.
The main implementation challenge is h...
ko1 (Koichi Sasada)

07/29/2026

07:20 PM Ruby Revision 8ebf16fa (git): id_table.c: keep managed id table live across foreach/dup callbacks
rb_managed_id_table stores its rb_id_table body as embedded data
(RUBY_TYPED_EMBEDDABLE), so managed_id_table_ptr returns a pointer
interior to the wrapper object. rb_managed_id_table_foreach,
_foreach_values, and _dup hand that interio...
ko1 (Koichi Sasada)
04:34 PM Ruby Revision a2cc692d (git): Make Proc#refined's memoized iseq copy and memo shareable
Proc#refined memoizes {copied_iseq, cref} per source iseq in a
process-global map so the copy can be reused from any Ractor. The
cref's refinements table is already frozen and marked shareable for
that reason, but the copied iseq and th...
ko1 (Koichi Sasada)
03:18 PM Ruby Feature #22212: Add Thread::Backtrace::Location#source_range
Just to confirm: the PR's implementation of `Thread::Backtrace::Location#source_range` seems fragile because it reparses the script from the file system.
Is this behavior intentional?
I understand the implementation and its current lim...
ko1 (Koichi Sasada)

07/15/2026

11:29 PM Ruby Revision faa3cc8c (git): Fix Ractor move source husk breaking compaction slot size invariant
When an object is moved to another Ractor with `Ractor.send(obj, move: true)`,
the moved-out source is neutralized into a RactorMovedObject husk by move_leave.
The husk stays in the object's original, possibly larger, slot, but its shape...
ko1 (Koichi Sasada)
09:56 PM Ruby Revision 5167ab8a (git): set RUBY_DEBUG_TEST_NO_REMOTE=1 for debug.gem
to skip remote connection tests. ko1 (Koichi Sasada)
01:59 AM Ruby Revision 849d9d6e (git): Relax vm_cc_cme/vm_cc_call assertions under multi-ractor, extension-safely
Same relaxation as PR #17873: another ractor can invalidate a cc
(klass = Qundef) while a call using it is in flight; cme_/call_ stay
intact, so the call proceeds with the method resolved before the
redefinition (same treatment as vm_cc_...
ko1 (Koichi Sasada)

07/14/2026

07:57 PM Ruby Revision 39564b89 (git): dtoa.c: load the 5-powers cache pointers atomically
pow5mult's b_cache publishes new cache nodes with ATOMIC_PTR_CAS (release),
but both readers -- the fast-path check and the recheck before allocating --
were plain loads racing with that CAS: a data race in the C11 sense, and
what TSan r...
ko1 (Koichi Sasada)
07:56 PM Ruby Revision be2a2eea (git): Relax opt_getconstant_path IC assertion under multi-ractor
rb_vm_opt_getconstant_path() asserts on an inline constant cache hit that
the cached value equals a freshly recomputed constant chain:
VM_ASSERT(val == vm_get_ev_const_chain(ec, segments));
On a non-main ractor an IC hit is only al...
ko1 (Koichi Sasada)
08:32 AM Ruby Revision d418ff68 (git): Add a test for forking while other Ractors are alive
Forking with live Ractors takes a VM barrier in the parent and the child
inherits scheduler/barrier state that must be reset. General regression
coverage for the parent-side fork barrier and the child teardown, checking
the surviving Rac...
ko1 (Koichi Sasada)

Also available in: Atom