ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.23k stars 174 forks source link

DBus error flood after suspend/resume #3831

Open Tak opened 9 years ago

Tak commented 9 years ago

With Steam running, but the window closed (only the taskbar icon visible), suspending and resuming my system results in a flood of the following errors in my syslog (process 3941 is steam). Restarting steam works around the issue.

May 3 15:46:53 hostname gnome-session[2284]: process 3941: arguments to dbus_connection_unref() were incorrect, assertion "connection->generation == _d bus_current_generation" failed in file ../../dbus/dbus-connection.c line 2794. May 3 15:46:53 hostname gnome-session[2284]: This is normally a bug in some application using the D-Bus library.

System information: Processor Information: Vendor: GenuineIntel CPU Family: 0x6 CPU Model: 0x3a CPU Stepping: 0x9 CPU Type: 0x0 Speed: 3700 Mhz 8 logical processors 4 physical processors HyperThreading: Supported FCMOV: Supported SSE2: Supported SSE3: Supported SSSE3: Supported SSE4a: Unsupported SSE41: Supported SSE42: Supported

Network Information: Network Speed:

Operating System Version: Ubuntu 15.04 (64 bit) Kernel Name: Linux Kernel Version: 3.19.0-15-generic X Server Vendor: The X.Org Foundation X Server Release: 11701000 X Window Manager: Compiz Steam Runtime Version: steam-runtime-release_2015-01-06

Video Card: Driver: NVIDIA Corporation GeForce GT 650M/PCIe/SSE2

Driver Version:  4.5.0 NVIDIA 346.59
OpenGL Version: 4.5
Desktop Color Depth: 24 bits per pixel
Monitor Refresh Rate: 59 Hz
VendorID:  0x10de
DeviceID:  0xfd5
Number of Monitors:  1
Number of Logical Video Cards:  2
Primary Display Resolution:  2880 x 1800
Desktop Resolution: 2880 x 1800
Primary Display Size: 13.03" x 8.15"  (15.35" diag)
                                        33.1cm x 20.7cm  (39.0cm diag)
Primary Bus: PCI Express 16x
Primary VRAM: 1024 MB
Supported MSAA Modes:  2x 4x 8x 16x 

Sound card: Audio device: Cirrus Logic CS4206

Memory: RAM: 15954 Mb

Miscellaneous: UI Language: English LANG: en_US.UTF-8 Microphone: Not set Total Hard Disk Space Available: 336048 Mb Largest Free Hard Disk Block: 60273 Mb

Installed software:

Recent Failure Reports:

illis commented 6 years ago

I get the same error message (have been getting it for quite some time):

process 30574: arguments to dbus_connection_ref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file ../../dbus/dbus-connection.c line 2656.
This is normally a bug in some application using the D-Bus library.
process 30574: arguments to dbus_connection_unref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file ../../dbus/dbus-connection.c line 2794.

Arch Linux 64-bit Kernel: 4.14.17-1-ck-haswell Steam Runtime Version: steam-runtime-beta-release_2017-10-05

WoefulDerelict commented 6 years ago

This issue arises when the legacy libraries included in the Steam runtime conflict with newer software installed on the system. The simplest mitigation is to set STEAM_RUNTIME_PREFER_HOST_LIBRARIES=1. Setting STEAM_RUNTIME=0 also works; however, it requires the libraries present in the runtime to be installed on the system.

It is also possible to remedy the issue without negatively impacting Steam or games that depend on Steam's runtime by deleting the links to the offending libraries from the pinnedlibs* folders Steam creates at ~/.local/share/Steam/ubuntu12_32/steam-runtime.

pinned_libs_32 contains four links to libraries that must be removed to properly mitigate the issue: libdbus-1.so.3: Direct cause of the reported issue. libdbusmenu-glib.so.4: Causes the following warning "LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent." libdbusmenu-gtk.so.4 libgtk-x11-2.0.so.0: If left after removing libdbus-1.so.3, libdbusmenu-glib.so.4 and libdbusmenu-gtk.so.4 it will prevent Steam's appindicator/status icon from working properly.

pinned_libs_64 contains 2 links which should also be removed. libdbusmenu-glib.so.4 libdbusmenu-gtk.so.4

This is not a permanent fix as Steam will recreate these links during updates. Valve needs to remove these from the runtime or adopt more modern versions to permanently fix the issue.

tliron commented 6 years ago

This bug still occurs, and seems to have nothing to do with suspend.

WoefulDerelict commented 6 years ago

It does indeed have nothing to do with suspend. As mentioned above and in #5146 this is an issue resulting from legacy dbus libraries in the Steam runtime for Linux which is based on Ubuntu 12.04. It will occur any time the application is run on systems with incompatible versions of the dbus library. It starts immediately after launching Steam and is not the result of placing a machine in suspend while Steam is running.