protonscr

Steam now segfaults with self built Mesa (used to work)

steamclosed reviewed
ValveSoftware/steam-for-linux#4350 · opened 2016-03-10 by sheepdestroyer · updated 2019-04-05 · 8 comments · github
Ssheepdestroyer 2016-03-10 github

On fedora 23 64b, intel HD3000 (SNB)

I used to be able to run steam on my self built i686 Mesa drivers, but not recently (few months)

I tried to build the simplest Mesa with default options, copying those of official Fedora, then about any mix of FLAGS and arguments.

Steam runs on official Fedora Mesa builds but not on self built one anymore.

It's not a generic pb with my build config though, as any other i686 GL app run just fine (why isn't there a x64 build of steam BTW?!).

[sheepdestroyer@sheepora ~] $ steam
Running Steam on fedora 23 64-bit
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(1457571406)
Installing breakpad exception handler for appid(steam)/version(1457571406)
Installing breakpad exception handler for appid(steam)/version(1457571406)
assert_20160310200202_1.dmp[22400]: Uploading dump (out-of-process)
/tmp/dumps/assert_20160310200202_1.dmp
/home/sheepdestroyer/.local/share/Steam/steam.sh: line 756: 22394 Segmentation fault      (core dumped) $STEAM_DEBUGGER "$STEAMROOT/$STEAMEXEPATH" "$@"
assert_20160310200202_1.dmp[22400]: Finished uploading minidump (out-of-process): success = yes
assert_20160310200202_1.dmp[22400]: response: CrashID=bp-9f7860f2-0a2f-4c4a-90e3-0ce112160310
assert_20160310200202_1.dmp[22400]: file ''/tmp/dumps/assert_20160310200202_1.dmp'', upload yes: ''CrashID=bp-9f7860f2-0a2f-4c4a-90e3-0ce112160310''
[sheepdestroyer@sheepora ~] $ 

TTele42 2016-03-10 github

@sheepdestroyer, you should reach out to your distro's community, use the steam forums, or if nothing else works, reach out to the mesa developers.

If other 32bit opengl applications work fine and only steam is misbehaving, then you are most likely experiencing a steam runtime incompatibility.

EDIT: I caught the previous efforts mentioned at https://github.com/ValveSoftware/steam-for-linux/issues/4284#issuecomment-192615020. If you don't get help anywhere else, I can at least inflate your minidump for you so you can find out where it is hitting the assert. That would need the .dmp file uploaded somewhere and shared here.

Ssheepdestroyer 2016-03-10 github

I did try with both STEAM_RUNTIME=0 and STEAM_RUNTIME=1, to same results.

Not really interested in "community" advice, as most never compile their own Mesa (already at Fedora, even less so on Steam forums...), more in real debugging. Is there something that can be done on my side to help narrow the pb?

Fedora Bugzilla entry here : https://bugzilla.redhat.com/show_bug.cgi?id=1316505
Freedesktop Mesa entry here : https://bugs.freedesktop.org/show_bug.cgi?id=94478

Ggdrewb-valve maintainer 2016-03-11 github

I'm not sure you'll get much Mesa debugging advice here but maybe somebody will chime in.

Ssheepdestroyer 2016-03-11 github
TTele42 2016-03-11 github

Here's your backtrace:

Operating system: Linux
                  0.0.0 Linux 4.4.3-300.fc23.x86_64 #1 SMP Fri Feb 26 18:45:40 UTC 2016 x86_64
CPU: x86
     GenuineIntel family 6 model 42 stepping 7
     4 CPUs

Crash reason:  SIGSEGV
Crash address: 0xf43df8c1

Thread 0 (crashed)
 0  libcrypto.so.1.0.2g + 0x45b85
    eip = 0xf6180b85   esp = 0xffbafccc   ebp = 0x5776a3c0   ebx = 0xf48a70ac
    esi = 0xf43df8b9   edi = 0xf774bfc0   eax = 0x00000000   ecx = 0x00200000
    edx = 0x00000000   efl = 0x00210247
    Found by: given as instruction pointer in context
 1  ld-2.22.so + 0x21fc0
    eip = 0xf774bfc0   esp = 0xffbafcd0   ebp = 0x5776a3c0
    Found by: stack scanning
 2  steamui.so + 0x144f0ac
    eip = 0xf48a70ac   esp = 0xffbafcd8   ebp = 0x5776a3c0
    Found by: stack scanning
 3  steamui.so + 0xa70e51
    eip = 0xf3ec8e51   esp = 0xffbafce0   ebp = 0x5776a3c0
    Found by: stack scanning
 4  steamui.so + 0xf878b9
    eip = 0xf43df8b9   esp = 0xffbafce4   ebp = 0x5776a3c0
    Found by: stack scanning
 5  ld-2.22.so + 0xb93e
    eip = 0xf773593e   esp = 0xffbafcf0   ebp = 0x5776a3c0
    Found by: stack scanning
 6  ld-2.22.so + 0x1af0c
    eip = 0xf7744f0c   esp = 0xffbafcfc   ebp = 0x5776a3c0
    Found by: stack scanning
 7  libSDL2-2.0.so.0 + 0xc921e
    eip = 0xf500521e   esp = 0xffbafd00   ebp = 0x5776a3c0
    Found by: stack scanning
 8  libvideo.so + 0x3cd588
    eip = 0xf540f588   esp = 0xffbafd04   ebp = 0x5776a3c0
    Found by: stack scanning
 9  ld-2.22.so + 0x21fc0
    eip = 0xf774bfc0   esp = 0xffbafd0c   ebp = 0x5776a3c0
    Found by: stack scanning
10  libvideo.so + 0x57c41
    eip = 0xf5099c41   esp = 0xffbafd10   ebp = 0x5776a3c0
    Found by: stack scanning
11  ld-2.22.so + 0xf461
    eip = 0xf7739461   esp = 0xffbafd20   ebp = 0x5776a3c0
    Found by: stack scanning
12  libc-2.22.so + 0x1763b2
    eip = 0xf73773b2   esp = 0xffbafd30   ebp = 0x5776a3c0
    Found by: stack scanning
**bunch of boring bits trimmed here**
104  libc-2.22.so + 0xb4501
    eip = 0xf72b5501   esp = 0xffbb0190   ebp = 0x5776a3c0
    Found by: stack scanning

If I had to guess, this is from the removal of ssl2 which happened in openssl 1.0.2f -> 1.0.2g

Ssheepdestroyer 2016-03-11 github

Thanks, I rebuilt mesa with --with-sha1=libnettle (instead of libcrypto) and that now works!
Should steam be updated not to rely on ssl2?

Ssheepdestroyer 2016-03-20 github

Both tickets at Redhat and Mesa have been closed as WONTFIX, blaming the bug on Steam. Please review.

Kkisak-valve maintainer 2019-04-05 github

Hello @sheepdestroyer, Mesa no longer uses an external SHA1 implementation as of mesa 17.0.0 making this issue obsolete.