DuneCat [TUX].ubu Feb 25, 2013 @ 9:25pm
[SOLVED!] Steam segfaults on startup
I've posted this on the GitHub as well, but thought I'd see if anyone in the community has any answers. (GitHub Link: https://github.com/ValveSoftware/steam-for-linux/issues/2019 )

Steam was working before, including after the official launch, but suddenly stopped working. I've updated my drivers to 13.1, hoping that that would help, but it did not. I've tried STEAM_RUNTIME=0, but there was no change. Below is my system information, and the output I get from the commandline, including using various debug options:

uname -a : Linux crimson 3.5.0-25-generic #38-Ubuntu SMP Mon Feb 18 23:27:42 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
hwinfo : http://brwyatt.net/files/hwinfo.txt
lsmod : http://brwyatt.net/files/lsmod.txt

Output running Steam (no debug options):
brwyatt@crimson:~$ steam
Running Steam on ubuntu 12.10 64-bit
STEAM_RUNTIME is enabled automatically
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
Installing breakpad exception handler for appid(steam)/version(0_client)
/home/brwyatt/.local/share/Steam/steam.sh: line 700: 14612 Segmentation fault (core dumped) $STEAM_DEBUGGER "$STEAMROOT/$PLATFORM/$STEAMEXE" "$@"
Installing bootstrap /home/brwyatt/.local/share/Steam/bootstrap.tar.xz
Running Steam on ubuntu 12.10 64-bit
STEAM_RUNTIME has been set by the user to: /home/brwyatt/.local/share/Steam/ubuntu12_32/steam-runtime
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
Installing breakpad exception handler for appid(steam)/version(0_client)
/home/brwyatt/.local/share/Steam/steam.sh: line 700: 14717 Segmentation fault (core dumped) $STEAM_DEBUGGER "$STEAMROOT/$PLATFORM/$STEAMEXE" "$@"

DEBUGGER=gdb : http://brwyatt.net/files/GDB_DEBUGGER.txt
STEAM_DEBUG=true : http://brwyatt.net/files/STEAM_DEBUG.txt
LD_DBUG=libs : http://brwyatt.net/files/LD_DBUG-libs.txt

I've gone about as far as I can think to go to figure this out (including purging steam and deleting all Steam-related files in my home directory, which will at least popup the EULA before segfaulting after accepting). Any help or tips are greatly appreciated!


**SOLUTION** (this didn't completely resolve some issues, and things began lagging horribly, but this may be something that might help with other issues)
Make sure that the libGL files have the following softlinks for 12.11beta11 drivers:
/usr/lib/i386-linux-gnu/libGL.so.1 -> /usr/lib/i386-linux-gnu/libGL.so.1.2 -> /usr/lib32/fglrx/libGL.so.1.2

Not sure if this is an issue from having installed 13.1 or from having attempted the versions in Ubuntu's, repos, but when running AMD 12.11beta11 drivers, make sure that the files are softlinked as above.

**FINAL SOLUTION**
Reinstalled Kubuntu, and installed the 13.1 and then 13.2beta6 drivers. Everything appears to be running smoothly now. Hate to offer "reinstall" as a solution, but I don't know a better way to "reset" all the libraries like that.
Last edited by DuneCat [TUX].ubu; Mar 2, 2013 @ 3:03pm
Showing 1-8 of 8 comments
< >
さくら Feb 25, 2013 @ 10:20pm 
What version of glibc6 do you have? (Something interesting I noticed... it seems Steam is a bit picky about glibc versions.

(Assuming Ubuntu follows Debian patterns)
ls -l /lib/i386-linux-gnu/|grep libc.so.6

Since libc.so.6 is most likely a symlink, not a real file. aptitude should also list the installed version.

Although it picks a line around 561-ish to segfault when I'm using anything other than the Ubuntu-2.15 version. So I'm not sure which one it's actually complaining about there.
Last edited by さくら; Feb 25, 2013 @ 10:22pm
DuneCat [TUX].ubu Feb 25, 2013 @ 11:19pm 
Thanks for the reply! Looks like it is a symlink to libc-2.15.so :

brwyatt@crimson:~$ ls -l /lib/i386-linux-gnu/|grep libc.so.6
lrwxrwxrwx 1 root root 12 Jan 28 06:38 libc.so.6 -> libc-2.15.so

The logs I posted also seem to show a possible issue with the fglrx driver in the LD_DEBUG output:

22106: /home/brwyatt/.local/share/Steam/ubuntu12_32/steam: error: symbol lookup error: undefined symbol: __glXSetTexBufferInfo (fatal)
22106: /home/brwyatt/.local/share/Steam/ubuntu12_32/steam: error: symbol lookup error: undefined symbol: __glXgetGLXPixmapInfo (fatal)
22106: /home/brwyatt/.local/share/Steam/ubuntu12_32/steam: error: symbol lookup error: undefined symbol: __glXSetTexBufferInfo (fatal)
22106: /home/brwyatt/.local/share/Steam/ubuntu12_32/steam: error: symbol lookup error: undefined symbol: __glXgetGLXPixmapInfo (fatal)
22106: /usr/lib32/fglrx/dri/fglrx_dri.so: error: symbol lookup error: undefined symbol: driResourceAcquireInterop (fatal)
22106: /usr/lib32/fglrx/dri/fglrx_dri.so: error: symbol lookup error: undefined symbol: driResourceReleaseInterop (fatal)

Not quite sure why this would be happening, unless something was changed in the 13.1 driver? But I was having issues (at least similar symptoms of Steam not starting) before updating, so I'm not so sure. The driver seems to work with other OpenGL programs, so the driver/OGL work at least to some extent.
slouken Feb 26, 2013 @ 1:15am 
It definitely sounds like an OpenGL driver issue. You can confirm this by running steam like this:
DEBUGGER=gdb steam
Then when you get the gdb prompt, type 'r' and hit return to start, and then when it crashes you can type 'bt' and hit return to see what functions it's crashing in.

Feel free to post a bug report here:
https://github.com/ValveSoftware/steam-for-linux/issues?state=open
DuneCat [TUX].ubu Feb 26, 2013 @ 8:58am 
Thanks for the feedback, slouken! I have an issue open currently (issue 2019: https://github.com/ValveSoftware/steam-for-linux/issues/2019 ). Figured I'd see if the community had any input as well.

using 'bt' in the debugger resulted in the following output (used bt at each error step):
http://brwyatt.net/files/GDB_DEBUGGER-2.txt

Regarding OpenGL, I saw this post recently in #ubuntu-steam:
02:44:26 < directhex> yenic, there used to be a metapackage in USC for 64-bit users, but it was removed due to a glaring bug which would remove opengl if you installed it

I did previously have the steam64 package installed, and working, before. All traces of it should currently be removed, however (and then drivers and such re-installed recently as well).

**UPDATE** (copied from my issue on GitHub)

Found some things to try from a forum post about a missing libgl.so.1. Even though mine isn't missing, I figured I'd try anyway. Don't know if this is useful, but figured I'd include it. This caused Steam to crash differently, and seems to have uploaded an actual crash dump this time:

brwyatt@crimson:~$ LD_LIBRARY_PATH=/usr/lib32:$LD_LIBRARY_PATH steam
Running Steam on ubuntu 12.10 64-bit
STEAM_RUNTIME is enabled automatically
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
Installing breakpad exception handler for appid(steam)/version(0_client)
Uploading dump (in-process) [proxy '']
/tmp/dumps/crash_20130226112217_1.dmp
success = yes
response: CrashID=bp-0ca6764b-f2fd-42e1-a6cb-98cd92130226
/home/brwyatt/.local/share/Steam/steam.sh: line 700: 23546 Segmentation fault (core dumped) $STEAM_DEBUGGER "$STEAMROOT/$PLATFORM/$STEAMEXE" "$@"
Installing bootstrap /home/brwyatt/.local/share/Steam/bootstrap.tar.xz
Running Steam on ubuntu 12.10 64-bit
STEAM_RUNTIME has been set by the user to: /home/brwyatt/.local/share/Steam/ubuntu12_32/steam-runtime
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
Installing breakpad exception handler for appid(steam)/version(0_client)
Uploading dump (in-process) [proxy '']
/tmp/dumps/crash_20130226112220_1.dmp
success = yes
response: CrashID=bp-549f2ecf-dd0f-449d-a52c-d4d492130226
/home/brwyatt/.local/share/Steam/steam.sh: line 700: 23719 Segmentation fault (core dumped) $STEAM_DEBUGGER "$STEAMROOT/$PLATFORM/$STEAMEXE" "$@"

I should note that the value of $LD_LIBRARY_PATH seems to be blank. The output from using LD_DEBUG=libs as well seems to point to a different issue: http://brwyatt.net/files/LD_LIBRARY_PATH-LD-DEBUG-libs.txt

Backtrace does appear the same, however (however, it never shows the longer stack that appeared previously which contained crashhandler.so):

(gdb) bt
#0 0xf7bf0796 in ?? () from /lib/i386-linux-gnu/libc.so.6
#1 0x00000006 in ?? ()
#2 0xf782699d in ?? () from /usr/lib32/libGL.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Again, not sure if that helps, but I hope it is in some way useful.

**UPDATE**
I was able to get Steam to run by pointing /usr/lib/i386-linux-gnu/libGL.so.1 to /usr/lib/i386-linux-gnu/mesa/libGL.so (this is what /usr/lib/i386-linux-gnu/libGL.so was pointing to). Originally it was pointing to /usr/lib/i386-linux-gnu/libGL.so.1.2 which, in turn, pointed to /usr/lib/i386-linux-gnu/fglrx/fglrx-libGL.so.1.2 (which I assume is actually what we want). Steam does seem to complain about this, but seems to continue and run fine.

I'm downloading TF2 presently and will test if that runs. Cogs (installed separately) seems to run just fine and without issue.

**UPDATE 2**
Unsurprisingly, TF2 failed to start, complaining about an unsupported graphics card, and the OpenGL library. I expected as much, unfortunately. Steam is still broken after switching the links back as well.
Last edited by DuneCat [TUX].ubu; Feb 26, 2013 @ 1:32pm
threedotonefour Feb 27, 2013 @ 12:08pm 
Might not help in this case, but I had the same problem with running Steam under Ubuntu in VirtualBox and the solution was to enable hardware virtualization in the BIOS.
DuneCat [TUX].ubu Feb 27, 2013 @ 3:34pm 
Worth a thought, I suppose, but unfortunately not the issue here as this isn't a VM. I do appreciate it though! Anything helps!

I'm actually considering installing the 12.11beta drivers (as those are recommended by Valve, but I can't seem to actually find them listed on AMD's site (they only list up to 12.10), and there doesn't seem to be a final version of them, only beta, even though 13.1 and 13.2beta6 are out).
DuneCat [TUX].ubu Feb 28, 2013 @ 5:23pm 
I believe I have resolved this issue. It seems that there was an incorrect softlink for the 32-bit OpenGL shared objects. /usr/lib/i386-linux-gnu/libGL.so.1.2 was pointing to /usr/lib/i386-linux-gnu/fglrx/fglrx-libGL.so.1.2, which had a last-modified date of the 17th. Considering I just re-installed 12.11beta11 today, this was a little strange. I did some digging and found /usr/lib32/fglrx/libGL.so.1.2 which was modified today. Re-linked the files and everything seems to be working correctly. I'm not sure if this was an issue with 13.1 drivers, or with also attempting to install the drivers from the Ubuntu repos at some point, but this was the issue.

For easy reference, this is the correct link order:
/usr/lib/i386-linux-gnu/libGL.so.1 -> /usr/lib/i386-linux-gnu/libGL.so.1.2 -> /usr/lib32/fglrx/libGL.so.1.2

UPDATE
Might have spoken too soon, playing TF2 seems to lag an incredibly huge amount, even when playing the training map locally against bots, and framerates seem to have plummeted. (I've also noticed unusually high CPU as well)

I'm considering reinstalling to attempt to clear and shared object issues, and install 12.11beta11 fresh on that. But I'm going to wait for Valve to respond on the GitHub issue first in case they feel there is something else they wish to check or look into first, if they feel it is in their best interest to do so.
Last edited by DuneCat [TUX].ubu; Feb 28, 2013 @ 6:32pm
DuneCat [TUX].ubu Mar 2, 2013 @ 3:02pm 
Reinstalled from scratch, installed 13.1 and had some minor issues. (Also, Big Picture will not run and will tell you to use 13.2, as AMD fixed an issue that broke Big Picture). Updated it to 13.2beta6, and everything appears to be running fine!

Not sure how to get this kind of "reset" without reinstalling, unfortunately, but I'm sure there are some smarter and more experienced Linux users out there that may have a better solution.
Showing 1-8 of 8 comments
< >
Per page: 15 30 50
Date Posted: Feb 25, 2013 @ 9:25pm
Posts: 8