Bug #21046
closedBackport: TLS fix for ARM64
Description
f7059af50a31a4d27a04ace0beadb60616f3f971
Use no-inline version rb_current_ec
on Arm64
The TLS across .so issue seems related to Arm64, but not Darwin.
Updated by Eregon (Benoit Daloze) 9 days ago
Does this mean all current releases of CRuby might hit this issue on linux-aarch64?
Do you know if it happens every time rb_current_ec() is called or only in some cases?
Updated by kjtsanaktsidis (KJ Tsanaktsidis) 8 days ago
Heya - sorry I've been away from Ruby for a little while, but this caught my eye and I wanted to bring your attention to a similar bug I opened about rb_current_ec with M:N threading last year: https://bugs.ruby-lang.org/issues/20243
I don't know what reproduction you found for this particular problem that led to your fix, but I wonder: did it involve M:N threading? If so, I wonder if it's the same issue that I reported.
In that case we actually probably need to force un-inlining of rb_current_ec if M:N threading is enabled in general, I would have thought.
Updated by nagachika (Tomoyuki Chikanaga) 2 days ago
Backporting commit git:f7059af50a31a4d27a04ace0beadb60616f3f971 into ruby_3_2
depends on the changeset for the M:N Threads scheduler for Ractor (git:be1bbd5b7d40ad863ab35097765d3754726bbd54).
I would appreciate it if you could create a backport PR for ruby_3_2.