#1059041 Xorg segfault when unlocking from Xscreensaver while video playback

Package:
xserver-xorg-video-amdgpu
Source:
xserver-xorg-video-amdgpu
Description:
X.Org X server -- AMDGPU display driver
Submitter:
Eduard Bloch
Date:
2024-05-04 13:18:02 UTC
Severity:
normal
#1059041#5
Date:
2023-12-19 19:22:43 UTC
From:
To:
Prerequisites:

- icewm
- xscreensaver
- vlc

Repro:

a) let a fullscreen video run in VLC
b) wait until xscreensaver blackens the screen
c) push any key in the very same second

Result:

Whole Xorg going down, see below. Following the trace dump smells like
the error would originate in the video driver.

$ coredumpctl dump > /tmp/xorg-video-playback-crash.log


           PID: 1011552 (Xorg)
           UID: 0 (root)
           GID: 0 (root)
        Signal: 6 (ABRT)
     Timestamp: Tue 2023-12-19 20:09:34 CET (5min ago)
  Command Line: /usr/lib/xorg/Xorg :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
    Executable: /usr/lib/xorg/Xorg
 Control Group: /system.slice/lightdm.service
          Unit: lightdm.service
         Slice: system.slice
       Boot ID: 67cdd05639504fd48e987b5f02106871
    Machine ID: ae90e3d096ca29949df8c700456b394f
      Hostname: zombie
       Storage: /var/lib/systemd/coredump/core.Xorg.0.67cdd05639504fd48e987b5f02106871.1011552.1703012974000000.zst (present)
  Size on Disk: 7.1M
       Message: Process 1011552 (Xorg) of user 0 dumped core.

                Module libzstd.so.1 from deb libzstd-1.5.5+dfsg2-2.amd64
                Module libsystemd.so.0 from deb systemd-255-1.amd64
                Module libudev.so.1 from deb systemd-255-1.amd64
                Stack trace of thread 1011552:
                #0  0x00007fb1494a80fc __pthread_kill_implementation (libc.so.6 + 0x8a0fc)
                #1  0x00007fb14945a472 __GI_raise (libc.so.6 + 0x3c472)
                #2  0x00007fb1494444b2 __GI_abort (libc.so.6 + 0x264b2)
                #3  0x00005577d8f7ae30 OsAbort (Xorg + 0x1d8e30)
                #4  0x00005577d8f80649 n/a (Xorg + 0x1de649)
                #5  0x00005577d8f81619 FatalError (Xorg + 0x1df619)
                #6  0x00005577d8f78019 n/a (Xorg + 0x1d6019)
                #7  0x00007fb14945a510 __restore_rt (libc.so.6 + 0x3c510)
                #8  0x00007fb149186702 n/a (amdgpu_drv.so + 0x16702)
                #9  0x00007fb149186c96 n/a (amdgpu_drv.so + 0x16c96)
                #10 0x00005577d8e75a6b xf86DPMSSet (Xorg + 0xd3a6b)
                #11 0x00005577d8e41485 n/a (Xorg + 0x9f485)
                #12 0x00005577d8eb5c56 n/a (Xorg + 0x113c56)
                #13 0x00005577d8f57335 mieqProcessInputEvents (Xorg + 0x1b5335)
                #14 0x00005577d8e4177d ProcessInputEvents (Xorg + 0x9f77d)
                #15 0x00005577d8e01f93 n/a (Xorg + 0x5ff93)
                #16 0x00005577d8e062cc n/a (Xorg + 0x642cc)
                #17 0x00007fb1494456ca __libc_start_call_main (libc.so.6 + 0x276ca)
                #18 0x00007fb149445785 __libc_start_main_impl (libc.so.6 + 0x27785)
                #19 0x00005577d8def281 _start (Xorg + 0x4d281)

                Stack trace of thread 1011555:
                #0  0x00007fb1494a3156 __futex_abstimed_wait_common64 (libc.so.6 + 0x85156)
                #1  0x00007fb1494a5818 __pthread_cond_wait_common (libc.so.6 + 0x87818)
                #2  0x00007fb146d198ed n/a (radeonsi_dri.so + 0x1198ed)
                #3  0x00007fb146cf96cb n/a (radeonsi_dri.so + 0xf96cb)
                #4  0x00007fb146d1981b n/a (radeonsi_dri.so + 0x11981b)
                #5  0x00007fb1494a63ec start_thread (libc.so.6 + 0x883ec)
                #6  0x00007fb149526a5c __clone3 (libc.so.6 + 0x108a5c)

                Stack trace of thread 1011556:
                #0  0x00007fb1494a3156 __futex_abstimed_wait_common64 (libc.so.6 + 0x85156)
                #1  0x00007fb1494a5818 __pthread_cond_wait_common (libc.so.6 + 0x87818)
                #2  0x00007fb146d198ed n/a (radeonsi_dri.so + 0x1198ed)
                #3  0x00007fb146cf96cb n/a (radeonsi_dri.so + 0xf96cb)
                #4  0x00007fb146d1981b n/a (radeonsi_dri.so + 0x11981b)
                #5  0x00007fb1494a63ec start_thread (libc.so.6 + 0x883ec)
                #6  0x00007fb149526a5c __clone3 (libc.so.6 + 0x108a5c)

                Stack trace of thread 1011557:
                #0  0x00007fb1494a3156 __futex_abstimed_wait_common64 (libc.so.6 + 0x85156)
                #1  0x00007fb1494a5818 __pthread_cond_wait_common (libc.so.6 + 0x87818)
                #2  0x00007fb146d198ed n/a (radeonsi_dri.so + 0x1198ed)
                #3  0x00007fb146cf96cb n/a (radeonsi_dri.so + 0xf96cb)
                #4  0x00007fb146d1981b n/a (radeonsi_dri.so + 0x11981b)
                #5  0x00007fb1494a63ec start_thread (libc.so.6 + 0x883ec)
                #6  0x00007fb149526a5c __clone3 (libc.so.6 + 0x108a5c)

                Stack trace of thread 1011562:
                #0  0x00007fb1494a3156 __futex_abstimed_wait_common64 (libc.so.6 + 0x85156)
                #1  0x00007fb1494a5818 __pthread_cond_wait_common (libc.so.6 + 0x87818)
                #2  0x00007fb146d198ed n/a (radeonsi_dri.so + 0x1198ed)
                #3  0x00007fb146cf96cb n/a (radeonsi_dri.so + 0xf96cb)
                #4  0x00007fb146d1981b n/a (radeonsi_dri.so + 0x11981b)
                #5  0x00007fb1494a63ec start_thread (libc.so.6 + 0x883ec)
                #6  0x00007fb149526a5c __clone3 (libc.so.6 + 0x108a5c)

                Stack trace of thread 1011566:
                #0  0x00007fb1494a3156 __futex_abstimed_wait_common64 (libc.so.6 + 0x85156)
                #1  0x00007fb1494a5818 __pthread_cond_wait_common (libc.so.6 + 0x87818)
                #2  0x00007fb146d198ed n/a (radeonsi_dri.so + 0x1198ed)
                #3  0x00007fb146cf96cb n/a (radeonsi_dri.so + 0xf96cb)
                #4  0x00007fb146d1981b n/a (radeonsi_dri.so + 0x11981b)
                #5  0x00007fb1494a63ec start_thread (libc.so.6 + 0x883ec)
                #6  0x00007fb149526a5c __clone3 (libc.so.6 + 0x108a5c)

                Stack trace of thread 1011558:
                #0  0x00007fb1494a3156 __futex_abstimed_wait_common64 (libc.so.6 + 0x85156)
                #1  0x00007fb1494a5818 __pthread_cond_wait_common (libc.so.6 + 0x87818)
                #2  0x00007fb146d198ed n/a (radeonsi_dri.so + 0x1198ed)
                #3  0x00007fb146cf96cb n/a (radeonsi_dri.so + 0xf96cb)
                #4  0x00007fb146d1981b n/a (radeonsi_dri.so + 0x11981b)
                #5  0x00007fb1494a63ec start_thread (libc.so.6 + 0x883ec)
                #6  0x00007fb149526a5c __clone3 (libc.so.6 + 0x108a5c)

                Stack trace of thread 1011705:
                #0  0x00007fb1494a3156 __futex_abstimed_wait_common64 (libc.so.6 + 0x85156)
                #1  0x00007fb1494a5818 __pthread_cond_wait_common (libc.so.6 + 0x87818)
                #2  0x00007fb146d198ed n/a (radeonsi_dri.so + 0x1198ed)
                #3  0x00007fb146cf96cb n/a (radeonsi_dri.so + 0xf96cb)
                #4  0x00007fb146d1981b n/a (radeonsi_dri.so + 0x11981b)
                #5  0x00007fb1494a63ec start_thread (libc.so.6 + 0x883ec)
                #6  0x00007fb149526a5c __clone3 (libc.so.6 + 0x108a5c)

                Stack trace of thread 1011559:
                #0  0x00007fb1494a3156 __futex_abstimed_wait_common64 (libc.so.6 + 0x85156)
                #1  0x00007fb1494a5818 __pthread_cond_wait_common (libc.so.6 + 0x87818)
                #2  0x00007fb146d198ed n/a (radeonsi_dri.so + 0x1198ed)
                #3  0x00007fb146cf96cb n/a (radeonsi_dri.so + 0xf96cb)
                #4  0x00007fb146d1981b n/a (radeonsi_dri.so + 0x11981b)
                #5  0x00007fb1494a63ec start_thread (libc.so.6 + 0x883ec)
                #6  0x00007fb149526a5c __clone3 (libc.so.6 + 0x108a5c)

                Stack trace of thread 1011564:
                #0  0x00007fb1494a3156 __futex_abstimed_wait_common64 (libc.so.6 + 0x85156)
                #1  0x00007fb1494a5818 __pthread_cond_wait_common (libc.so.6 + 0x87818)
                #2  0x00007fb146d198ed n/a (radeonsi_dri.so + 0x1198ed)
                #3  0x00007fb146cf96cb n/a (radeonsi_dri.so + 0xf96cb)
                #4  0x00007fb146d1981b n/a (radeonsi_dri.so + 0x11981b)
                #5  0x00007fb1494a63ec start_thread (libc.so.6 + 0x883ec)
                #6  0x00007fb149526a5c __clone3 (libc.so.6 + 0x108a5c)

                Stack trace of thread 1023977:
                #0  0x00007fb1494a3156 __futex_abstimed_wait_common64 (libc.so.6 + 0x85156)
                #1  0x00007fb1494a5818 __pthread_cond_wait_common (libc.so.6 + 0x87818)
                #2  0x00007fb146d198ed n/a (radeonsi_dri.so + 0x1198ed)
                #3  0x00007fb146cf96cb n/a (radeonsi_dri.so + 0xf96cb)
                #4  0x00007fb146d1981b n/a (radeonsi_dri.so + 0x11981b)
                #5  0x00007fb1494a63ec start_thread (libc.so.6 + 0x883ec)
                #6  0x00007fb149526a5c __clone3 (libc.so.6 + 0x108a5c)

                Stack trace of thread 1024209:
                #0  0x00007fb1494a3156 __futex_abstimed_wait_common64 (libc.so.6 + 0x85156)
                #1  0x00007fb1494a5818 __pthread_cond_wait_common (libc.so.6 + 0x87818)
                #2  0x00007fb146d198ed n/a (radeonsi_dri.so + 0x1198ed)
                #3  0x00007fb146cf96cb n/a (radeonsi_dri.so + 0xf96cb)
                #4  0x00007fb146d1981b n/a (radeonsi_dri.so + 0x11981b)
                #5  0x00007fb1494a63ec start_thread (libc.so.6 + 0x883ec)
                #6  0x00007fb149526a5c __clone3 (libc.so.6 + 0x108a5c)

                Stack trace of thread 1011571:
                #0  0x00007fb1494a336b futex_wait (libc.so.6 + 0x8536b)
                #1  0x00007fb1494a96da lll_mutex_lock_optimized (libc.so.6 + 0x8b6da)
                #2  0x00005577d8f75f44 input_lock (Xorg + 0x1d3f44)
                #3  0x00005577d8f76225 n/a (Xorg + 0x1d4225)
                #4  0x00005577d8f78a22 n/a (Xorg + 0x1d6a22)
                #5  0x00005577d8f76059 n/a (Xorg + 0x1d4059)
                #6  0x00007fb1494a63ec start_thread (libc.so.6 + 0x883ec)
                #7  0x00007fb149526a5c __clone3 (libc.so.6 + 0x108a5c)

                Stack trace of thread 1011561:
                #0  0x00007fb1494a3156 __futex_abstimed_wait_common64 (libc.so.6 + 0x85156)
                #1  0x00007fb1494a5818 __pthread_cond_wait_common (libc.so.6 + 0x87818)
                #2  0x00007fb146d198ed n/a (radeonsi_dri.so + 0x1198ed)
                #3  0x00007fb146cf96cb n/a (radeonsi_dri.so + 0xf96cb)
                #4  0x00007fb146d1981b n/a (radeonsi_dri.so + 0x11981b)
                #5  0x00007fb1494a63ec start_thread (libc.so.6 + 0x883ec)
                #6  0x00007fb149526a5c __clone3 (libc.so.6 + 0x108a5c)

                Stack trace of thread 1011563:
                #0  0x00007fb1494a3156 __futex_abstimed_wait_common64 (libc.so.6 + 0x85156)
                #1  0x00007fb1494a5818 __pthread_cond_wait_common (libc.so.6 + 0x87818)
                #2  0x00007fb146d198ed n/a (radeonsi_dri.so + 0x1198ed)
                #3  0x00007fb146cf96cb n/a (radeonsi_dri.so + 0xf96cb)
                #4  0x00007fb146d1981b n/a (radeonsi_dri.so + 0x11981b)
                #5  0x00007fb1494a63ec start_thread (libc.so.6 + 0x883ec)
                #6  0x00007fb149526a5c __clone3 (libc.so.6 + 0x108a5c)

                Stack trace of thread 1024208:
                #0  0x00007fb1494a3156 __futex_abstimed_wait_common64 (libc.so.6 + 0x85156)
                #1  0x00007fb1494a5818 __pthread_cond_wait_common (libc.so.6 + 0x87818)
                #2  0x00007fb146d198ed n/a (radeonsi_dri.so + 0x1198ed)
                #3  0x00007fb146cf96cb n/a (radeonsi_dri.so + 0xf96cb)
                #4  0x00007fb146d1981b n/a (radeonsi_dri.so + 0x11981b)
                #5  0x00007fb1494a63ec start_thread (libc.so.6 + 0x883ec)
                #6  0x00007fb149526a5c __clone3 (libc.so.6 + 0x108a5c)

                Stack trace of thread 1011565:
                #0  0x00007fb1494a3156 __futex_abstimed_wait_common64 (libc.so.6 + 0x85156)
                #1  0x00007fb1494a5818 __pthread_cond_wait_common (libc.so.6 + 0x87818)
                #2  0x00007fb146d198ed n/a (radeonsi_dri.so + 0x1198ed)
                #3  0x00007fb146cf96cb n/a (radeonsi_dri.so + 0xf96cb)
                #4  0x00007fb146d1981b n/a (radeonsi_dri.so + 0x11981b)
                #5  0x00007fb1494a63ec start_thread (libc.so.6 + 0x883ec)
                #6  0x00007fb149526a5c __clone3 (libc.so.6 + 0x108a5c)

                Stack trace of thread 1011560:
                #0  0x00007fb1494a3156 __futex_abstimed_wait_common64 (libc.so.6 + 0x85156)
                #1  0x00007fb1494a5818 __pthread_cond_wait_common (libc.so.6 + 0x87818)
                #2  0x00007fb146d198ed n/a (radeonsi_dri.so + 0x1198ed)
                #3  0x00007fb146cf96cb n/a (radeonsi_dri.so + 0xf96cb)
                #4  0x00007fb146d1981b n/a (radeonsi_dri.so + 0x11981b)
                #5  0x00007fb1494a63ec start_thread (libc.so.6 + 0x883ec)
                #6  0x00007fb149526a5c __clone3 (libc.so.6 + 0x108a5c)

                Stack trace of thread 1024175:
                #0  0x00007fb1494a3156 __futex_abstimed_wait_common64 (libc.so.6 + 0x85156)
                #1  0x00007fb1494a5818 __pthread_cond_wait_common (libc.so.6 + 0x87818)
                #2  0x00007fb146d198ed n/a (radeonsi_dri.so + 0x1198ed)
                #3  0x00007fb146cf96cb n/a (radeonsi_dri.so + 0xf96cb)
                #4  0x00007fb146d1981b n/a (radeonsi_dri.so + 0x11981b)
                #5  0x00007fb1494a63ec start_thread (libc.so.6 + 0x883ec)
                #6  0x00007fb149526a5c __clone3 (libc.so.6 + 0x108a5c)
                ELF object binary architecture: AMD x86-64

#1059041#10
Date:
2024-05-04 13:15:18 UTC
From:
To:
Hello,
I am not maintainer of xserver-xorg-video-amdgpu,
just tried to collect some more information.

The interesting lines above in the stacktrace translate to this:

Stack trace of thread 1011552:
...
#7  0x7fb14945a510 __restore_rt (libc.so.6 + 0x3c510) |
#8  0x7fb149186702 n/a (amdgpu_drv.so + 0x16702)      | in drmmode_set_mode at ../../src/drmmode_display.c:1267
#9  0x7fb149186c96 n/a (amdgpu_drv.so + 0x16c96)      | in drmmode_set_mode_major at ../../src/drmmode_display.c:1371
#10 0x5577d8e75a6b xf86DPMSSet (Xorg + 0xd3a6b)       | in xf86DPMSSet
...

This leads to this [1] upstream issue and merge request [2].
Unfortunately this is not yet part of an upstream release.

A workaround could be a local build of xserver-xorg-video-amdgpu
containing the two commits. They are the first commits after the 23.0.0 release.

Kind regards,
Bernhard

[1] https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/-/issues/70
[2] https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/-/merge_requests/85