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 months 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 months 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) 9 months 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.
Updated by k0kubun (Takashi Kokubun) 9 months ago
- Backport changed from 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED, 3.4: REQUIRED to 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED, 3.4: DONE
ruby_3_4 3db440f5a19ca8d46c2c5d5ec029dbae73cc34f9 merged revision(s) f7059af50a31a4d27a04ace0beadb60616f3f971.
Updated by nagachika (Tomoyuki Chikanaga) 8 months ago
- Backport changed from 3.1: REQUIRED, 3.2: REQUIRED, 3.3: REQUIRED, 3.4: DONE to 3.1: REQUIRED, 3.2: REQUIRED, 3.3: DONE, 3.4: DONE
ruby_3_3 8274b8193e0a047d1edfff603dd2436276f906c4 merged revision(s) f7059af50a31a4d27a04ace0beadb60616f3f971.