General

Profile

headius (Charles Nutter)

Issues

open closed Total
Assigned issues 0 23 23
Reported issues 20 96 116

Projects

Project Roles Registered on
Ruby Committer 12/13/2012

Activity

08/07/2026

09:24 PM Ruby Bug #22216: Special variables (ex. Regexp backref and IO lastline) are thread-unsafe in some cases, incompatible with Ractor
Popping back in to say I support the Fiber-isolated direction here but don't have strong opinions about the potential breaking cases. I've disliked supporting these variables for years so anything we can do to limit their scope is ok by ... headius (Charles Nutter)

07/30/2026

02:07 AM Ruby Bug #22216: Special variables (ex. Regexp backref and IO lastline) are thread-unsafe in some cases, incompatible with Ractor
> ethically detectable
statically detectable
headius (Charles Nutter)
02:06 AM Ruby Bug #22216: Special variables (ex. Regexp backref and IO lastline) are thread-unsafe in some cases, incompatible with Ractor
Oh, it's also worth pointing out that there are Regexp method equivalents of each of the special backref variables (`last_match` etc). They are less commonly used, I believe, and usually called directly on Regexp, but that's another exam... headius (Charles Nutter)
02:03 AM Ruby Bug #22216: Special variables (ex. Regexp backref and IO lastline) are thread-unsafe in some cases, incompatible with Ractor
> it's easy to know if a method access these special variables (getspecial instruction),
That is not sufficient. There are methods that read *and* write these special variables without the user ever accessing the literal globals.
...
headius (Charles Nutter)

07/29/2026

07:45 PM Ruby Bug #22216: Special variables (ex. Regexp backref and IO lastline) are thread-unsafe in some cases, incompatible with Ractor
> I've always considered this a bug. If possible they should definitely be scoped to the current thread (or rather fiber?).
I prototyped this for JRuby some years ago, and I believe Rubinius (and perhaps TruffleRuby) implemented it this...
headius (Charles Nutter)

07/28/2026

09:45 PM Ruby Bug #22216 (Open): Special variables (ex. Regexp backref and IO lastline) are thread-unsafe in some cases, incompatible with Ractor
## Problem
Several Regexp-matching methods currently write (and sometimes read) the implicit "backref" `$~` variable in the local frame (and related variables like `$'`).
Several IO methods read or write the "last line" `$_` variab...
headius (Charles Nutter)

07/17/2026

09:17 PM Ruby Feature #22135: Remove obsolete `ObjectSpace#_id2ref`
I am very happy to see this go. Thanks everyone! headius (Charles Nutter)

07/09/2026

08:27 PM Ruby Bug #22133: Ruby's default SIGINT handling ignores `Thread.handle_interrupt` masking.
JRuby does not by default trap `SIGINT` to raise `Interrupt`, since that would interfere with the JVM's own clean shutdown connected to `SIGINT` by default. Users can opt into that behavior if they want.
If a JRuby user traps `SIGINT`...
headius (Charles Nutter)

06/30/2026

03:35 PM Ruby Feature #22137: Change `Symbol#to_s` to return frozen strings
Related discussions in https://bugs.ruby-lang.org/issues/16150 where I proposed a way to request frozen strings from `to_s`. I've always been +1 for all immediate values that return the same string content every time to return frozen str... headius (Charles Nutter)

06/26/2026

06:18 PM Ruby Feature #22130: Add a new YARV instruction for a `String.new` fast path
Is your benchmark published somewhere? headius (Charles Nutter)

Also available in: Atom