General

Profile

ko1 (Koichi Sasada)

  • Login: ko1
  • Registered on: 05/28/2008
  • Last sign in: 10/20/2026

Issues

open closed Total
Assigned issues 61 681 742
Reported issues 15 208 223

Projects

Project Roles Registered on
Ruby Committer 05/28/2008

Activity

10/23/2026

07:13 PM Ruby Revision a4131efb (git): Prohibit copying a class/module created by another Ractor
Module#initialize_copy of a class/module that another Ractor owns used to
check that its constants and fields are all shareable, and copy it if so.
That check made the copying Ractor walk (and flag) the owner's objects,
and the fields we...
ko1 (Koichi Sasada)

10/21/2026

08:49 PM Ruby Revision 5771bd7a (git): Read another Ractor's constant entries under the VM lock
rb_const_remove deleted the entry from the constant table without the VM
lock and then freed it, while a Ractor that does not own the class looks
the table up under the VM lock but reads the entry after releasing it.
Reading a constant w...
ko1 (Koichi Sasada)
01:08 AM Ruby Revision 5beeb48f (git): Don't report a skipped ppoll as a timeout in thread_io_wait
wait_for_single_fd_blocking_region skips ppoll when an interrupt is
already pending, but left result 0, which wait_retryable reads as a
timeout. With a zero timeout the deadline has passed, so it does not
retry: IO#wait_readable(0) retu...
ko1 (Koichi Sasada)
01:08 AM Ruby Revision d42ae653 (git): Don't report a skipped select as a timeout in do_select
Same as the previous commit, for the select(2) path used by IO.select
(and by thread_io_wait without poll). When an interrupt was pending,
select was skipped with result 0, which wait_retryable takes as a
timeout, so IO.select([io], nil...
ko1 (Koichi Sasada)
01:08 AM Ruby Revision 6e6f03b9 (git): Test zero-timeout probes at EOF while another thread wants the GVL
Covers the previous two commits: wait_readable(0) and
IO.select([io], nil, nil, 0) on an io at EOF must always report it,
also while another thread keeps asking for the GVL.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ko1 (Koichi Sasada)
01:08 AM Ruby Revision 7467d784 (git): Let an interrupted M:N io wait handle the interrupt and wait again
thread_sched_wait_events() returned thread_sched_wait_event when an
interrupt was already pending at entry, without looking at the fd, and
thread_io_wait() reported that as readiness: under RUBY_MN_THREADS=2,
IO#wait_readable on a pipe n...
ko1 (Koichi Sasada)

10/20/2026

07:43 PM Ruby Bug #22457: Implicit Ractor shareability for frozen objects is buggy
https://github.com/ruby/ruby/pull/19447 is for solution 3 (not completed) ko1 (Koichi Sasada)

10/19/2026

08:59 PM Ruby Bug #22293 (Closed): `String#unicode_normalize` does not work in non-main Ractor
Applied in changeset commit:git|6ca4a120328a84a23c57af268bd7a6af5520e151.
----------
[Bug #22293] Make String#unicode_normalize work in non-main Ractors
UnicodeNormalize.normalize and .normalized? read three constants that are
not shar...
ko1 (Koichi Sasada)
08:59 PM Ruby Revision 6ca4a120 (git): [Bug #22293] Make String#unicode_normalize work in non-main Ractors
UnicodeNormalize.normalize and .normalized? read three constants that are
not shareable, so any call from a non-main Ractor raised
Ractor::IsolationError:
* NF_HASH_C / NF_HASH_D, the memoization caches. They cannot be made
shareable ...
ko1 (Koichi Sasada)

10/15/2026

12:09 AM Ruby Feature #22441: Add Ractor#alive?
Matz approved it. ko1 (Koichi Sasada)

Also available in: Atom