General

Profile

ioquatix (Samuel Williams)

Issues

open closed Total
Assigned issues 18 114 132
Reported issues 24 123 147

Projects

Project Roles Registered on
Ruby Committer 09/19/2018

Activity

03/18/2026

10:51 PM Ruby Feature #21957 (Open): Introduce `Enumerable#close` to free internal resources.
In some cases, `Enumerable` has substantial internal state (e.g. Fiber) related to enumeration. There is currently no way to clear up this state besides garbage collection, which means that we can accumulate considerable garbage before c... ioquatix (Samuel Williams)

03/17/2026

09:17 AM Ruby Bug #21955 (Closed): `Fiber#transfer`: machine stack not released when fiber terminates, causing `FiberError: can't set a guard page`
When a fiber terminates (falls off the end of its block, or raises an unhandled exception) after being reached via `Fiber#transfer`, its machine stack is **not** returned to the fiber pool. The stack is only freed when the `Fiber` object... ioquatix (Samuel Williams)

03/12/2026

12:38 AM Ruby Feature #21700: `IO::Buffer.map`: offset argument is "broken" and needs to be made more useful
I've been using `IO::Buffer.map` on macOS without issues. It's still early days but I wonder why it was failing for you.
https://github.com/socketry/async-utilization/blob/main/lib/async/utilization/observer.rb
ioquatix (Samuel Williams)

03/10/2026

02:58 AM Ruby Bug #19017: Net::HTTP may block when attempting to reuse a persistent connection
I personally think `eof?` being blocking is extremely confusing.
I use this shim: https://github.com/socketry/io-stream/blob/main/lib/io/stream/shim/readable.rb#L11 to avoid blocking.
I also mentioned the issue here: https://bugs.ruby-...
ioquatix (Samuel Williams)

03/09/2026

02:33 AM Ruby Bug #21947: `Timeout.timeout` doesn't use `Timeout::ExitException` when Fiber scheduler is in use.
See <https://github.com/ruby/timeout/pull/97> for a proposed fix. ioquatix (Samuel Williams)
02:27 AM Ruby Bug #21947 (Closed): `Timeout.timeout` doesn't use `Timeout::ExitException` when Fiber scheduler is in use.
The following example executes successfully after 7 seconds instead of timing out after 2.
```ruby
require 'async'
require 'net/http'
start = Time.now
Sync do
Timeout.timeout 2 do
Net::HTTP.get(URI 'https://httpbin.org...
ioquatix (Samuel Williams)

02/16/2026

06:46 AM Ruby Feature #18035: Introduce general model/semantic for immutability.
Another example where immutability as a concept is useful - configurations that span across fibers and threads: https://github.com/ruby-i18n/i18n/issues/723
In general, it seems like immutability for `Fiber[]` values is a good idea.
ioquatix (Samuel Williams)

02/12/2026

04:10 AM Ruby Bug #21633 (Closed): A `rb_thread_call_without_gvl` loop can cause the fiber scheduler to ignore signals.
The fix was merged. ioquatix (Samuel Williams)
01:00 AM Ruby Feature #18841 (Closed): Proposal: autoload_relative
Closing in favour of https://bugs.ruby-lang.org/issues/15330 ioquatix (Samuel Williams)
12:30 AM Ruby Misc #21839: DevMeeting-2026-02-12
* [Feature #15330] Introduce `autoload_relative`.
* `autoload` is used widely and `autoload_relative` is more efficient (no load path search).
* Can we introduce `autoload_relative`? https://github.com/ruby/ruby/pull/16148
ioquatix (Samuel Williams)

Also available in: Atom