PROBLEM: random desktop freezes, kmsg errors "Failed to parse relocation -12" and "failed to pin new rbo buffer before flip"

Lucas Werkmeister mail at lucaswerkmeister.de
Wed Mar 3 20:02:40 UTC 2021


Hi all,

on Linux 5.11.1 and 5.11.2 (but not 5.10.16), my Gnome desktop (Radeon
R7 260X GPU) occasionally (usually after a few hours) freezes
completely; when it happens, I can still switch to a TTY (Ctrl+Alt+F3)
and back to the frozen desktop (Ctrl+Alt+F2), but I haven’t found a way
to “rescue” the desktop from the command line, and ultimately have to
reboot. When that happens, the journal is filled with many copies of
these kernel messages:

> [drm:radeon_cs_ioctl [radeon]] *ERROR* Failed to parse relocation -12!

> radeon 0000:01:00.0: 00000000641f4713 pin failed

> [drm:radeon_crtc_page_flip_target [radeon]] *ERROR* failed to pin new
> rbo buffer before flip

I have uploaded the kernel logs of one affected boot, in systemd journal
export format, at <https://tmp.lucaswerkmeister.de/radeon-freezes.jnle>.

Keywords: drm, radeon, amd, graphics

Kernel version:
$ cat /proc/version
Linux version 5.11.2-arch1-1 (linux at archlinux) (gcc (GCC) 10.2.0, GNU ld
(GNU Binutils) 2.36.1) #1 SMP PREEMPT Fri, 26 Feb 2021 18:26:41 +0000

Kernel .config file (from /proc/config.gz):
<https://tmp.lucaswerkmeister.de/radeon-freezes.config>

Most recent kernel version which did not have the bug: 5.10.16 [though
this has a similar issue, where the desktop also freezes but then
unfreezes either on its own or when I switch to a TTY and back; I
haven’t reported this yet, and don’t know if it’s related or not]

I have not yet found a way to systematically reproduce this. It seems to
happen more frequently when there is more load on the system, or on the
graphics card (e.g. fullscreen video playback, desktop recording).

ver_linux output:

Linux theoden 5.11.2-arch1-1 #1 SMP PREEMPT Fri, 26 Feb 2021 18:26:41
+0000 x86_64 GNU/Linux

GNU C                   10.2.0
GNU Make                4.3
Binutils                2.36.1
Util-linux              2.36.2
Mount                   2.36.2
Module-init-tools       28
E2fsprogs               1.46.2
Jfsutils                1.1.15
Reiserfsprogs           3.6.27
Xfsprogs                5.10.0
Quota-tools             4.06
Bison                   3.7.3
Flex                    2.6.4
Linux C++ Library       6.0.28
Linux C Library         2.33
Dynamic linker (ldd)    2.33
Procps                  3.3.17
Kbd                     2.4.0
Console-tools           2.4.0
Sh-utils                8.32
Udev                    247
Modules Loaded          ac97_bus aesni_intel agpgart amdgpu at24 cbc
cdrom cec coretemp crc16 crc32c_generic crc32c_intel crc32_pclmul
crct10dif_pclmul cryptd crypto_simd crypto_user dm_bio_prison dm_bufio
dm_cache dm_cache_smq dm_crypt dm_mod dm_persistent_data drm
drm_kms_helper drm_ttm_helper e1000e encrypted_keys ext4 fat fb_sys_fops
fuse ghash_clmulni_intel glue_helper gpu_sched i2c_algo_bit i2c_i801
i2c_smbus intel_cstate intel_pmc_bxt intel_powerclamp intel_rapl_common
intel_rapl_msr intel_uncore ip_tables irqbypass iTCO_vendor_support
iTCO_wdt jbd2 joydev kvm kvm_intel ledtrig_audio libcrc32c lpc_ich
mac_hid mbcache mc mei mei_hdcp mei_me mei_wdt mousedev nls_iso8859_1
pcspkr radeon rapl rfkill rng_core sg snd snd_compress snd_hda_codec
snd_hda_codec_generic snd_hda_codec_hdmi snd_hda_codec_realtek
snd_hda_core snd_hda_intel snd_hwdep snd_intel_dspcfg snd_pcm
snd_pcm_dmaengine snd_rawmidi snd_seq_device snd_soc_core snd_timer
snd_usb_audio snd_usbmidi_lib soundcore soundwire_bus soundwire_cadence
soundwire_generic_allocation soundwire_intel sr_mod syscopyarea
sysfillrect sysimgblt tpm trusted ttm uas usbhid usb_storage uvcvideo
vfat video videobuf2_common videobuf2_memops videobuf2_v4l2
videobuf2_vmalloc videodev x86_pkg_temp_thermal xhci_pci
xhci_pci_renesas x_tables

CPU: Intel i7-4771, full /proc/cpuinfo at
<https://tmp.lucaswerkmeister.de/radeon-freezes.cpuinfo>
Graphics card: Radeon R7 260X/360, see below for lspci

/proc/modules: <https://tmp.lucaswerkmeister.de/radeon-freezes.modules>
/proc/ioports: <https://tmp.lucaswerkmeister.de/radeon-freezes.ioports>
/proc/iomem: <https://tmp.lucaswerkmeister.de/radeon-freezes.iomem>
sudo lspci -vvv: <https://tmp.lucaswerkmeister.de/radeon-freezes.lspci>
/proc/scsi/scsi: <https://tmp.lucaswerkmeister.de/radeon-freezes.scsi>

I can’t think of any other relevant information at the moment, but I’ll
be happy to respond to any questions you have. If you come up with a
patch, I think I should be able to test it, though admittedly it’s been
a few years since I’ve built a kernel.

Cheers,
Lucas Werkmeister


More information about the amd-gfx mailing list