General

Profile

ioquatix (Samuel Williams)

Issues

open closed Total
Assigned issues 16 127 143
Reported issues 24 130 154

Projects

Project Roles Registered on
Ruby Committer 09/19/2018

Activity

09/19/2026

04:56 AM Ruby Feature #22274: Make `IO::Buffer` no longer experimental.
@matz
## Slices
Implemented in https://github.com/ruby/ruby/pull/18911
## Freeze
> freezing to mean that the object's own state is immutable
I agree with that. An `IO::Buffer`'s own state consists of:
```c
struct rb_io...
ioquatix (Samuel Williams)

09/18/2026

07:40 AM Ruby Bug #22216: Special variables (ex. Regexp backref and IO lastline) are thread-unsafe in some cases, incompatible with Ractor
@headius
You're right - my bad — the isolation there is incidental, not a guarantee. If the frame is captured as a shared proc, threads race on it badly.
But I think that actually restates my point rather than refuting it. There is no ...
ioquatix (Samuel Williams)
04:16 AM Ruby Bug #22216: Special variables (ex. Regexp backref and IO lastline) are thread-unsafe in some cases, incompatible with Ractor
@headius
Just thinking out loud...
> Switching your code to a fiber shouldn't suddenly make them disappear, or should it?
I'd gently push back on this, because switching to a *thread* already does exactly that today, and has for...
ioquatix (Samuel Williams)

09/17/2026

10:50 PM Ruby Bug #22216: Special variables (ex. Regexp backref and IO lastline) are thread-unsafe in some cases, incompatible with Ractor
@matz
Fiber schedulers typically use `#transfer`, so preventing it would be problematic.
There is also an assumption being made that it's desirable for `svars` to leak out of enumerators, which may not always be the case, e.g.
...
ioquatix (Samuel Williams)

09/14/2026

08:35 PM Ruby Bug #22196: Heap-use-after-free in `fiber_switch` with transfer-terminated async tasks on 3.4.10
Thanks for the back ports! ioquatix (Samuel Williams)
08:34 PM Ruby Bug #22218: Line TracePoint misses executed loop condition after a guard
Thanks for the back ports! ioquatix (Samuel Williams)
02:07 AM Ruby Bug #22298 (Closed): IO::Buffer is left unfreed with an invalid pointer when fiber scheduler raises
Fixed in <https://github.com/ruby/ruby/commit/ae5a02b056ebb3040daf47d04e0ba3cafa5d2748>. ioquatix (Samuel Williams)
01:58 AM Ruby Feature #19333: Setting (Fiber Local|Thread Local|Fiber Storage) to nil should delete value in order to avoid memory leaks.
Final fix for thread locals: https://github.com/ruby/ruby/pull/18811 ioquatix (Samuel Williams)
01:55 AM Ruby Bug #21612: Make sure we never context switch while holding the VM lock
I wonder if this would be helpful: https://github.com/ruby/ruby/blob/45ad6fb349ad3624a3477a6bc74d7efed3c04b13/vm_core.h#L73-L103 ioquatix (Samuel Williams)
01:14 AM Ruby Bug #20155 (Rejected): Using value of rb_fiber_scheduler_current() crashes Ruby
Unable to reproduce. ioquatix (Samuel Williams)

Also available in: Atom