protonscr

Steam segfaults (related to networkmanager?)

steamclosed reviewed
ValveSoftware/steam-for-linux#3959 · opened 2015-08-09 by John-Gee · updated 2020-09-10 · 52 comments · github
JJohn-Gee 2015-08-09 github

Hello,

I have been using steam without problem till this Friday.
I thought my issue was related to Arch Linux's upgrade of glibc on that day, but since downgrading it did not help I am not sure anymore.

Here's the output:

ERROR: ld.so: object '/home/john/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/john/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

** (steam:24802): WARNING **: Unknown device type 14

** (steam:24802): WARNING **: Could not create object for /org/freedesktop/NetworkManager/Devices/0: unknown object type
/home/buildbot/buildslave_steam/steam_rel_client_ubuntu12_linux/build/src/clientdll/networkdevicemanager_linux.h (134) : Assertion Failed: pNMClient == pManager->m_pNMClient
Assert( Assertion Failed: pNMClient == pManager->m_pNMClient ):/home/buildbot/buildslave_steam/steam_rel_client_ubuntu12_linux/build/src/clientdll/networkdevicemanager_linux.h:134

Installing breakpad exception handler for appid(steam)/version(1437790054)
assert_20150809165213_18.dmp[25040]: Uploading dump (out-of-process)
/tmp/dumps/assert_20150809165213_18.dmp

** (steam:24802): WARNING **: Unknown device type 14

** (steam:24802): WARNING **: Unknown device type 14

** (steam:24802): WARNING **: Unknown device type 14

** (steam:24802): WARNING **: Could not create object for /org/freedesktop/NetworkManager/Devices/0: unknown object type

** (steam:24802): WARNING **: Unknown device type 14

** (steam:24802): WARNING **: Ignoring invalid property 'secondaries'

** (steam:24802): WARNING **: Ignoring invalid property 'route-data'

** (steam:24802): WARNING **: Ignoring invalid property 'address-data'

** (steam:24802): WARNING **: Ignoring invalid property 'route-data'

** (steam:24802): WARNING **: Ignoring invalid property 'address-data'

** (steam:24802): WARNING **: Ignoring invalid property 'secondaries'

** (steam:24802): WARNING **: Ignoring invalid property 'route-data'

** (steam:24802): WARNING **: Ignoring invalid property 'address-data'

** (steam:24802): WARNING **: Ignoring invalid property 'route-data'

** (steam:24802): WARNING **: Ignoring invalid property 'address-data'

** (steam:24802): WARNING **: Ignoring invalid property 'secondaries'

** (steam:24802): WARNING **: Ignoring invalid property 'route-data'

** (steam:24802): WARNING **: Ignoring invalid property 'address-data'

** (steam:24802): WARNING **: Ignoring invalid property 'route-data'

** (steam:24802): WARNING **: Ignoring invalid property 'address-data'

** (steam:24802): WARNING **: replace_settings: error updating connection /org/freedesktop/NetworkManager/Settings/2 settings: (1) type

** (steam:24802): WARNING **: Ignoring invalid property 'secondaries'

** (steam:24802): WARNING **: Ignoring invalid property 'route-data'

** (steam:24802): WARNING **: Ignoring invalid property 'address-data'

** (steam:24802): WARNING **: Ignoring invalid property 'route-data'

** (steam:24802): WARNING **: Ignoring invalid property 'address-data'

** (steam:24802): WARNING **: Ignoring invalid property 'secondaries'

** (steam:24802): WARNING **: Ignoring invalid property 'interface-name'

** (steam:24802): WARNING **: Ignoring invalid property 'route-data'

** (steam:24802): WARNING **: Ignoring invalid property 'address-data'

** (steam:24802): WARNING **: Ignoring invalid property 'route-data'

** (steam:24802): WARNING **: Ignoring invalid property 'address-data'

** (steam:24802): WARNING **: Ignoring invalid property 'secondaries'

** (steam:24802): WARNING **: Ignoring invalid property 'route-data'

** (steam:24802): WARNING **: Ignoring invalid property 'address-data'

** (steam:24802): WARNING **: Ignoring invalid property 'route-data'

** (steam:24802): WARNING **: Ignoring invalid property 'address-data'

(steam:24802): GLib-GObject-WARNING **: invalid uninstantiatable type <invalid>' in cast toNMRemoteSettings'

(steam:24802): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `'

(steam:24802): GLib-GObject-WARNING **: instance of invalid non-instantiatable type `'
assert_20150809164956_1.dmp[25045]: Uploading dump (out-of-process)
/tmp/dumps/assert_20150809164956_1.dmp
/home/john/.local/share/Steam/steam.sh: line 756: 24802 Segmentation fault (core dumped) $STEAM_DEBUGGER "$STEAMROOT/$STEAMEXEPATH" "$@"
assert_20150809165213_18.dmp[25040]: Finished uploading minidump (out-of-process): success = yes
assert_20150809165213_18.dmp[25040]: response: CrashID=bp-fc48291e-7622-4eba-bf7e-8a4f02150809
assert_20150809165213_18.dmp[25040]: file ''/tmp/dumps/assert_20150809165213_18.dmp'', upload yes: ''CrashID=bp-fc48291e-7622-4eba-bf7e-8a4f02150809''
assert_20150809164956_1.dmp[25045]: Finished uploading minidump (out-of-process): success = yes
assert_20150809164956_1.dmp[25045]: response: CrashID=bp-1ca65df8-448c-4c16-a0d2-cf09a2150809
assert_20150809164956_1.dmp[25045]: file ''/tmp/dumps/assert_20150809164956_1.dmp'', upload yes: ''CrashID=bp-1ca65df8-448c-4c16-a0d2-cf09a2150809''
Assert( CClientPipe::BWriteAndReadResult: BWaitResult failed, disconnected ):/home/buildbot/buildslave/steam_rel_client_linux/build/src/clientdll/../common/pipes.cpp:735

ERROR: ld.so: object '/home/john/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.

JJohn-Gee 2015-08-10 github

I am guessing it is related to NM as I believe that is at the time it writes the assert failure that it has crashed, I see the overlay warning while Steam seems to be running fine.

And a side effect of this, is that it takes the game started down as well, even though the game can run fine as a standalone from Steam (Borderlands 2 in this case, that I've been playing without Steam since Saturday...).

I'm on Arch Linux 64b, all up to date (with the testing repos).
My network configuration is simple, I am connected by rj45 to my router, so not much NM should need to do...

Thanks!

TTele42 2015-10-12 github

For what it's worth, Steam has never needed a running instance of networkmanager, just the client libraries that are linked in.

OOxalin 2015-12-08 github

If you are still experiencing this bug, could you try the following since you are using Arch Linux:
Add alucryd-multilib repository
Install lib32-libnm-glib46 (if you want to test only with it) or the "steam-libs" package

Instructions about adding an unofficial repository (at the top) and about alucryd-multilib repository (look for alucryd-multilib) are available here:
https://wiki.archlinux.org/index.php/Unofficial_user_repositories

JJohn-Gee 2015-12-26 github

I was on steam-native, based on your comment I tried steam-libs instead, but it's pretty much the same:

"** (steam:13706): WARNING **: Ignoring invalid property 'address-data'
networkdevicemanager_linux.h (134) : Assertion Failed: pNMClient == pManager->m_pNMClient
Assert( Assertion Failed: pNMClient == pManager->m_pNMClient ):networkdevicemanager_linux.h:134

Installing breakpad exception handler for appid(steam)/version(1450493858)
assert_20151225222952_20.dmp[14861]: Uploading dump (out-of-process)
/tmp/dumps/assert_20151225222952_20.dmp
networkdevicemanager_linux.h (134) : Assertion Failed: pNMClient == pManager->m_pNMClient
networkdevicemanager_linux.h (134) : Assertion Failed: pNMClient == pManager->m_pNMClient
"
....
"(steam:21434): GLib-GObject-CRITICAL **: g_type_instance_get_private: assertion 'instance != NULL && instance->g_class != NULL' failed"
not even within a game, just in Steam itself...

OOxalin 2015-12-26 github

@John-Gee is lib32-libnm-glib46 installed? Your error points to a problem with the network manager: Steam relies on the API available under 0.9.8 but not there with the official stable release.

JJohn-Gee 2015-12-26 github

Yes it is.
As for your other point hmm, I don't know.
Is there any way that this assertion pops up at about the same time as the real issue but is not the culprit?

JJohn-Gee 2015-12-26 github

Looking at journalctl it seems the NetworkManager service goes down when steam does. I'd guess one is the reason for the other, but what's the order?. Since NM goes down on a SIGTERM, I guess steam kills it somehow.

JJohn-Gee 2015-12-26 github

So I've tried something that seems to work around the issue so far:

moving the NetworkManager bin out of the way (I renamed it), so far no crash... but it's not really clean, seems to delay steam startup and won't work on updates...

JJohn-Gee 2015-12-27 github

No crash having the client opened for 20+ hours and I've played a game 2 hours...
It looks like the workaround holds, how can we do better?

OOxalin 2016-01-04 github

@John-Gee what do you mean by moving NetworkManager bin out of the way? Are you talking about the binary under /usr/lib32?

JJohn-Gee 2016-01-05 github

No in /usr/bin/ (my system's NetworkManager bin, I don't have one for lib32).

OOxalin 2016-01-06 github

Could you execute the two following commands and post what you get:
ldd ~/.local/share/Steam/ubuntu12_32/steamclient.so | grep libnm
ls -la /usr/lib32/libnm-*

The first should point to the location of libnm (which should be where lib32-libnm is installed). The second should tell us where are pointing your symlinks.

The real fix would be to have steamclient.so built against a newer version of libnm (with official stable API), but I'm not expecting this fix anytime soon. Steam could also have its own libnm libraries in the same folder as its steamclient.so file. However, I think some games embedded steamclient.so in their installation folder, which wouldn't fix everything...

JJohn-Gee 2016-01-06 github

ldd ~/.local/share/Steam/ubuntu12_32/steamclient.so | grep libnm
libnm-glib.so.4 => /usr/lib32/libnm-glib.so.4 (0xf5fa7000)
libnm-util.so.2 => /usr/lib32/libnm-util.so.2 (0xf5f35000)

ls -la /usr/lib32/libnm-*
lrwxrwxrwx 1 root root 23 Dec 25 23:07 /usr/lib32/libnm-glib-vpn.so.1 -> libnm-glib-vpn.so.1.1.0
-rwxr-xr-x 1 root root 38K Oct 30 2014 /usr/lib32/libnm-glib-vpn.so.1.1.0
lrwxrwxrwx 1 root root 19 Dec 25 23:07 /usr/lib32/libnm-glib.so.4 -> libnm-glib.so.4.6.0
-rwxr-xr-x 1 root root 284K Oct 30 2014 /usr/lib32/libnm-glib.so.4.6.0
lrwxrwxrwx 1 root root 19 Dec 25 23:07 /usr/lib32/libnm-util.so.2 -> libnm-util.so.2.4.0
-rwxr-xr-x 1 root root 448K Oct 30 2014 /usr/lib32/libnm-util.so.2.4.0

As for the real fix, I don't fully agree.
As much as it would be great to have steam use the updated API, etc... a good start would be to not crash :)
Since steam and the game I tried (KOTOR 2 if it matters) seemed to work fine without NM running, I'm assuming it should be able to do the same, with an incompatible NM, instead of crashing...
(The origin of the crash may very well be in an NM lib and not steam itself, but it'd be nice for steam to still protects itself from stuff like that)

Thank you!

OOxalin 2016-01-06 github

Symlinks are ok, pointing to the good libraries. I was wondering if by any bad luck we were dealing with a wrong version for an obscure reason.

What's your window manager? I'm using Gnome 3, same NM libs installed, NM is active and being used by Gnome and I don't have this problem. (32bit at version 0.9.8 and 64bit at 1.0.10)

As for the fix, indeed if Steam could deal with that error instead of crashing if it can do without libnm... That said, if the NM API was still unstable when Valve chose it, that was a risky choice. On the other side, if the API was stable, the library's major number should have been updated. That would have prevented any problem with coexisting versions. But that, I don't know.

JJohn-Gee 2016-01-06 github

I'm using kwin 5 (Plasma 5).

Yes I don't get it, I'm sure many people have the same NM as we do and don't have the issue... if not no Arch user could use steam... but it seems to be somewhat a rare issue...

Well I do not know either, I'm hoping to find some better work around than that (although I don't really need it, my PC is setup to use NM for internet connection, so with NM down I get no connection renewal... which is annoying every now and then).

Thank you!

OOxalin 2016-01-06 github

You must be using Plasma-nm then to communicate with NetworkManager, isn't it? We'll try to figure this thing together.

JJohn-Gee 2016-01-06 github

Correct.
Would you like me to try without the applet running?

Thank you!

OOxalin 2016-01-08 github

@John-Gee by any chance, could it be related to a firewall being misconfigured? That was the problem identified in the end here: https://github.com/ValveSoftware/steam-for-linux/issues/4177

JJohn-Gee 2016-01-08 github

Hmmm, I am not using any firewall per se, but I guess something in (stock) iptables could be troublesome?
I looked at that issue, but there is no real explanation of what was faulty and same with wiki so I am not sure what to try.

OOxalin 2016-01-11 github

@John-Gee Underminant answered how she solved issue #4177 but I don't know if this can be of any help.

On a different path, I just installed Plasma 5, so I'll try to reproduce the error.

JJohn-Gee 2016-01-11 github

Thank you for asking her!
Just in case I've dropped all my iptables to Arch's default and will see if that helps. I couldn't think of anything else to try. (I don't remember setting any, but the computer's been running for years so maybe I did or a package did).

As for Plasma 5, cool thanks! Be ready for almost weekly upgrades of it or its dependencies... :)

JJohn-Gee 2016-01-12 github

Nope that didn't work.

Ggamidov-r 2016-04-01 github

no solution about this?

OOxalin 2016-04-01 github

I've been away for some time. However, I'm back home now. I had no time to poke deeply at my Plasma setup, but from what I've experienced for now, I had no issue.

Ggamidov-r 2016-04-01 github

if I understand, you use kde
me and John-Gee use gnome and have this trouble

JJohn-Gee 2016-04-01 github

Hmmm no I use Plasma as well :)

And the only solution I found is to rename the NetworkManager binary to something else before starting Steam. It's not the best, but it seems to allow steam not to crash.

Ggamidov-r 2016-04-01 github

hm. I update libnm, gnome to 3.20, install other updates and today Steam don't crash
before steam spam this messages

** (steam:13215): WARNING **: Ignoring invalid property 'route-data'

** (steam:13215): WARNING **: Ignoring invalid property 'address-data'


now spam this



** (steam:13215): WARNING **: Ignoring invalid property 'route-data'

** (steam:13215): WARNING **: Ignoring invalid property 'address-data'

** (steam:13215): WARNING **: Ignoring invalid property 'addr-gen-mode'

** (steam:13215): WARNING **: Ignoring invalid property 'secondaries'

do you have similar messages?

JJohn-Gee 2016-04-01 github

I haven't tried in a while so I cannot say.

OOxalin 2016-04-01 github

@steamlinux I run Gnome 3.20 most of the time. As explained previously, I was encountering the current bug before installing lib32-libnm-glib46, but I don't have any problem anymore. I only installed Plasma after @John-Gee had mentionned he was using it.

About the warnings: I have the same as you, so you shouldn't worry about them. Good news for you if this is fixed. I know there were many changes lately to the NetworkManager under Gnome 3.20, maybe that's related?

Ggamidov-r 2016-04-01 github

now steam crash
1 crash today, before steam crash every day
I was delighted and started without debug Steam
Now fire up again to debug and will catch may have another reason

Ggamidov-r 2016-04-02 github

after 4 hours steam crash without errors, dumps:)

JJohn-Gee 2016-04-02 github

Just in case, but are you sure it's related to my issue?

Ggamidov-r 2016-04-02 github

I have similar logs

Ggamidov-r 2016-04-10 github

I fully reinstall my debian and steam doesn't crash
p.s. I don't change distro, DE and more, before I use debian sid with gnome, and now too

JJohn-Gee 2016-04-25 github

Well I just bought a game and was going to install it but it crashed before I could:

(steam:20733): GLib-GObject-WARNING **: invalid unclassed pointer in cast to 'NMRemoteSettings'

(steam:20733): GLib-GObject-CRITICAL **: g_type_instance_get_private: assertion 'instance != NULL && instance->g_class != NULL' failed

(steam:20733): GLib-GObject-CRITICAL **: g_type_instance_get_private: assertion 'instance != NULL && instance->g_class != NULL' failed
assert_20160425023424_1.dmp[28821]: Uploading dump (out-of-process)
/tmp/dumps/assert_20160425023424_1.dmp
/home/john/.local/share/Steam/steam.sh: line 756: 20733 Segmentation fault (core dumped) $STEAM_DEBUGGER "$STEAMROOT/$STEAMEXEPATH" "$@"
assert_20160425023858_49.dmp[28817]: Finished uploading minidump (out-of-process): success = yes
assert_20160425023858_49.dmp[28817]: response: CrashID=bp-37599785-2888-4f13-ab09-3a34c2160425

and as always I see NM stopping in journalctl when steam crashed.

JJohn-Gee 2016-04-29 github

This seems related to this other bug:
https://github.com/ValveSoftware/steam-for-linux/issues/4042

Though the other user gets it on resuming his computer, I get it without that.

I'm starting to wonder if I should not change the code of lib32-libnm-glib46 to not connect to NetworkManager that way I wouldn't have to get the NM bin out of the way..

@Plagman : any idea here? :)

JJohn-Gee 2016-05-03 github

So I don't know if anything changes recently, but today I forgot to do my little trick of putting the NM binary aside, and my game crashed (during the end game cinematic :'/ ) but Steam didn't go down with it this time!

JJohn-Gee 2016-05-13 github

I believe I found something interesting:

So it seems some app was restarting my NetworkManager service every now and then, and my guess is that's exactly when steam would go down. So steam wasn't crashing NM, but the other way around.
I think I have fixed the NM restarting, but I still believe steam (and the games!) should survive that behavior.

Ssudoaza 2016-08-01 github

fixed for me after updating libnm-glib

KKasijjuf 2016-08-02 github

Can this issue be closed now?

JJohn-Gee 2016-08-02 github

I think not.
The underlying issue is not fixed, only its occurrence in my setup is gone.
Steam should not crash because NM restarted/stopped/crashed etc... especially since it works (fine) without NM running.

Ppostadelmaga 2016-11-19 github

I got this issue if I run steam with optirun ( otherwise with intel works fine ).
Tried to install lib32-libnm-glib46 but is not available in alucryd-multilib

warning: cannot resolve "lib32-libnm-glib46", a dependency of "steam-libs"
:: The following package cannot be upgraded due to unresolvable dependencies:
      steam-libs
JJohn-Gee 2016-11-20 github

You don't need to use alucryd's repository anymore, everything is in multilib (still by alucryd).

Ppostadelmaga 2016-11-20 github

does lib32-libnm-glib46 is still required ? ( it is not available anywhere, aur packages is missing too)
what I am suppose to install exactly to solve this issue ?

note
if I run steam without optirun everything is ok

JJohn-Gee 2016-11-20 github

Your issue is likely unrelated to mine.
Just install steam-native-runtime and whatever it depends on.

Ppostadelmaga 2016-11-20 github

mmm ok I just checked and steam-native-runtime is already installed on my system.

Nnicbus 2017-06-27 github

I think I am also experiencing this issue. After reading this issue I tried opening steam and restarting network-manager ($ sudo systemctl restart network-manager.service) and voilà, it crashes instantly. Looks 100% reproducible.

At first my system was like this:

$ ldd ~/.local/share/Steam/ubuntu12_32/steamclient.so | grep libnm
libnm-glib.so.4 => not found
libnm-util.so.2 => not found

So I did sudo apt install libnm-glib4:i386 libnm-util2:i386 and now it looks like:

$ ldd ~/.local/share/Steam/ubuntu12_32/steamclient.so | grep libnm
libnm-glib.so.4 => /usr/lib/i386-linux-gnu/libnm-glib.so.4 (0xf5d86000)
libnm-util.so.2 => /usr/lib/i386-linux-gnu/libnm-util.so.2 (0xf5d16000)

Restarting network-manager now doesn't crash steam anymore.

On a side note, I tried the same on another system where ldd ... |grep libnm returns not found and there it doesn't crash, so not sure what the real issue is. The second system doesn't have ~/.local/share/Steam/ubuntu12_32/steamclient.so but ~/.steam/ubuntu12_32/steamclient.so instead. Both are debian stretch installations but the first one had steam installed with the debian package from steampowered.com, the second one from the debian repositories.

WWaltibaba 2019-04-10 github

I had this same issue for a long time on Arch as well. Thanks to @John-Gee 's previous answer where he found his NM restarting was causing the crash, I found my fix:
I had daemonized docker containers running in the background that were crash looping.
Each time they startup, they register one or more Virtual Ethernet (veth) devices on a network bridge, which NM instantly broadcasts to dbus. Steam tries to get infos on what it sees as a new network connection via get_properties of the dbus endpoint of that veth device, but the docker container crashed so quickly the actual veth device in the background was already gone.
Randomly, that would cause a segfault in steam if timed correctly - happened more often during high load situations (game running, compiling stuff, etc.).

JJohn-Gee 2019-04-10 github

I'm surprised this is still an issue as the problematic behavior seems clear enough :/

Aand3rson 2019-08-10 github

This issue still persists. It renders all the games unplayable and crashes totally randomly all the time. I can confirm that restarting NetworkManager triggers this.
What I've tried:

  • Updated libnm, libnm-glib, lib32-libnm-glib & networkmanager
  • Tried native/non-native steam script
Ssaucecode 2020-01-27 github

Thank you @dieeasy ! This solved the problem for me on Ubuntu 18.04. The command to restart the network manager was completely effective to crash Steam. I installed the packages, and got the same ldd output.

Steam no longer crashes for me.

Aaximili-dev 2020-09-10 github

I had this same issue for a long time on Arch as well. Thanks to @John-Gee 's previous answer where he found his NM restarting was causing the crash, I found my fix:
I had daemonized docker containers running in the background that were crash looping.
Each time they startup, they register one or more Virtual Ethernet (veth) devices on a network bridge, which NM instantly broadcasts to dbus. Steam tries to get infos on what it sees as a new network connection via get_properties of the dbus endpoint of that veth device, but the docker container crashed so quickly the actual veth device in the background was already gone.
Randomly, that would cause a segfault in steam if timed correctly - happened more often during high load situations (game running, compiling stuff, etc.).

Welp this fixed my issue. Stopped and removed the problematic containers, and Steam is running like a charm now. Something to keep in mind when working with docker in the future

Thank you very much @Waltibaba