Spotify segfaults and freezes graphical session

Reply

Spotify segfaults and freezes graphical session

Ludonope
Visitor

Device

XPS 15 2018

Operating System

Linux ludonope 5.5.9-arch1-2 #1 SMP PREEMPT Thu, 12 Mar 2020 23:01:33 +0000 x86_64 GNU/Linux

 

My Question or Issue

Spotify randomly segfaults and forces me to switch to tty to restart my graphical session (xorg). The sound is still playing, and I can move my cursor, but nothing else responds. I found the segfault while going through the journalctl logs.

 

Here is the guilty part:

 

 

 

 

 

Mar 25 04:41:15 pc-ludonope audit[18328]: ANOM_ABEND auid=1000 uid=1000 gid=1000 ses=3 pid=18328 comm="GpuWatchdog" exe="/opt/spotify/spotify" sig=11 res=1
Mar 25 04:41:15 pc-ludonope kernel: GpuWatchdog[18365]: segfault at 0 ip 00007f6b99e928fd sp 00007f6b925c7200 error 6 in libcef.so[7f6b963c6000+664e000]
Mar 25 04:41:15 pc-ludonope kernel: Code: 00 79 09 48 8b 7d a0 e8 b1 99 90 fe 41 8b 85 00 01 00 00 85 c0 0f 84 ab 00 00 00 49 8b 45 00 4c 89 ef be 01 00 00 00 ff 50 58 <c7> 04 25 00 00 00 00 37 13 00 00 c6 05 41 d3 26 03 01 80 bd 7f ff
Mar 25 04:41:15 pc-ludonope kernel: audit: type=1701 audit(1585107675.641:304): auid=1000 uid=1000 gid=1000 ses=3 pid=18328 comm="GpuWatchdog" exe="/opt/spotify/spotify" sig=11 res=1
Mar 25 04:41:15 pc-ludonope systemd[1]: Created slice system-systemd\x2dcoredump.slice.
Mar 25 04:41:15 pc-ludonope systemd[1]: Started Process Core Dump (PID 129666/UID 0).
Mar 25 04:41:15 pc-ludonope audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-coredump@0-129666-0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Mar 25 04:41:15 pc-ludonope kernel: audit: type=1130 audit(1585107675.685:305): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-coredump@0-129666-0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Mar 25 04:41:16 pc-ludonope spotify.desktop[129669]: /proc/self/exe: /usr/lib/libcurl-gnutls.so.4: no version information available (required by /proc/self/exe)
Mar 25 04:41:16 pc-ludonope systemd-coredump[129668]: Process 18328 (spotify) of user 1000 dumped core.
                                                      
                                                      Stack trace of thread 18365:
                                                      #0  0x00007f6b99e928fd n/a (libcef.so + 0x52478fd)
                                                      #1  0x00007f6b9873dfa0 n/a (libcef.so + 0x3af2fa0)
                                                      #2  0x00007f6b9874e9fe n/a (libcef.so + 0x3b039fe)
                                                      #3  0x00007f6b9874e7e7 n/a (libcef.so + 0x3b037e7)
                                                      #4  0x00007f6b9870c51a n/a (libcef.so + 0x3ac151a)
                                                      #5  0x00007f6b9874f2ef n/a (libcef.so + 0x3b042ef)
                                                      #6  0x00007f6b98727527 n/a (libcef.so + 0x3adc527)
                                                      #7  0x00007f6b9876455a n/a (libcef.so + 0x3b1955a)
                                                      #8  0x00007f6b9879ba05 n/a (libcef.so + 0x3b50a05)
                                                      #9  0x00007f6b94c1646f start_thread (libpthread.so.0 + 0x946f)
                                                      #10 0x00007f6b93e693d3 __clone (libc.so.6 + 0xff3d3)
                                                      
                                                      Stack trace of thread 18328:
                                                      #0  0x00007f6b93e5eabf __poll (libc.so.6 + 0xf4abf)
                                                      #1  0x00007f6b9389463b n/a (libxcb.so.1 + 0xc63b)
                                                      #2  0x00007f6b9389645b xcb_wait_for_special_event (libxcb.so.1 + 0xe45b)
                                                      #3  0x00007f6b90329931 glPrimitiveBoundingBox (libGLX_mesa.so.0 + 0x55931)
                                                      #4  0x00007f6b90329a98 glPrimitiveBoundingBox (libGLX_mesa.so.0 + 0x55a98)
                                                      #5  0x00007f6b9032acce glPrimitiveBoundingBox (libGLX_mesa.so.0 + 0x56cce)
                                                      #6  0x00007f6b9032bc3c glPrimitiveBoundingBox (libGLX_mesa.so.0 + 0x57c3c)
                                                      #7  0x00007f6b8b3f8f3a n/a (i965_dri.so + 0xf0f3a)
                                                      #8  0x00007f6b8b3f96e5 n/a (i965_dri.so + 0xf16e5)
                                                      #9  0x00007f6b8b3fbfb2 n/a (i965_dri.so + 0xf3fb2)
                                                      #10 0x00007f6b8b69b443 n/a (i965_dri.so + 0x393443)
                                                      #11 0x00007f6b8b69b759 n/a (i965_dri.so + 0x393759)
                                                      #12 0x00007f6b99d19059 n/a (libcef.so + 0x50ce059)
                                                      #13 0x00007f6b99d3f7e5 n/a (libcef.so + 0x50f47e5)
                                                      #14 0x00007f6b99c3e142 n/a (libcef.so + 0x4ff3142)
                                                      #15 0x00007f6b99e7fcb4 n/a (libcef.so + 0x5234cb4)
                                                      #16 0x00007f6b99e7f90f n/a (libcef.so + 0x523490f)
                                                      #17 0x00007f6b96cbc7b0 n/a (libcef.so + 0x20717b0)
                                                      #18 0x00007f6b99c42a1a n/a (libcef.so + 0x4ff7a1a)
                                                      #19 0x00007f6b9873dfa0 n/a (libcef.so + 0x3af2fa0)
                                                      #20 0x00007f6b9874e9fe n/a (libcef.so + 0x3b039fe)
                                                      #21 0x00007f6b9874e7e7 n/a (libcef.so + 0x3b037e7)
                                                      #22 0x00007f6b9870c9b7 n/a (libcef.so + 0x3ac19b7)
                                                      #23 0x00007f6b949c69be g_main_context_dispatch (libglib-2.0.so.0 + 0x6b9be)
                                                      #24 0x00007f6b949c8831 n/a (libglib-2.0.so.0 + 0x6d831)
                                                      #25 0x00007f6b949c8871 g_main_context_iteration (libglib-2.0.so.0 + 0x6d871)
                                                      #26 0x00007f6b9870c822 n/a (libcef.so + 0x3ac1822)
                                                      #27 0x00007f6b9874f2ef n/a (libcef.so + 0x3b042ef)
                                                      #28 0x00007f6b98727527 n/a (libcef.so + 0x3adc527)
                                                      #29 0x00007f6b9c857318 n/a (libcef.so + 0x7c0c318)
                                                      #30 0x00007f6b983dedd4 n/a (libcef.so + 0x3793dd4)
                                                      #31 0x00007f6b9a00e47e n/a (libcef.so + 0x53c347e)
                                                      #32 0x00007f6b9a00e97e n/a (libcef.so + 0x53c397e)
                                                      #33 0x00007f6b983dd1c1 n/a (libcef.so + 0x37921c1)
                                                      #34 0x00007f6b9861a630 n/a (libcef.so + 0x39cf630)
                                                      #35 0x00007f6b963c6eda cef_execute_process (libcef.so + 0x177beda)
                                                      #36 0x000000000395c7ab n/a (spotify + 0x375c7ab)
                                                      #37 0x0000000001ccd6af n/a (spotify + 0x1acd6af)
                                                      #38 0x00007f6b93d91023 __libc_start_main (libc.so.6 + 0x27023)
                                                      #39 0x0000000001ccd029 _start (spotify + 0x1acd029)
                                                      
                                                      Stack trace of thread 18366:
                                                      #0  0x00007f6b93e6970e epoll_wait (libc.so.6 + 0xff70e)
                                                      #1  0x00007f6b9888b2fb n/a (libcef.so + 0x3c402fb)
                                                      #2  0x00007f6b98888c40 n/a (libcef.so + 0x3c3dc40)
                                                      #3  0x00007f6b987a16f9 n/a (libcef.so + 0x3b566f9)
                                                      #4  0x00007f6b9874f2ef n/a (libcef.so + 0x3b042ef)
                                                      #5  0x00007f6b98727527 n/a (libcef.so + 0x3adc527)
                                                      #6  0x00007f6b98757934 n/a (libcef.so + 0x3b0c934)
                                                      #7  0x00007f6b9876455a n/a (libcef.so + 0x3b1955a)
                                                      #8  0x00007f6b9879ba05 n/a (libcef.so + 0x3b50a05)
                                                      #9  0x00007f6b94c1646f start_thread (libpthread.so.0 + 0x946f)
                                                      #10 0x00007f6b93e693d3 __clone (libc.so.6 + 0xff3d3)
                                                      
                                                      Stack trace of thread 18345:
                                                      #0  0x00007f6b94c1ccf5 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xfcf5)
                                                      #1  0x00007f6b8b800e1c n/a (i965_dri.so + 0x4f8e1c)
                                                      #2  0x00007f6b8b800a18 n/a (i965_dri.so + 0x4f8a18)
                                                      #3  0x00007f6b94c1646f start_thread (libpthread.so.0 + 0x946f)
                                                      #4  0x00007f6b93e693d3 __clone (libc.so.6 + 0xff3d3)
                                                      
                                                      Stack trace of thread 18346:
                                                      #0  0x00007f6b94c1ccf5 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xfcf5)
                                                      #1  0x00007f6b8b800e1c n/a (i965_dri.so + 0x4f8e1c)
                                                      #2  0x00007f6b8b800a18 n/a (i965_dri.so + 0x4f8a18)
                                                      #3  0x00007f6b94c1646f start_thread (libpthread.so.0 + 0x946f)
                                                      #4  0x00007f6b93e693d3 __clone (libc.so.6 + 0xff3d3)
                                                      
                                                      Stack trace of thread 18368:
                                                      #0  0x00007f6b93e6970e epoll_wait (libc.so.6 + 0xff70e)
                                                      #1  0x00007f6b9888b2fb n/a (libcef.so + 0x3c402fb)
                                                      #2  0x00007f6b98888c40 n/a (libcef.so + 0x3c3dc40)
                                                      #3  0x00007f6b987a163f n/a (libcef.so + 0x3b5663f)
                                                      #4  0x00007f6b9874f2ef n/a (libcef.so + 0x3b042ef)
                                                      #5  0x00007f6b98727527 n/a (libcef.so + 0x3adc527)
                                                      #6  0x00007f6b9876455a n/a (libcef.so + 0x3b1955a)
                                                      #7  0x00007f6b9879ba05 n/a (libcef.so + 0x3b50a05)
                                                      #8  0x00007f6b94c1646f start_thread (libpthread.so.0 + 0x946f)
                                                      #9  0x00007f6b93e693d3 __clone (libc.so.6 + 0xff3d3)
                                                      
                                                      Stack trace of thread 18347:
                                                      #0  0x00007f6b94c1ccf5 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xfcf5)
                                                      #1  0x00007f6b8b800e1c n/a (i965_dri.so + 0x4f8e1c)
                                                      #2  0x00007f6b8b800a18 n/a (i965_dri.so + 0x4f8a18)
                                                      #3  0x00007f6b94c1646f start_thread (libpthread.so.0 + 0x946f)
                                                      #4  0x00007f6b93e693d3 __clone (libc.so.6 + 0xff3d3)
                                                      
                                                      Stack trace of thread 18367:
                                                      #0  0x00007f6b94c1d01a pthread_cond_timedwait@@GLIBC_2.3.2 (libpthread.so.0 + 0x1001a)
                                                      #1  0x00007f6b987982c0 n/a (libcef.so + 0x3b4d2c0)
                                                      #2  0x00007f6b98798820 n/a (libcef.so + 0x3b4d820)
                                                      #3  0x00007f6b9875ebe8 n/a (libcef.so + 0x3b13be8)
                                                      #4  0x00007f6b9875f497 n/a (libcef.so + 0x3b14497)
                                                      #5  0x00007f6b9875f0f4 n/a (libcef.so + 0x3b140f4)
                                                      #6  0x00007f6b9879ba05 n/a (libcef.so + 0x3b50a05)
                                                      #7  0x00007f6b94c1646f start_thread (libpthread.so.0 + 0x946f)
                                                      #8  0x00007f6b93e693d3 __clone (libc.so.6 + 0xff3d3)
                                                      
                                                      Stack trace of thread 18348:
                                                      #0  0x00007f6b94c1ccf5 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xfcf5)
                                                      #1  0x00007f6b8b800e1c n/a (i965_dri.so + 0x4f8e1c)
                                                      #2  0x00007f6b8b800a18 n/a (i965_dri.so + 0x4f8a18)
                                                      #3  0x00007f6b94c1646f start_thread (libpthread.so.0 + 0x946f)
                                                      #4  0x00007f6b93e693d3 __clone (libc.so.6 + 0xff3d3)
                                                      
                                                      Stack trace of thread 18369:
                                                      #0  0x00007f6b94c1ccf5 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xfcf5)
                                                      #1  0x00007f6b98798182 n/a (libcef.so + 0x3b4d182)
                                                      #2  0x00007f6b98798849 n/a (libcef.so + 0x3b4d849)
                                                      #3  0x00007f6b9879866f n/a (libcef.so + 0x3b4d66f)
                                                      #4  0x00007f6b99e80a5b n/a (libcef.so + 0x5235a5b)
                                                      #5  0x00007f6b96b0111d n/a (libcef.so + 0x1eb611d)
                                                      #6  0x00007f6b96b01213 n/a (libcef.so + 0x1eb6213)
                                                      #7  0x00007f6b998d1582 n/a (libcef.so + 0x4c86582)
                                                      #8  0x00007f6b998cec8c n/a (libcef.so + 0x4c83c8c)
                                                      #9  0x00007f6b998bcb23 n/a (libcef.so + 0x4c71b23)
                                                      #10 0x00007f6b9873dfa0 n/a (libcef.so + 0x3af2fa0)
                                                      #11 0x00007f6b9874e9fe n/a (libcef.so + 0x3b039fe)
                                                      #12 0x00007f6b9874e7e7 n/a (libcef.so + 0x3b037e7)
                                                      #13 0x00007f6b9870c51a n/a (libcef.so + 0x3ac151a)
                                                      #14 0x00007f6b9874f2ef n/a (libcef.so + 0x3b042ef)
                                                      #15 0x00007f6b98727527 n/a (libcef.so + 0x3adc527)
                                                      #16 0x00007f6b9876455a n/a (libcef.so + 0x3b1955a)
                                                      #17 0x00007f6b9879ba05 n/a (libcef.so + 0x3b50a05)
                                                      #18 0x00007f6b94c1646f start_thread (libpthread.so.0 + 0x946f)
                                                      #19 0x00007f6b93e693d3 __clone (libc.so.6 + 0xff3d3)
Mar 25 04:41:16 pc-ludonope systemd[1]: *snip*ice: Succeeded.
Mar 25 04:41:16 pc-ludonope kernel: audit: type=1131 audit(1585107676.158:306): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-coredump@0-129666-0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Mar 25 04:41:16 pc-ludonope audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-coredump@0-129666-0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Mar 25 04:41:16 pc-ludonope spotify.desktop[129669]: [0325/044116.227970:ERROR:buffer_manager.cc(488)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glBufferData: <- error from previous GL command

 

 

 

 

1 Reply

sqidy
Visitor

tl;dr: Spotify crashes because your GPU hangs, it does not cause the hang!

 

Just in case someone else happens to find this post.

 

I have been experiencing the same thing for the past weeks on a XPS 13 (9350) machine and directly assumed Spotify or the underlying Chromium (libcef.so) is the culprit, but it isn't.

This part in the Code shown in dmesg after the segfault looked odd, 37 13... 

<c7> 04 25 00 00 00 00 37 13 00 00

 So I disassembled it with x86-64 instructions:

mov DWORD PTR ds:0x0,0x1337

There we go, a quiet "specific" address, lets duckgo.

 

From the Chromium source code:

void GpuWatchdogThreadImplV1::DeliberatelyTerminateToRecoverFromHang() {
  // <SNIP>

  // Deliberately crash the process to create a crash dump.
  *((volatile int*)0) = 0x1337;

  // <SNIP>
}

This code was removed in version 86. Spotify still uses an older one (84?).

https://chromium-review.googlesource.com/c/chromium/src/+/1940552

 

So, Chromiums GpuWatchdog crashes Spotify AFTER your GPU freezes. (Which is very misleading. thanks goggle)

 

 

SUGGESTED POSTS