Umm, why are your steam libs libtier0_s.so libvideo.so libvstdlib.so etc in /usr/lib32? Maybe they're incompatible with what the client itself delivers?
When I run ldd on ubuntu12_32/steamui.so, ldd defaults to the system lib dirs. I can run LD_LIBRARY_PATH='${steamlibdirs[@]}' ldd steamui.so to a similar effect, all of the dependencies are satisfied, equivalent to STEAM_RUNTIME=1 (the default when unset). The remaining /usr/lib32 libraries are system glibc ones not provided by the steam runtime.
LD_LIBRARY_PATH='.;steam-runtime/i386/lib/i386-linux-gnu;steam-runtime/i386/usr/lib;steam-runtime/i386/usr/lib/i386-linux-gnu' ldd steamui.so
linux-gate.so.1 (0xf7745000)
libtier0_s.so => ./libtier0_s.so (0xf64d3000)
libv8.so => ./libv8.so (0xf5be8000)
libvideo.so => ./libvideo.so (0xf5827000)
libvstdlib_s.so => ./libvstdlib_s.so (0xf57da000)
libSDL2-2.0.so.0 => ./libSDL2-2.0.so.0 (0xf56d8000)
libXtst.so.6 => steam-runtime/i386/usr/lib/i386-linux-gnu/libXtst.so.6 (0xf56d1000)
libXfixes.so.3 => steam-runtime/i386/usr/lib/i386-linux-gnu/libXfixes.so.3 (0xf56cb000)
libXrandr.so.2 => steam-runtime/i386/usr/lib/i386-linux-gnu/libXrandr.so.2 (0xf56c1000)
libXext.so.6 => steam-runtime/i386/usr/lib/i386-linux-gnu/libXext.so.6 (0xf56af000)
libX11.so.6 => steam-runtime/i386/usr/lib/i386-linux-gnu/libX11.so.6 (0xf557b000)
libGL.so.1 => /usr/lib32/libGL.so.1 (0xf5437000)
libgobject-2.0.so.0 => steam-runtime/i386/usr/lib/i386-linux-gnu/libgobject-2.0.so.0 (0xf53e8000)
libglib-2.0.so.0 => steam-runtime/i386/lib/i386-linux-gnu/libglib-2.0.so.0 (0xf52ee000)
libgtk-x11-2.0.so.0 => steam-runtime/i386/usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0 (0xf4e85000)
librt.so.1 => /usr/lib32/librt.so.1 (0xf4e7c000)
libpulse.so.0 => steam-runtime/i386/usr/lib/i386-linux-gnu/libpulse.so.0 (0xf4e2e000)
libgdk_pixbuf-2.0.so.0 => steam-runtime/i386/usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0 (0xf4df1000)
libm.so.6 => /usr/lib32/libm.so.6 (0xf4da4000)
libdl.so.2 => /usr/lib32/libdl.so.2 (0xf4d9f000)
libstdc++.so.6 => steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf4cb6000)
libpthread.so.0 => /usr/lib32/libpthread.so.0 (0xf4c99000)
/usr/lib/ld-linux.so.2 (0x56613000)
libc.so.6 => /usr/lib32/libc.so.6 (0xf4adf000)
libicui18n.so => ./libicui18n.so (0xf48c3000)
libicuuc.so => ./libicuuc.so (0xf3d49000)
libgcc_s.so.1 => steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1 (0xf3d2e000)
libavcodec.so.56 => ./libavcodec.so.56 (0xf3bd1000)
libavformat.so.56 => ./libavformat.so.56 (0xf3b9b000)
libavresample.so.2 => ./libavresample.so.2 (0xf3b7a000)
libavutil.so.54 => ./libavutil.so.54 (0xf3b4d000)
libswscale.so.3 => ./libswscale.so.3 (0xf3af8000)
libXrender.so.1 => steam-runtime/i386/usr/lib/i386-linux-gnu/libXrender.so.1 (0xf3aed000)
libxcb.so.1 => steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb.so.1 (0xf3acb000)
libnvidia-tls.so.349.16 => /usr/lib32/libnvidia-tls.so.349.16 (0xf3ac6000)
libnvidia-glcore.so.349.16 => /usr/lib32/libnvidia-glcore.so.349.16 (0xf1438000)
libffi.so.6 => steam-runtime/i386/usr/lib/i386-linux-gnu/libffi.so.6 (0xf1430000)
libpcre.so.3 => steam-runtime/i386/lib/i386-linux-gnu/libpcre.so.3 (0xf13f4000)
libgdk-x11-2.0.so.0 => steam-runtime/i386/usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0 (0xf1345000)
libpangocairo-1.0.so.0 => steam-runtime/i386/usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0 (0xf1338000)
libatk-1.0.so.0 => steam-runtime/i386/usr/lib/i386-linux-gnu/libatk-1.0.so.0 (0xf1318000)
libcairo.so.2 => steam-runtime/i386/usr/lib/i386-linux-gnu/libcairo.so.2 (0xf124b000)
libgio-2.0.so.0 => steam-runtime/i386/usr/lib/i386-linux-gnu/libgio-2.0.so.0 (0xf10f3000)
libpangoft2-1.0.so.0 => steam-runtime/i386/usr/lib/i386-linux-gnu/libpangoft2-1.0.so.0 (0xf10c7000)
libpango-1.0.so.0 => steam-runtime/i386/usr/lib/i386-linux-gnu/libpango-1.0.so.0 (0xf107d000)
libfontconfig.so.1 => steam-runtime/i386/usr/lib/i386-linux-gnu/libfontconfig.so.1 (0xf1048000)
libjson.so.0 => steam-runtime/i386/usr/lib/i386-linux-gnu/libjson.so.0 (0xf103f000)
libpulsecommon-1.1.so => steam-runtime/i386/usr/lib/i386-linux-gnu/libpulsecommon-1.1.so (0xf0fda000)
libdbus-1.so.3 => steam-runtime/i386/lib/i386-linux-gnu/libdbus-1.so.3 (0xf0f90000)
libgmodule-2.0.so.0 => steam-runtime/i386/usr/lib/i386-linux-gnu/libgmodule-2.0.so.0 (0xf0f8a000)
libpng12.so.0 => steam-runtime/i386/lib/i386-linux-gnu/libpng12.so.0 (0xf0f60000)
libtiff.so.4 => steam-runtime/i386/usr/lib/i386-linux-gnu/libtiff.so.4 (0xf0efd000)
libjpeg.so.8 => steam-runtime/i386/usr/lib/i386-linux-gnu/libjpeg.so.8 (0xf0ea6000)
libbz2.so.1.0 => steam-runtime/i386/lib/i386-linux-gnu/libbz2.so.1.0 (0xf0e94000)
libz.so.1 => steam-runtime/i386/lib/i386-linux-gnu/libz.so.1 (0xf0e7e000)
libXau.so.6 => steam-runtime/i386/usr/lib/i386-linux-gnu/libXau.so.6 (0xf0e7a000)
libXdmcp.so.6 => steam-runtime/i386/usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf0e73000)
libXinerama.so.1 => steam-runtime/i386/usr/lib/i386-linux-gnu/libXinerama.so.1 (0xf0e6e000)
libXi.so.6 => steam-runtime/i386/usr/lib/i386-linux-gnu/libXi.so.6 (0xf0e5d000)
libXcursor.so.1 => steam-runtime/i386/usr/lib/i386-linux-gnu/libXcursor.so.1 (0xf0e52000)
libXcomposite.so.1 => steam-runtime/i386/usr/lib/i386-linux-gnu/libXcomposite.so.1 (0xf0e4e000)
libXdamage.so.1 => steam-runtime/i386/usr/lib/i386-linux-gnu/libXdamage.so.1 (0xf0e49000)
libfreetype.so.6 => steam-runtime/i386/usr/lib/i386-linux-gnu/libfreetype.so.6 (0xf0daf000)
libpixman-1.so.0 => steam-runtime/i386/usr/lib/i386-linux-gnu/libpixman-1.so.0 (0xf0d14000)
libxcb-shm.so.0 => steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb-shm.so.0 (0xf0d10000)
libxcb-render.so.0 => steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb-render.so.0 (0xf0d05000)
libselinux.so.1 => steam-runtime/i386/lib/i386-linux-gnu/libselinux.so.1 (0xf0ce6000)
libresolv.so.2 => /usr/lib32/libresolv.so.2 (0xf0ccd000)
libexpat.so.1 => steam-runtime/i386/lib/i386-linux-gnu/libexpat.so.1 (0xf0ca3000)
libwrap.so.0 => steam-runtime/i386/lib/i386-linux-gnu/libwrap.so.0 (0xf0c98000)
libsndfile.so.1 => steam-runtime/i386/usr/lib/i386-linux-gnu/libsndfile.so.1 (0xf0c26000)
libasyncns.so.0 => steam-runtime/i386/usr/lib/i386-linux-gnu/libasyncns.so.0 (0xf0c1f000)
libnsl.so.1 => /usr/lib32/libnsl.so.1 (0xf0c04000)
libFLAC.so.8 => steam-runtime/i386/usr/lib/i386-linux-gnu/libFLAC.so.8 (0xf0bb5000)
libvorbisenc.so.2 => steam-runtime/i386/usr/lib/i386-linux-gnu/libvorbisenc.so.2 (0xf0a3d000)
libvorbis.so.0 => steam-runtime/i386/usr/lib/i386-linux-gnu/libvorbis.so.0 (0xf0a12000)
libogg.so.0 => steam-runtime/i386/usr/lib/i386-linux-gnu/libogg.so.0 (0xf0a0a000)
Does using that local LD_LIBRARY_PATH change the running of steam?
When running steam that way I get logged
[..]
[2015-04-24 10:07:06] Verifying installation...
[2015-04-24 10:07:06] Verification complete
Gtk-Message: Failed to load module "canberra-gtk-module"
Installing breakpad exception handler for appid(steam)/version(1429820776)
[0424/100708:ERROR:browser_main_loop.cc(170)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
Installing breakpad exception handler for appid(steamwebhelper)/version(20150423115125)
Installing breakpad exception handler for appid(steamwebhelper)/version(1429789885)
Installing breakpad exception handler for appid(steamwebhelper)/version(20150423115125)
Installing breakpad exception handler for appid(steamwebhelper)/version(1429820776)
Installing breakpad exception handler for appid(steamwebhelper)/version(1429820776)
Installing breakpad exception handler for appid(steam)/version(1429820776)
Installing breakpad exception handler for appid(steam)/version(1429820776)
[New Thread 0xedc57b40 (LWP 17242)]
[.. more breakpad messages ..]
Speculating I'd say that breakpad loading/initialization might fail?
Well, I removed read rights from ubuntu12_32/crashhandler.so, so that it's not loaded, but still it doesn't crash.
No, and I think it's the same as specified by the launcher script steam.sh.
I appreciate the help but this is an obscure issue that I suspect only I or Valve can resolve, which probably only affects users of unsupported and hacky drivers, kernel, and init. It almost definitely does not have to do with library dependencies or versioning.
Valve's tiny linux team probably doesn't have the interest or resources to fix issues like this. I only reported it in the odd case it was useful.
Just some more 2 cents:
gdb display's one instruction late. Thus you actually crash at 0x2ccf80 called from 0xf302bfa0 SteamDllMainEx.
Basically it seems to get nuked at jmp dword ptr [ebx+834h], that is a jump through plt/got
to 0x011f64fc(.got)+0x834=0x011f6d30 which is Plat_SetCommandLineArgs.
For me gdb also resolves the call from SteamDllMainEx to that function.
Looks like the linker fails to access or look up the function in libtier0_s.so somehow. But figuring that out, would need proper logs or single stepping in gdb.
I wonder if LD_LIBRARY_PATH=.. ldd -r libsteamui.so actually succeeds? Here -r tells the linker to relocate data and functions.
It does, with and without -r.
ldd -r libsteam.so libtier0_s.so
libsteam.so:
linux-gate.so.1 (0xf771c000)
libdl.so.2 => /usr/lib32/libdl.so.2 (0xf73b9000)
libpthread.so.0 => /usr/lib32/libpthread.so.0 (0xf739c000)
librt.so.1 => /usr/lib32/librt.so.1 (0xf7393000)
libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf729e000)
libm.so.6 => /usr/lib32/libm.so.6 (0xf7250000)
libc.so.6 => /usr/lib32/libc.so.6 (0xf7096000)
/usr/lib/ld-linux.so.2 (0x565d7000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf707b000)
libtier0_s.so:
linux-gate.so.1 (0xf7729000)
libdl.so.2 => /usr/lib32/libdl.so.2 (0xf76d5000)
libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf75e0000)
libpthread.so.0 => /usr/lib32/libpthread.so.0 (0xf75c3000)
librt.so.1 => /usr/lib32/librt.so.1 (0xf75ba000)
/usr/lib/ld-linux.so.2 (0x565b1000)
libc.so.6 => /usr/lib32/libc.so.6 (0xf73ff000)
libm.so.6 => /usr/lib32/libm.so.6 (0xf73b2000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7397000)
(Edited, third try) THANK YOU GENTOO WIKI
This issue turned out to be a duplicate of this: https://github.com/ValveSoftware/steam-for-linux/issues/3415
Steam segfaults when 'Remember my password' is enabled, with or without working dbus.
Please close this issue if appropriate.
Humm.. I tried your intermittent dbus-launch investigation. But still, unsetting dbus address, setting it to something bogus and moving dbus-launch away, I get a pretty sane segfault in _dbus_atomic_inc().
Additionally I also have the remember my password option set, unless it's different from 'I don't have to type it in on every start of the client'.
Also that password regarded issue is pretty old. Why are you experiencing it still?
I don't know, my steam doesn't segfault in any dbus-related area. only the inexplicable remember password thingy.
After entering password in the login box and pressing enter, I get
libappindicator-WARNING **: Unable to get the session bus: Error spawning command line `dbus-launch --autolaunch=45afb3bcb1f795474b328550000005c2 --binary-syntax --close-stderr': Failed to execute child process "dbus-launch" (No such file or directory)
LIBDBUSMENU-GLIB-WARNING **: Unable to get session bus: Error spawning command line `dbus-launch --autolaunch=45afb3bcb1f795474b328550000005c2 --binary-syntax --close-stderr': Failed to execute child process "dbus-launch" (No such file or directory)
then some lines about loading theme, installing breakpad exception handler, then about 20 of these:
LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.
then a few general "finishing load" type messages.
Ah, that makes more sense. I was already wondering if it might be related to the tray icon (that uses libdbusmenu). Could be a race between steam initialization/login and the tray icon setup... mh...
Just to be clear, it only segfaults on the next restart of steam, if you had checked the remember password box. Not already on the first login when inputting your credentials and checking the remember box?
And according to the other bug reports regarding the remember password issue, it seems to not be related to dbus being available or not.
Yes and yes.
This happens consistently with and without STEAM_RUNTIME=0 on heavily modified Arch Linux x86_64.
uname -a; tac /proc/cpuinfo | egrep -m1 'model'; glxinfo | egrep 'GL (vendor|renderer|version) string:'
gdb $HOME/.local/share/Steam/ubuntu12_32/steam
dd if=/dev/mem bs=256 count=1 skip=11471 | xxd; cat /proc/[0-9]+/maps
The referenced memory area is full of garbage, not owned by the steam process. Looking through all the processes' malloc mappings reveals that no one is using it right now.
ldd ~/.local/share/Steam/ubuntu12_32/steamui.so
ether -Q linux-git sysvinit openrc-core eudev-git libdbus dbus-nosystemd i3-next-gaps-git steam