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!
For what it's worth, Steam has never needed a running instance of networkmanager, just the client libraries that are linked in.
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
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...
@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.
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?
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.
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...
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?
@John-Gee what do you mean by moving NetworkManager bin out of the way? Are you talking about the binary under /usr/lib32?
No in /usr/bin/ (my system's NetworkManager bin, I don't have one for lib32).
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...
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!
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.
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!
You must be using Plasma-nm then to communicate with NetworkManager, isn't it? We'll try to figure this thing together.
Correct.
Would you like me to try without the applet running?
Thank you!
@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
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.
@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.
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... :)
Nope that didn't work.
no solution about this?
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.
if I understand, you use kde
me and John-Gee use gnome and have this trouble
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.
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?
I haven't tried in a while so I cannot say.
@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?
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
after 4 hours steam crash without errors, dumps:)
Just in case, but are you sure it's related to my issue?
I have similar logs
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
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.
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? :)
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!
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.
fixed for me after updating libnm-glib
Can this issue be closed now?
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.
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
You don't need to use alucryd's repository anymore, everything is in multilib (still by alucryd).
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
Your issue is likely unrelated to mine.
Just install steam-native-runtime and whatever it depends on.
mmm ok I just checked and steam-native-runtime is already installed on my system.
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.
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.).
I'm surprised this is still an issue as the problematic behavior seems clear enough :/
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:
libnm, libnm-glib, lib32-libnm-glib & networkmanagerThank 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.
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
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.