General

Profile

jhawthorn (John Hawthorn)

  • Login: jhawthorn
  • Registered on: 12/22/2016
  • Last sign in: 10/12/2026

Issues

open closed Total
Assigned issues 15 87 102
Reported issues 9 33 42

Projects

Project Roles Registered on
Ruby Committer 11/25/2021

Activity

10/14/2026

11:41 PM Ruby Feature #22444 (Open): Ractor.new should use Ractor.shareable_proc semantics for the block
#21557 introduced very well considered rules for `Ractor.shareable_proc`, where locals can be referenced so long as they are shareable and never reassigned. However `Ractor.new { ... }` continues to use a more restrictive rule that no lo... jhawthorn (John Hawthorn)
07:08 PM Ruby Feature #22441 (Open): Add Ractor#alive?
I propose adding `Ractor#alive?` as a non-blocking way to ask whether a Ractor has finished. This matches `Thread#alive?`/`Fiber#alive?`.
```
r = Ractor.new { Ractor.receive }
r.alive? #=> true
r << :done
r.join
r.alive? #=> fals...
jhawthorn (John Hawthorn)
12:02 AM Ruby Revision 0adee861 (git): Prevent uninitialized classes from being allocated
jhawthorn (John Hawthorn)
12:02 AM Ruby Revision f6963df7 (git): Remove code checking for uninitialized class
jhawthorn (John Hawthorn)

10/13/2026

09:13 PM Ruby Bug #22434 (Open): "No live threads left. Deadlock?" when running system() or spawn in Ractors
Non-main Ractors don't support `fork()`, but do support `system()` and `spawn()`. They can end up deadlocked inside the prefork method when trying to flush stdio.
```
$stdout = File.open(File::NULL, "w")
writer = Thread.new { loop {...
jhawthorn (John Hawthorn)

10/06/2026

11:00 PM Ruby Bug #19172: `ruby_thread_has_gvl_p` is innacurate sometimes -- document or change?
Eregon (Benoit Daloze) wrote in #note-4:
> So now we have a public C API with known incorrect semantics when used in a signal handler, what should we do then?
This public API is not documented as async-signal-safe, so there is no issue ...
jhawthorn (John Hawthorn)
12:24 AM Ruby Misc #22394: DevMeeting-2026-10-07
* [Feature #22376] Undefine the allocator for `Class` (jhawthorn)
* Makes `Class.allocate` raise. Same as ex. `Proc.allocate`
* `Class` can't be subclassed, and I didn't find any legitimate uses in `gem-codesearch`. I don't think t...
jhawthorn (John Hawthorn)

10/02/2026

09:43 PM Ruby Revision d47f9727 (git): Fix write barrier in update_classvariable_cache
(cherry picked from commit f0a71599b1f4afefddca73c7050a94973c5eefce) jhawthorn (John Hawthorn)

10/01/2026

07:02 PM Ruby Revision f980c947 (git): Fix reuse of MatchData assigned to $~
$~ = m = /a/.match("a").dup
/b/ =~ "b"
p m
[Bug #22381]
(cherry picked from commit ea3cd7efe1f6bab78572b31774462e891ef01243)
jhawthorn (John Hawthorn)

09/25/2026

06:53 PM Ruby Bug #22381 (Closed): MatchData assigned to $~ is incorrectly reused
Applied in changeset commit:git|ea3cd7efe1f6bab78572b31774462e891ef01243.
----------
Fix reuse of MatchData assigned to $~
$~ = m = /a/.match("a").dup
/b/ =~ "b"
p m
[Bug #22381]
jhawthorn (John Hawthorn)

Also available in: Atom