Project

General

Profile

Actions

Bug #21046

closed

Backport: TLS fix for ARM64

Added by nobu (Nobuyoshi Nakada) 10 days ago. Updated 2 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) 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.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0