protonscr

Client crashes when a notification is received and the monitor is turned off

steamclosed Steam clientWeb Component
ValveSoftware/steam-for-linux#9572 · opened 2023-06-08 by jpenalbae · updated 2024-01-28 · 1 comments · github
Jjpenalbae 2023-06-08 github

Your system information

  • Steam client version (build number or date): 1686092969 (Wed, Jun 7 12:51 AM UTC -08:00)
  • Distribution Debian unstable/sid
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes
  • System information: gist
  • Steam Runtime System Information: gist

Please describe your issue in as much detail as possible:

Whenever a window or a notification popup is created when there is no display available, the steam client "crashes". Actually I think it is not a crash, but the client turns into an unusable state.

I have three displays setup, but I suspect the number of display are irrelevant. Whenever I go AFK I turn off my monitors, when I return to my desktop and turn back on the monitors, most of the times the steam client is "crashed".

Here is a normal xrandr output:

$ xrandr
Screen 0: minimum 8 x 8, current 5760 x 1080, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 connected primary 1920x1080+1920+0 (normal left inverted right x axis y axis) 530mm x 300mm
   1920x1080     60.00*+  59.94    50.00
   1600x1200     60.00
   1600x900      60.00
   1280x1024     75.02    60.02
   1280x720      60.00    59.94    50.00
   1152x864      75.00
   1024x768      75.03    60.00
   800x600       75.00    60.32
   720x576       50.00
   720x480       59.94
   640x480       75.00    59.94    59.93
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 connected 1920x1080+3840+0 (normal left inverted right x axis y axis) 530mm x 300mm
   1920x1080     60.00*+  59.94    50.00
   1600x1200     60.00
   1600x900      60.00
   1280x1024     75.02    60.02
   1280x720      60.00    59.94    50.00
   1152x864      75.00
   1024x768      75.03    60.00
   800x600       75.00    60.32
   720x576       50.00
   720x480       59.94
   640x480       75.00    59.94    59.93
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 530mm x 300mm
   1920x1080     60.00*+  59.94    50.00
   1600x1200     60.00
   1600x900      60.00
   1280x1024     75.02    60.02
   1280x720      60.00    59.94    50.00
   1152x864      75.00
   1024x768      75.03    60.00
   800x600       75.00    60.32
   720x576       50.00
   720x480       59.94
   640x480       75.00    59.94    59.93
DP-5 disconnected (normal left inverted right x axis y axis)

And this is xrandr with two monitors powered off:

$ xrandr
Screen 0: minimum 8 x 8, current 5760 x 1080, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected primary 1920x1080+1920+0 (normal left inverted right x axis y axis) 0mm x 0mm
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 connected 1920x1080+3840+0 (normal left inverted right x axis y axis) 530mm x 300mm
   1920x1080     60.00*+  59.94    50.00
   1600x1200     60.00
   1600x900      60.00
   1280x1024     75.02    60.02
   1280x720      60.00    59.94    50.00
   1152x864      75.00
   1024x768      75.03    60.00
   800x600       75.00    60.32
   720x576       50.00
   720x480       59.94
   640x480       75.00    59.94    59.93
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
DP-5 disconnected (normal left inverted right x axis y axis)

My guess is that when creating a new chat window, a notification window, or any kind of new window, the steam client tries to obtain the displays available such as provided by randr and somehow it fails to create a new window and crashes.

Here is the desktop state whenever I turn back on the monitor:
desktop

Same, but with the steam client windows unstacked.
desktop-full

Looks like an independent window is created for every popup menu and stacked over the main client window.

I have attached several logs which include some debug on the crash:
steamui_html.txt
steamwebhelper.log
webhelper.txt

Steps for reproducing this issue:

  1. Open steam
  2. Turn off every monitor connected to the system
  3. Send a chat message from another account
  4. Turn back on the monitor and check the client crashed state

Other notes:

  • It does not matter if you disable all notifications, it still crashes when creating a chat window from an incoming message.
  • It does not matter if you enable or disable hardware acceleration options
  • Stable client does not have this problem. I think the problem started with the new UI overhaul.
TToby-Haynes 2023-06-25 github

I see this symptom on my Fedora 38 AMD Ryzen system - 14 separate windows containing bits of the steam UI after monitor off overnight.

Running

killall steamwebhelper

recovers the steam client back to a usable state.

Computer Information:
Manufacturer: AZW
Model: SER
Form Factor: Desktop
No Touch Input Detected
Processor Information:
CPU Vendor: AuthenticAMD
CPU Brand: AMD Ryzen 5 5560U with Radeon Graphics
CPU Family: 0x19
CPU Model: 0x50
CPU Stepping: 0x0
CPU Type: 0x0
Speed: 4060 MHz
12 logical processors
6 physical processors
Hyper-threading: Supported
FCMOV: Supported
SSE2: Supported
SSE3: Supported
SSSE3: Supported
SSE4a: Supported
SSE41: Supported
SSE42: Supported
AES: Supported
AVX: Supported
AVX2: Supported
AVX512F: Unsupported
AVX512PF: Unsupported
AVX512ER: Unsupported
AVX512CD: Unsupported
AVX512VNNI: Unsupported
SHA: Supported
CMPXCHG16B: Supported
LAHF/SAHF: Supported
PrefetchW: Unsupported
Operating System Version:
Fedora Linux 38 (Workstation Edition) (64 bit)
Kernel Name: Linux
Kernel Version: 6.3.4-201.fc38.x86_64
X Server Vendor: The X.Org Foundation
X Server Release: 12201009
X Window Manager: GNOME Shell
Steam Runtime Version: steam-runtime_0.20230509.49499
Video Card:
Driver: AMD AMD Radeon Graphics (renoir, LLVM 16.0.4, DRM 3.52, 6.3.4-201.fc38.x86_64)
Driver Version: 4.6 (Compatibility Profile) Mesa 23.1.1
OpenGL Version: 4.6
Desktop Color Depth: 24 bits per pixel
Monitor Refresh Rate: 59 Hz
VendorID: 0x1002
DeviceID: 0x1638
Revision Not Detected
Number of Monitors: 1
Number of Logical Video Cards: 1
Primary Display Resolution: 1920 x 1080
Desktop Resolution: 1920 x 1080
Primary Display Size: 20.08" x 11.42" (23.07" diag), 51.0cm x 29.0cm (58.6cm diag)
Primary VRAM: 3072 MB

Nothing extracted yet.