General

Profile

jhawthorn (John Hawthorn)

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

Issues

open closed Total
Assigned issues 14 87 101
Reported issues 6 33 39

Projects

Project Roles Registered on
Ruby Committer 11/25/2021

Activity

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)
06:53 PM Ruby Revision ea3cd7ef (git): Fix reuse of MatchData assigned to $~
$~ = m = /a/.match("a").dup
/b/ =~ "b"
p m
[Bug #22381]
jhawthorn (John Hawthorn)

09/24/2026

08:05 PM Ruby Bug #22381 (Closed): MatchData assigned to $~ is incorrectly reused
```ruby
m = /a/.match("a").dup # dup a MatchData (has no "busy" flag set)
$~ = m # assign to $~
/b/ =~ "b" # perform a match that sets $~
p m
# "b" on Ruby 4.0 (and 1.8-2.7, incorrect)
# "a" on Ruby 3.0-3.4 (correct)
```
This i...
jhawthorn (John Hawthorn)

09/22/2026

09:37 PM Ruby Feature #22376 (Open): Undefine the allocator for Class
Uninitialized classes, created by `Class.allocate`, are a recurring source of bugs (most recently #22341). Every place that inspects a class's superclass chain has to check whether the class has been initialized, and it's easy to forget ... jhawthorn (John Hawthorn)
02:51 PM Ruby Bug #22341: Class#superclass can crash the interpreter in debug build
Great catch! This is my mistake from https://github.com/ruby/ruby/commit/e01e89f55c82be8db5d8ccbf305ee38e3769e582
It should be safe to remove that assertion, but I also think it should probably be forbidden to include on an uninitiali...
jhawthorn (John Hawthorn)

09/17/2026

07:05 PM Ruby Revision 0bdfb4c9 (git): ZJIT: Support getivar in multi-Ractor mode
jhawthorn (John Hawthorn)

Also available in: Atom