Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regression from 2408 to 2409 (segfault on running anything) #4148

Open
theofficialgman opened this issue Oct 29, 2024 · 3 comments
Open

Regression from 2408 to 2409 (segfault on running anything) #4148

theofficialgman opened this issue Oct 29, 2024 · 3 comments

Comments

@theofficialgman
Copy link

theofficialgman commented Oct 29, 2024

Device:

OS: Ubuntu noble 24.04 aarch64
Host: Nintendo Switch (2017)
Kernel: Linux 4.9.140-l4t
Uptime: 1 hour, 18 mins
Packages: 3276 (dpkg), 6 (flatpak)
Shell: bash 5.2.21
DE: KDE Plasma 5.27.11
WM: KWin (X11)
WM Theme: Breeze
Theme: Breeze (Light) [Qt], Breeze [GTK2/3/4]
Icons: Breeze [Qt], breeze-dark [GTK2/3/4]
Font: Noto Sans (10pt) [Qt], Noto Sans (10pt) [GTK2/3/4]
Cursor: Breeze (24px)
Terminal: /dev/pts/3
CPU: icosa (4) @ 2.09 GHz
GPU: NVIDIA Tegra X1 (nvgpu) [Integrated]
Memory: 1.70 GiB / 3.90 GiB (44%)
Swap: 0 B / 3.00 GiB (0%)
Disk (/): 59.42 GiB / 122.94 GiB (48%) - ext4
Battery: 100% [AC Connected]
Locale: C.UTF-8

Starting with 2409 (build from source or the Ubuntu PPA) I get the following error on running any command (such as FEXBash)

Illegal instruction (core dumped)

This is not an issue on 2408 or previous versions in my testing.

Happy to bisect further if any developer has insight in which change likely could be the cause of this issue

my build (release) only gives the following in gdb bt

#0  0x000000555576c904 in FEX::FetchHostFeatures() ()
#1  0x0000005555630dec in main ()

so maybe it has something to do with 941b065 which was introduced in 2409?

CC: @Azkali @bylaws

@Sonicadvance1
Copy link
Member

This is due to your kernel being too old to handle ARM's "cpuid" emulation. This change happened with #3962
Theoretically our minimum spec of Linux 5.0 should support all the feature registers we query.

@theofficialgman
Copy link
Author

Gotcha, so the changes that were added in kernel 4.11 for arm64 HWCAP_CPUID are now required (as documented here torvalds/linux@4aa8a47 and added here torvalds/linux@77c97b4). Probably more after that but that is the gist of it.

@AndreRH
Copy link
Contributor

AndreRH commented Oct 30, 2024

This is due to your kernel being too old to handle ARM's "cpuid" emulation. This change happened with #3962
Theoretically our minimum spec of Linux 5.0 should support all the feature registers we query.

What about catching the exception and then assuming no features to be present? Things would run slower, but better than not at all

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants