Project

General

Profile

Actions

Bug #21046

closed

Backport: TLS fix for ARM64

Added by nobu (Nobuyoshi Nakada) 11 days ago. Updated 4 days ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:120733]

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.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0