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) 10 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) 10 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) 4 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.