protonscr

Steam has a random chance to freeze when navigating UI elements

steamclosed reviewed
ValveSoftware/steam-for-linux#4368 · opened 2016-03-23 by DarkDefender · updated 2016-04-06 · 6 comments · github
DDarkDefender 2016-03-23 github

I ran into this about a month about and it happens with the beta and normal steam client. It seems like each interaction that I do with the steam client has a chance to freeze it. It could be such a simple thing as just selecting a game in my library to moving focus back to the steam client after I were on an other workspace.

I can trigger it really fast by quickly moving my mouse over the "STORE LIBRARY COMMUNITY" back and forth so that dropdown menus are spawned and removed in a quick fashion. Then after a few seconds of doing that, the steam client will freeze for me and it will not redraw itself. The tray icon is not responding to clicks either and I have to kill it.

If it froze when a drop down menu were visible the dropdown menu is now visiable on all workspaces till I kill steam...

When it freezes it also makes Xorg max out one of my cpu cores.

I started steam with "DEBUGGER=gdb steam" and then did a "ctrl+c" when it had froze to get the following backtrace. I should note that I tried to use the bundled libxcb before and it didn't help. As you can see it also happens with my system libxcb.

Backtrace:

(gdb) bt
#0  0xf7fd9b89 in __kernel_vsyscall ()
#1  0xf7bb9d5b in poll () from /lib32/libc.so.6
#2  0xf7ac0f65 in _xcb_conn_wait () from /usr/lib32/libxcb.so.1
#3  0xf7ac31b6 in xcb_wait_for_special_event () from /usr/lib32/libxcb.so.1
#4  0xf73213b9 in dri3_find_back () from /usr/lib32/libGL.so.1
#5  0xf7322339 in loader_dri3_get_buffers () from /usr/lib32/libGL.so.1
#6  0xf6afff53 in dri2_allocate_textures () from /usr/lib32/dri/radeonsi_dri.so
#7  0xf6afcc43 in dri_st_framebuffer_validate () from /usr/lib32/dri/radeonsi_dri.so
#8  0xf6a2b8df in st_framebuffer_validate () from /usr/lib32/dri/radeonsi_dri.so
#9  0xf6a2ce00 in st_manager_validate_framebuffers () from /usr/lib32/dri/radeonsi_dri.so
[#10](/issue/ValveSoftware/steam-for-linux/10) 0xf69d9fcf in st_validate_state () from /usr/lib32/dri/radeonsi_dri.so
[#11](/issue/ValveSoftware/steam-for-linux/11) 0xf69e239e in st_Clear () from /usr/lib32/dri/radeonsi_dri.so
[#12](/issue/ValveSoftware/steam-for-linux/12) 0xf689a95c in _mesa_Clear () from /usr/lib32/dri/radeonsi_dri.so
[#13](/issue/ValveSoftware/steam-for-linux/13) 0xef692211 in ?? () from /home/zed/.local/share/Steam/ubuntu12_32/vgui2_s.so
[#14](/issue/ValveSoftware/steam-for-linux/14) 0xef694dc5 in ?? () from /home/zed/.local/share/Steam/ubuntu12_32/vgui2_s.so
[#15](/issue/ValveSoftware/steam-for-linux/15) 0xef6a4a0d in ?? () from /home/zed/.local/share/Steam/ubuntu12_32/vgui2_s.so
[#16](/issue/ValveSoftware/steam-for-linux/16) 0xf234c350 in ?? () from /home/zed/.local/share/Steam/ubuntu12_32/steamui.so
[#17](/issue/ValveSoftware/steam-for-linux/17) 0xf2364d2b in ?? () from /home/zed/.local/share/Steam/ubuntu12_32/steamui.so
[#18](/issue/ValveSoftware/steam-for-linux/18) 0xf236edc5 in ?? () from /home/zed/.local/share/Steam/ubuntu12_32/steamui.so
[#19](/issue/ValveSoftware/steam-for-linux/19) 0x5659541a in RunSteam(int, char**, bool) ()
[#20](/issue/ValveSoftware/steam-for-linux/20) 0x5657de32 in ?? ()
[#21](/issue/ValveSoftware/steam-for-linux/21) 0xf7af65e7 in __libc_start_main () from /lib32/libc.so.6
[#22](/issue/ValveSoftware/steam-for-linux/22) 0x565806d9 in _start ()

Steam system info:

Computer Information:
    Manufacturer:  Unknown
    Model:  Unknown
    Form Factor: Desktop
    No Touch Input Detected

Processor Information:
    CPU Vendor:  AuthenticAMD
    CPU Family:  0x15
    CPU Model:  0x1
    CPU Stepping:  0x2
    CPU Type:  0x0
    Speed:  4000 Mhz
    8 logical processors
    8 physical processors
    HyperThreading:  Unsupported
    FCMOV:  Supported
    SSE2:  Supported
    SSE3:  Supported
    SSSE3:  Supported
    SSE4a:  Supported
    SSE41:  Supported
    SSE42:  Supported
    AES:  Supported
    AVX:  Supported
    CMPXCHG16B:  Supported
    LAHF/SAHF:  Supported
    PrefetchW:  Unsupported

Network Information:
    Network Speed:  

Operating System Version:
    "NAME=Gentoo" (64 bit)
    Kernel Name:  Linux
    Kernel Version:  4.4.5-gentoo
    X Server Vendor:  The X.Org Foundation
    X Server Release:  11899001
    X Window Manager:  awesome
    Steam Runtime Version:  steam-runtime-release_2016-02-23

Video Card:
    Driver:  X.Org Gallium 0.4 on AMD HAWAII (DRM 2.43.0, LLVM 3.9.0)

    Driver Version:  3.0 Mesa 11.3.0-devel (git-1e8435c)
    OpenGL Version: 3.0
    Desktop Color Depth: 24 bits per pixel
    Monitor Refresh Rate: 59 Hz
    VendorID Not Detected
    DeviceID Not Detected
    Number of Monitors:  1
    Number of Video Cards Not Detected
    Primary Display Resolution:  1920 x 1200
    Desktop Resolution: 1920 x 1200
    Primary Display Size: 20,39" x 12,76"  (24,02" diag)
                                            51,8cm x 32,4cm  (61,0cm diag)
    Primary VRAM: 4096 MB

Sound card:
    Audio device: ICE1724 - multitrack

Memory:
    RAM:  11961 Mb

Miscellaneous:
    UI Language:  English
    LANG:  sv_SE.utf8
    Microphone:  Not set
    Total Hard Disk Space Available:  1877664 Mb
    Largest Free Hard Disk Block:  1135637 Mb
    VR Headset: None detected
TTele42 2016-03-23 github

@DarkDefender, are you using DRI3? Can you reproduce this with DRI2? Upstream bug at https://bugs.freedesktop.org/show_bug.cgi?id=94611.

DDarkDefender 2016-03-23 github

@Tele42 I didn't try DRI2, but yes, I do run with DRI3.
But after following the link you provided I found this patch that fixes the issue (with DRI3 on , I didn't test DRI2): https://bugs.freedesktop.org/attachment.cgi?id=122489

The patch is from: https://bugs.freedesktop.org/show_bug.cgi?id=94596

@mradermaxlol Can you check if this patch fixes the issue for you too?

DDarkDefender 2016-03-23 github

Maybe this isn't a Xorg issue after all if we look at what Michel Dänzer said about the patch:

While it's looking from bug 94515 like this is actually an issue with clients passing invalid MSC parameters and/or drivers not checking them thoroughly enough, this xserver patch should make Xorg more robust against this. Please test.

So maybe steam is passing invalid parameters? I haven't noticed any problems like this with the other programs I use...

Mmradermaxlol 2016-03-24 github

@DarkDefender a'ight, maybe this afternoon. Will test with DRI3.
And it actually looks like X.org bug as (for me, at least) Steam started freezeing after 1.18.2 update. Weird...

Another reason for that is actually X.org bug is that some Wine games got broken after the update -> something got changed, and not in a good way.

Mmradermaxlol 2016-03-24 github

@DarkDefender yup, fixed the problem for me. Now the workaround's gotta go upstream :)

DDarkDefender 2016-04-06 github

The patch seems to be merge upstream now so I'll close this issue

Nothing extracted yet.