protonscr

[BETA][LINUX] Another Illegal instruction case in steamclient.so

steamclosed reviewed
ValveSoftware/steam-for-linux#4089 · opened 2015-10-22 by DeadPig · updated 2015-10-22 · 5 comments · github
DDeadPig 2015-10-22 github

After the update which fixed Steam-client crash at startup, i now encounter still problems with some games. Client doen't crash but games do.
Reverting to stable version of steam client can be used as workaround.

2 Games I tested that crash:
ARK: Survival Evolved
Contraption Maker

My system:
Steam running in an "Ubuntu Trusty" chroot.
Host system Debian SID

Systeminfo:
model name : Intel(R) Core(TM) i7 CPU X 980 @ 3.33GHz
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 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt aes lahf_lm ida arat dtherm tpr_shadow vnmi flexpriority ept vpid

Here the debug crash info of starting ARK: Survival Evolved
/usr/bin/gdb --batch -ex run -ex bt -ex 'x/9i $pc' /home/orson/.steam/steam/SteamApps/common/ARK/ShooterGame/Binaries/Linux/ShooterGame

ERROR: ld.so: object '/home/orson/.steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Parsing file /usr/share/nvidia/nvidia-application-profiles-355.11-rc
ERROR: ld.so: object '/home/orson/.steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Parsing file /usr/share/nvidia/nvidia-application-profiles-355.11-rc
ERROR: ld.so: object '/home/orson/.steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Traceback (most recent call last):
File "/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19-gdb.py", line 63, in
from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named 'libstdcxx'
Parsing file /usr/share/nvidia/nvidia-application-profiles-355.11-rc
[New Thread 0x7ffff25f2700 (LWP 25164)]
[New Thread 0x7ffff25d1700 (LWP 25165)]
[New Thread 0x7ffff25b0700 (LWP 25166)]
[New Thread 0x7ffff258f700 (LWP 25167)]
[New Thread 0x7ffff1fff700 (LWP 25168)]
[New Thread 0x7fffeb70c700 (LWP 25169)]
[Thread 0x7fffeb70c700 (LWP 25169) exited]
[New Thread 0x7fffeb70c700 (LWP 25170)]
[New Thread 0x7ffff256e700 (LWP 25171)]
[New Thread 0x7ffff246d700 (LWP 25172)]
[New Thread 0x7ffff0206700 (LWP 25173)]
[New Thread 0x7ffff01c5700 (LWP 25174)]
[New Thread 0x7ffff0184700 (LWP 25175)]

Program received signal SIGILL, Illegal instruction.
0x00007fffe582bf86 in ?? () from /home/orson/.steam/linux64/steamclient.so
#0 0x00007fffe582bf86 in ?? () from /home/orson/.steam/linux64/steamclient.so
#1 0x00007fffe5807845 in ?? () from /home/orson/.steam/linux64/steamclient.so
#2 0x00007fffe5807aa0 in ?? () from /home/orson/.steam/linux64/steamclient.so
#3 0x00007fffe5641c1b in ?? () from /home/orson/.steam/linux64/steamclient.so
#4 0x00007fffe5642d1d in ?? () from /home/orson/.steam/linux64/steamclient.so
#5 0x00007fffe5670220 in ?? () from /home/orson/.steam/linux64/steamclient.so
#6 0x00007fffe4ebfb2f in ?? () from /home/orson/.steam/linux64/steamclient.so
#7 0x00007fffe52a87c9 in ?? () from /home/orson/.steam/linux64/steamclient.so
#8 0x00007fffe52a921c in ?? () from /home/orson/.steam/linux64/steamclient.so
#9 0x00007fffe5296a4c in ?? () from /home/orson/.steam/linux64/steamclient.so
#10 0x00007fffe4e9f9af in ?? () from /home/orson/.steam/linux64/steamclient.so
#11 0x00007ffff7dea13a in call_init (l=, argc=argc@entry=1, argv=argv@entry=0x7fffffffdc38, env=env@entry=0x7fffffffdc48) at dl-init.c:78
#12 0x00007ffff7dea223 in call_init (env=, argv=, argc=, l=) at dl-init.c:36
#13 _dl_init (main_map=main_map@entry=0x468d430, argc=1, argv=0x7fffffffdc38, env=0x7fffffffdc48) at dl-init.c:126
#14 0x00007ffff7deec70 in dl_open_worker (a=a@entry=0x7fffffffb728) at dl-open.c:577
#15 0x00007ffff7de9ff4 in _dl_catch_error (objname=objname@entry=0x7fffffffb718, errstring=errstring@entry=0x7fffffffb720, mallocedp=mallocedp@entry=0x7fffffffb710, operate=operate@entry=0x7ffff7dee9a0 <dl_open_worker>, args=args@entry=0x7fffffffb728) at dl-error.c:187
#16 0x00007ffff7dee3bb in _dl_open (file=0x7fffffffbbd0 "/home/orson/.steam/linux64/steamclient.so", mode=-2147483646, caller_dlopen=, nsid=0, argc=1, argv=0x7fffffffdc38, env=0x7fffffffdc48) at dl-open.c:661
#17 0x00007ffff777f8ed in dlmopen_doit (a=a@entry=0x7fffffffb940) at dlmopen.c:71
#18 0x00007ffff7de9ff4 in _dl_catch_error (objname=0x43a3020, errstring=0x43a3028, mallocedp=0x43a3018, operate=0x7ffff777f890 <dlmopen_doit>, args=0x7fffffffb940) at dl-error.c:187
#19 0x00007ffff777f62d in _dlerror_run (operate=operate@entry=0x7ffff777f890 <dlmopen_doit>, args=args@entry=0x7fffffffb940) at dlerror.c:163
#20 0x00007ffff777f996 in __dlmopen (nsid=, file=, mode=) at dlmopen.c:93
#21 0x00007ffff7110c0f in ?? () from /home/orson/.steam/steam/SteamApps/common/ARK/ShooterGame/Binaries/Linux/../../../Engine/Binaries/Linux/libsteam_api.so
#22 0x00007ffff7114136 in ?? () from /home/orson/.steam/steam/SteamApps/common/ARK/ShooterGame/Binaries/Linux/../../../Engine/Binaries/Linux/libsteam_api.so
#23 0x00007ffff7114a4f in SteamAPI_Init () from /home/orson/.steam/steam/SteamApps/common/ARK/ShooterGame/Binaries/Linux/../../../Engine/Binaries/Linux/libsteam_api.so
#24 0x0000000002589d4d in _start ()

=> 0x7fffe582bf86: vmovdqu -0x10(%rsi,%rdx,1),%xmm0
0x7fffe582bf8c: vmovdqa %xmm0,0x10(%rsp)
0x7fffe582bf92: callq 0x7fffe4e910b0 memcpy@plt
0x7fffe582bf97: lea 0x1(%r13),%r9d
0x7fffe582bf9b: lea 0x2(%r13),%r8d
0x7fffe582bf9f: mov %r13d,%eax
0x7fffe582bfa2: add $0x3,%r13d
0x7fffe582bfa6: lea 0x0(,%rax,4),%rcx
0x7fffe582bfae: lea 0x10(,%rax,4),%rdi
Game removed: AppID 346110 "ARK: Survival Evolved", ProcID 25155

00x726f62 2015-10-22 github

Running Archlinux. The client still crashes on startup. The number by Illegal instruction changes with every attemp.

System info:

VGA compatible controller: NVIDIA Corporation GF100 [GeForce GTX 470] (rev a3)

Driver version: nvidia 355.11-3
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 30
Model name:            Intel(R) Core(TM) i5 CPU         760  @ 2.80GHz
Stepping:              5
CPU MHz:               1197.000
CPU max MHz:           2794.0000
CPU min MHz:           1197.0000
BogoMIPS:              5598.36
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              8192K
NUMA node0 CPU(s):     0-3
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 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ida dtherm tpr_shadow vnmi flexpriority ept vpid
Linux robBasePC 4.2.3-1-ARCH #1 SMP PREEMPT Sat Oct 3 18:52:50 CEST 2015 x86_64 GNU/Linux

Output:

[rob@robBasePC ~]$ steam
Running Steam on arch rolling 64-bit
STEAM_RUNTIME is enabled automatically
/home/rob/.local/share/Steam/steam.sh: line 756:  1190 Illegal instruction     (core dumped) $STEAM_DEBUGGER "$STEAMROOT/$STEAMEXEPATH" "$@"

gdb bt (no debug symbols)

(gdb) run
Starting program: /home/rob/.local/share/Steam/ubuntu12_32/steam 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
0x5678c2f9 in ?? ()
(gdb) bt
#0  0x5678c2f9 in ?? ()
#1  0x56783f23 in CryptoPP::MessageQueue::TransferTo2(CryptoPP::BufferedTransformation&, unsigned long long&, std::string const&, bool) ()
#2  0x56768e18 in CryptoPP::BufferedTransformation::Get(unsigned char*, unsigned int) ()
#3  0x5676749a in CryptoPP::BufferedTransformation::Get(unsigned char&) ()
#4  0x56767479 in CryptoPP::BufferedTransformation::Get(unsigned char&) ()
#5  0x56792f07 in CryptoPP::BERGeneralDecoder::Init(unsigned char) ()
#6  0x5679306a in ?? ()
#7  0x56793d2b in CryptoPP::X509PublicKey::BERDecode(CryptoPP::BufferedTransformation&) ()
#8  0x565e92ad in ?? ()
#9  0x5660fe8f in ?? ()
[#10](/issue/ValveSoftware/steam-for-linux/10) 0x5659ab24 in CSteamUpdater::LoadLocalManifest() ()
[#11](/issue/ValveSoftware/steam-for-linux/11) 0x5659b4e5 in CSteamUpdater::CSteamUpdater() ()
[#12](/issue/ValveSoftware/steam-for-linux/12) 0x56595dbe in GetEUniverse ()
[#13](/issue/ValveSoftware/steam-for-linux/13) 0x56633689 in PosixRegistryManager() ()
[#14](/issue/ValveSoftware/steam-for-linux/14) 0x56633b59 in ?? ()
[#15](/issue/ValveSoftware/steam-for-linux/15) 0x56591a49 in CLocalizedStringTable::GetLanguage() ()
[#16](/issue/ValveSoftware/steam-for-linux/16) 0x565947ab in CLocalizedStringTable::AddFile(IFileSystem*, char const*) ()
[#17](/issue/ValveSoftware/steam-for-linux/17) 0x56595960 in ?? ()
[#18](/issue/ValveSoftware/steam-for-linux/18) 0x565acf49 in CBaseLinuxUpdateUI::CBaseLinuxUpdateUI() ()
[#19](/issue/ValveSoftware/steam-for-linux/19) 0x565aeb66 in ?? ()
[#20](/issue/ValveSoftware/steam-for-linux/20) 0x5657e057 in ?? ()
[#21](/issue/ValveSoftware/steam-for-linux/21) 0xf7b9c497 in __libc_start_main () from /usr/lib32/libc.so.6
[#22](/issue/ValveSoftware/steam-for-linux/22) 0x565815c9 in _start ()

Steam's current repo version package:

[rob@robBasePC ~]$ pacman -Qi steam
Name           : steam
Version        : 1.0.0.50-2
Description    : Digital distribution client bootstrap package
Architecture   : x86_64
URL            : http://steampowered.com/
Licenses       : custom
Groups         : None
Provides       : None
Depends On     : bash  desktop-file-utils  hicolor-icon-theme  curl  dbus  freetype2  gdk-pixbuf2  ttf-font  zenity  lib32-libgl  lib32-gcc-libs  lib32-libx11  lib32-libxss
Optional Deps  : lib32-mesa-dri: for open source driver users
                 lib32-catalyst-utils: for AMD Catalyst users
                 lib32-nvidia-utils: for NVIDIA proprietary blob users [installed]
                 lib32-alsa-plugins: for pulseaudio on some games [installed]
Required By    : None
Optional For   : None
Conflicts With : None
Replaces       : None
Installed Size :   2.61 MiB
Packager       : Daniel Wallace <danielwallace at gtmanfred dot com>
Build Date     : Thu 22 Oct 2015 01:58:25 AM CEST
Install Date   : Thu 22 Oct 2015 09:34:56 PM CEST
Install Reason : Explicitly installed
Install Script : Yes
Validated By   : Signature
Ggdrewb-valve maintainer 2015-10-22 github

@DeadPig, 64-bit appears to still have problems and those are being worked on.

@Pr0b, you're hitting the 32-bit problem that has been fixed. Can you run 'steam --reset' in a terminal to make sure you get the update?

Aalfred-valve maintainer 2015-10-22 github

The latest beta update (just released) contains a fix for the 64-bit issue, it should automatically update for you (no need to run "steam --reset" for the 64-bit game crashing issue).

00x726f62 2015-10-22 github

For me, the issue is fixed.

DDeadPig 2015-10-22 github

Can confirm fix works.
Thx for Info+Fix and have a good day/night :)

Nothing extracted yet.