ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.25k stars 175 forks source link

Tonight's Steam Client Beta Update results in illegal instruction #9304

Closed mikeserv-git closed 1 year ago

mikeserv-git commented 1 year ago

If I could launch the Steam client I could get version info, but that would be March 27/2023 around 11 pm EST

Distribution: Manjaro

Yes, Opted into Steam Beta

System is up to date

When I quit a game tonight, an update was queued up. After the update, the Steam Beta Linux client would not launch for me.

The problem is: steam.sh: line 798: 6160 Illegal instruction "$STEAMROOT/$STEAMEXEPATH" "$@"

This is of course where the client is to launch.

I have a Nehalem Corei7, this does not support AVX instructions.

Probably, this was not intentional to have the compiler generate those instructions?

Please fix, thank you.

dCosminn commented 1 year ago

Same issue here, Ubuntu 22.04

`Gtk-Message: 15:03:59.177: Failed to load module "gail" Gtk-Message: 15:03:59.177: Failed to load module "atk-bridge" XRRGetOutputInfo Workaround: initialized with override: 0 real: 0xe8e119c0 XRRGetCrtcInfo Workaround: initialized with override: 0 real: 0xe8e101f0

(steam:9848): Gtk-WARNING **: 15:03:59.183: Unable to locate theme engine in module_path: "adwaita", /usr/share/themes/Yaru/gtk-2.0/main.rc:775: error: unexpected identifier 'direction', expected character '}'

(steam:9848): Gtk-WARNING **: 15:03:59.186: Unable to locate theme engine in module_path: "adwaita", /usr/share/themes/Yaru/gtk-2.0/hacks.rc:28: error: invalid string constant "normal_entry", expected valid string constant GetWin32Stats: display was not open yet, good crash_20230328150359_5.dmp[9869]: Uploading dump (out-of-process) /tmp/dumps/crash_20230328150359_5.dmp /home/cosmin/.steam/debian-installation/steam.sh: line 798: 9848 Illegal instruction (core dumped) "$STEAMROOT/$STEAMEXEPATH" "$@" cosmin@H-Linux:~$ crash_20230328150359_5.dmp[9869]: Finished uploading minidump (out-of-process): success = yes crash_20230328150359_5.dmp[9869]: response: CrashID=bp-45f790de-66f6-48c5-b583-268a02230328 crash_20230328150359_5.dmp[9869]: file ''/tmp/dumps/crash_20230328150359_5.dmp'', upload yes: ''CrashID=bp-45f790de-66f6-48c5-b583-268a02230328''`

dCosminn commented 1 year ago

I managed to opt out of beta by removing ubuntu12_32, ubuntu12_64 dirs and steam.sh file from .steam/debian-installation/ then run steam --clearbeta in terminal.

kisak-valve commented 1 year ago

Hello @evenmynameistaken, you should be able to manually opt out of Steam's client beta by removing ~/.local/share/Steam/package/beta, but we'll need a Steam dev to take a look at this for a proper fix.

mnn commented 1 year ago

I am on Manjaro (updated this weekend) and I also saw an update window, then Steam (beta) didn't launch. When I ran it from a terminal, I think it crashes for me on these asserts:

src/steamUI/steamuisharedjscontroller.cpp (416) : Fatal assert; application exiting
src/steamUI/steamuisharedjscontroller.cpp (416) : Fatal assert; application exiting

Not sure if it's a same issue, since I wasn't able to find anything about illegal instruction.

full output
steam.sh[3602158]: Running Steam on manjarolinux 22.0.5 64-bit
steam.sh[3602158]: STEAM_RUNTIME is enabled automatically
setup.sh[3602239]: Steam runtime environment up-to-date!
steam.sh[3602158]: Steam client's requirements are satisfied
03/28 16:35:02 Init: Installing breakpad exception handler for appid(steam)/version(1679950905)/tid(3602327)
Loaded SDL version 3.0.0-1265-g08d5c1386
/usr/share/themes/Breath-Dark/gtk-2.0/widgets/entry:70: error: unexpected identifier 'direction', expected character '}'

(steam:3602327): Gtk-WARNING **: 16:35:03.289: Unable to locate theme engine in module_path: "adwaita",
/usr/share/themes/Breath-Dark/gtk-2.0/widgets/styles:36: error: invalid string constant "combobox_entry", expected valid string constant
GetWin32Stats: display was not open yet, good
ComputeStartupMode: found registry default startup mode: 0
steamwebhelper.sh[3602343]: Runtime for steamwebhelper: defaulting to /home/xxx/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[3602343]: glibc >= 2.34, partially disabling sandbox until CEF supports clone3()
CAppInfoCacheReadFromDiskThread took 78 milliseconds to initialize
[2023-03-28 16:35:02] Startup - updater built Mar 27 2023 20:10:35
[2023-03-28 16:35:02] Startup - Steam Client launched with: '/home/xxx/.local/share/Steam/ubuntu12_32/steam'
[2023-03-28 16:35:02] Opted in to client beta 'publicbeta' via beta file
You are in the 'publicbeta' client beta.
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[2023-03-28 16:35:02] Loading cached metrics from disk (/home/xxx/.local/share/Steam/package/steam_client_metrics.bin)
[2023-03-28 16:35:02] Using the following download hosts for Public, Realm steamglobal
[2023-03-28 16:35:02] 1. https://client-update.akamai.steamstatic.com, /, Realm 'steamglobal', weight was 1000, source = 'update_hosts_cached.vdf'
[2023-03-28 16:35:02] 2. https://cdn.cloudflare.steamstatic.com, /client/, Realm 'steamglobal', weight was 1, source = 'update_hosts_cached.vdf'
[2023-03-28 16:35:02] 3. http://media.steampowered.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
[2023-03-28 16:35:02] Checking for update on startup
[2023-03-28 16:35:02] Checking for available updates...
[2023-03-28 16:35:02] Downloading manifest: https://client-update.akamai.steamstatic.com/steam_client_publicbeta_ubuntu12
[2023-03-28 16:35:02] Manifest download: send request
[2023-03-28 16:35:02] Manifest download: waiting for download to finish
[2023-03-28 16:35:02] Manifest download: finished
[2023-03-28 16:35:02] Download skipped: /steam_client_publicbeta_ubuntu12 version 1679950905, installed version 1679950905, existing pending version 0
[2023-03-28 16:35:02] Nothing to do
[2023-03-28 16:35:02] Verifying installation...
[2023-03-28 16:35:02] Performing checksum verification of executable files
[2023-03-28 16:35:03] Verification complete
XRRGetOutputInfo Workaround: initialized with override: 0 real: 0xf32eddb0
XRRGetCrtcInfo Workaround: initialized with override: 0 real: 0xf32ec500
src/clientdll/user.cpp (8210) : Calling GetUserConfigFolder before we know our SteamID
src/clientdll/user.cpp (8210) : Calling GetUserConfigFolder before we know our SteamID
assert_20230328163504_24.dmp[3602947]: Uploading dump (out-of-process)
/tmp/dumps/assert_20230328163504_24.dmp
Local Device Found
  type: 28de 1142
  path: /dev/hidraw9
  serial_number:  - 0
  Manufacturer: Valve Software
  Product:      Steam Controller
  Release:      1
  Interface:    0

Local Device Found
  type: 28de 1142
  path: /dev/hidraw10
  serial_number:  - 0
  Manufacturer: Valve Software
  Product:      Steam Controller
  Release:      1
  Interface:    1

!! Steam controller device opened for index 0.
Local Device Found
  type: 28de 1142
  path: /dev/hidraw11
  serial_number:  - 1
  Manufacturer: Valve Software
  Product:      Steam Controller
  Release:      1
  Interface:    2

!! Steam controller device opened for index 1.
Local Device Found
  type: 28de 1142
  path: /dev/hidraw12
  serial_number:  - 2
  Manufacturer: Valve Software
  Product:      Steam Controller
  Release:      1
  Interface:    3

!! Steam controller device opened for index 2.
Local Device Found
  type: 28de 1142
  path: /dev/hidraw13
  serial_number:  - 3
  Manufacturer: Valve Software
  Product:      Steam Controller
  Release:      1
  Interface:    4

!! Steam controller device opened for index 3.
Local Device Found
  type: 28de 1142
  path: /dev/hidraw9
  serial_number:  - 4
  Manufacturer: Valve Software
  Product:      Steam Controller
  Release:      1
  Interface:    0

assert_20230328163504_24.dmp[3602947]: Finished uploading minidump (out-of-process): success = yes
assert_20230328163504_24.dmp[3602947]: response: CrashID=bp-0e214a4b-9dd1-45d6-a821-5891e2230328
assert_20230328163504_24.dmp[3602947]: file ''/tmp/dumps/assert_20230328163504_24.dmp'', upload yes: ''CrashID=bp-0e214a4b-9dd1-45d6-a821-5891e2230328''
steamwebhelper.sh[3604853]: Runtime for steamwebhelper: defaulting to /home/xxx/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[3604853]: glibc >= 2.34, partially disabling sandbox until CEF supports clone3()
Local Device Found
  type: 28de 1142
  path: /dev/hidraw9
  serial_number:  - 4
  Manufacturer: Valve Software
  Product:      Steam Controller
  Release:      1
  Interface:    0

steamwebhelper.sh[3606316]: Runtime for steamwebhelper: defaulting to /home/xxx/.local/share/Steam/ubuntu12_64/steam-runtime-heavy
steamwebhelper.sh[3606316]: glibc >= 2.34, partially disabling sandbox until CEF supports clone3()
src/steamUI/steamuisharedjscontroller.cpp (416) : Failed creating offscreen shared JS context
src/steamUI/steamuisharedjscontroller.cpp (416) : Failed creating offscreen shared JS context
src/steamUI/steamuisharedjscontroller.cpp (416) : Fatal assert; application exiting
src/steamUI/steamuisharedjscontroller.cpp (416) : Fatal assert; application exiting
03/28 16:35:24 Init: Installing breakpad exception handler for appid(steam)/version(1679950905)/tid(3602327)
assert_20230328163524_31.dmp[3606424]: Uploading dump (out-of-process)
/tmp/dumps/assert_20230328163524_31.dmp
_ExitOnFatalAssert
assert_20230328163524_31.dmp[3606424]: Finished uploading minidump (out-of-process): success = yes
assert_20230328163524_31.dmp[3606424]: response: CrashID=bp-2ada7616-30a1-4df9-9fb0-62e992230328
assert_20230328163524_31.dmp[3606424]: file ''/tmp/dumps/assert_20230328163524_31.dmp'', upload yes: ''CrashID=bp-2ada7616-30a1-4df9-9fb0-62e992230328''

you should be able to manually opt out of Steam's client beta by removing ~/.local/share/Steam/package/beta

Thank you, I'll give it a shot.


Edit: After switching to non-beta, Steam stopped crashing after start, but I hit similar result as in #8373 (only two top menus are visible, rest is gray, regardless of what "page" I choose).

Found these in output:

src/vgui2/controls/HTML.cpp (277) : Assertion Failed: Failed creating HTML browser FriendsWebChatVguiContainer: <no url>
src/vgui2/controls/HTML.cpp (277) : Assertion Failed: Failed creating HTML browser FriendsWebChatVguiContainer: <no url>
src/vgui2/controls/HTML.cpp (277) : Assertion Failed: Failed creating HTML browser WebPanel: <no url>
src/vgui2/controls/HTML.cpp (277) : Assertion Failed: Failed creating HTML browser WebPanel: <no url>
src/vgui2/controls/HTML.cpp (277) : Assertion Failed: Failed creating HTML browser HTMLRoot: <no url>
src/vgui2/controls/HTML.cpp (277) : Assertion Failed: Failed creating HTML browser HTMLRoot: <no url>

I have also tried -no-cef-sandbox which didn't work. That's quite luck - both stable and beta are broken for me :cry:.

Edit2: Since my problem is most likely not same as OP's and others' here, I'll just edit with current workaround (in case someone gets here by searching for those errors): install steam-native-runtime package and use steam-native to run the Steam.

darthdragon commented 1 year ago

Hi, same crash on Linux Debian 11. Opting out of beta seems to fix the things.

mikeserv-git commented 1 year ago

Hello @evenmynameistaken, you should be able to manually opt out of Steam's client beta by removing ~/.local/share/Steam/package/beta, but we'll need a Steam dev to take a look at this for a proper fix.

Thank you, I will do that tonight so I can get back into my games until the beta is fixed. I do bleeding edge Proton builds (using the wine-tkg build generation system), so I've stuck with the Beta client to have the latest runtimes and stuff. I wasn't sure how I was going to do that, I was going to manually delete/replace things to make the Steam client repair itself.

Mike Houston (Don't mean to be a jerk with the username, I was just frustrated)

Hotwire75 commented 1 year ago

Same issue, Steam version 1679950905, both Debian 10.13(dual X5680) and 11.6(dual X5660). Reverting to stable works.

HorreC commented 1 year ago

Having the same issue on Debian 11, this happens with controllers and none plugged in. Reverted to stable and working fine.

amfern commented 1 year ago

Having the same issue on archlinux(btw) Opting out of Beta solved the issue by opening steam in steam-native-runtime mode and disabling beta.

AMD Ryen 7950X AMD 7900XT linux-zen kernel mesa-git and lib32-mesa-git

model name  : AMD Ryzen 9 7950X 16-Core Processor
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good amd_lbr_v2 nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba perfmon_v2 ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occ up_llc cqm_mbm_total cqm_mbm_local avx512_bf16 clzero irperf xsaveerptr rdpru wbnoinvd cppc arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif x2avic v_spec_ctrl avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid overflow_recov succor smca fsrm
flush_l1d
mikeserv-git commented 1 year ago

It's nice that folks are listing OS and GPU etc, but what's of significance here for this issue (there are unrelated issues in this thread) is the processor type. Specifically, the instructions it supports.

For example, one post here says "both Debian 10.13(dual X5680) and 11.6(dual X5660)" which corroborates by listing CPU models. Those Westmere based Xeon processors are pre-avx. They have popcnt and SSE4.2, but not AVX/AVX2, just like Nehalem.

pasted from "cat /proc/cpuinfo"

model name  : Intel(R) Core(TM) i7 CPU         950  @ 3.07GHz
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm tpr_shadow vnmi flexpriority ept vpid dtherm ida

I didn't exactly debug this down to assembly opcodes but I'm fairly confident it's AVX.

Now, what IS interesting is folks saying that running steam in native mode without the client runtimes doesn't hit this problem.

Hotwire75 commented 1 year ago

My guess is that it probably had been compiled with AVX enabled. Native bit is interesting, but didn't try it at the time. Was fixed the next update, and have been running the beta again with no problem except for store/web pages frequently breaking. But that's a different issue.

mikeserv-git commented 1 year ago

Oh... I assumed with more coming in that it was not fixed yet and hadn't tried switching back to the beta again yet. I did get a release client update tonight though. I've been watching this space for "Closed, fixed in..." or "it works again for me!" So thanks for that :-)

I just switched back to the Beta Steam client and it seems to be working properly again for me.

smcv commented 1 year ago

Now, what IS interesting is folks saying that running steam in native mode without the client runtimes doesn't hit this problem.

Running Steam without its included Steam Runtime libraries (which is what Arch means when they say "native runtime") is unsupported, and unsupportable.

I'm very surprised if the presence or absence of the Steam Runtime has any effect here. The Steam Runtime libraries are compiled in a very conservative environment similar to Ubuntu 12.04 (for most of Steam) or Debian 8 (for the web component). Those compilers are configured for the x86_64 baseline (approximately AMD Opteron, 1999) for 64-bit code, and the i686 baseline (approximately Intel Pentium Pro, 1995) for 32-bit, both of which are considerably older than Steam's own requirements. There shouldn't be any unconditional use of modern opcodes like AVX in there.

I suspect that some of the references to steam-native might be caused by someone trying two workarounds at the same time - opting out from the beta to return to the general-availability branch, and also running via steam-native - and attributing the successful result to the wrong workaround.

mikeserv-git commented 1 year ago

Yes, I think there is more than one issue in this thread (and I didn't know it was already fixed on April 18 at the time I said that). There's also an AMD CPU listed here that has all the instructions (I don't think it's the same issue)

I'm not running Steam without its runtimes though. Mine is actually the same Steam installation I did in some *buntu distribution in 2016. It's been consolidated and moved (with symlinks in ~/.steam pointing to the correct places) and it has upgraded itself ever since. It's all owned by me. That's a proper, self contained Steam client without any distributor monkeying or containerized packaging.

I'm back on the beta and the current beta with the new UI changes has been working well for me.

smcv commented 1 year ago

I'm back on the beta and the current beta with the new UI changes has been working well for me

Since you're the original reporter of this issue, that suggests that whatever bug you were experiencing has been fixed, and anyone else who is getting similar symptoms should report a separate issue with full details of their bug (logs, etc.) instead of following up on your issue report.

I'm not running Steam without its runtimes though

I didn't mean to imply that you were, but some of the other people who have commented were.

mikeserv-git commented 1 year ago

I'm good to close it, I just thought we might hear from some others who did have the same issue "needs retest" status. I really appreciate all replies and thanks to the devs for fixing it. I know I'm living on borrowed time, but I love this system (most stable rig I've ever had).