Abstürze virtueller Desktops mit "[TTM] Buffer eviction failed" und qxl Allocation

René Pfeiffer

Active Member
Oct 29, 2018
20
4
43
Vienna
web.luchs.at
Liebes Forum,
wir verwenden einen Proxmox Cluster (Version 8.1.x) wo unter anderem vier virtuelle Desktops (2 Xubuntu 20.04, ein 22.04 und ein 24.04 jeweils mit Xfce) verwendet werden. Die Desktops haben bis März gut funktioniert. Angesprochen werden sie mit SPICE und lokale Clients haben teilweise zwei Monitore. Die Xubuntu 22.04 und 24.04 Versionen stoppen ab und zu mit dieser Fehlermeldung:

2024-04-26T09:02:59.564022+02:00 devel kernel: [TTM] Buffer eviction failed
2024-04-26T09:02:59.564040+02:00 devel kernel: fbcon: Taking over console
2024-04-26T09:02:59.564041+02:00 devel kernel: qxl 0000:00:01.0: object_init failed for (3149824, 0x00000001)
2024-04-26T09:02:59.564041+02:00 devel kernel: [drm:qxl_alloc_bo_reserved [qxl]] *ERROR* failed to allocate VRAM BO
2024-04-26T09:03:14.924055+02:00 devel kernel: [TTM] Buffer eviction failed
2024-04-26T09:03:14.924080+02:00 devel kernel: qxl 0000:00:01.0: object_init failed for (3149824, 0x00000001)
2024-04-26T09:03:14.924081+02:00 devel kernel: [drm:qxl_alloc_bo_reserved [qxl]] *ERROR* failed to allocate VRAM BO
2024-04-26T09:03:14.924083+02:00 devel kernel: Console: switching to colour frame buffer device 128x48
2024-04-26T09:03:30.284042+02:00 devel kernel: [TTM] Buffer eviction failed
2024-04-26T09:03:30.284067+02:00 devel kernel: qxl 0000:00:01.0: object_init failed for (3149824, 0x00000001)
2024-04-26T09:03:30.284069+02:00 devel kernel: [drm:qxl_alloc_bo_reserved [qxl]] *ERROR* failed to allocate VRAM BO
2024-04-26T09:03:45.643999+02:00 devel kernel: [TTM] Buffer eviction failed
2024-04-26T09:03:45.644016+02:00 devel kernel: qxl 0000:00:01.0: object_init failed for (3149824, 0x00000001)
2024-04-26T09:03:45.644017+02:00 devel kernel: [drm:qxl_alloc_bo_reserved [qxl]] *ERROR* failed to allocate VRAM BO
2024-04-26T09:04:01.004032+02:00 devel kernel: [TTM] Buffer eviction failed
2024-04-26T09:04:01.004056+02:00 devel kernel: qxl 0000:00:01.0: object_init failed for (23441408, 0x00000001)
2024-04-26T09:04:01.004058+02:00 devel kernel: [drm:qxl_alloc_bo_reserved [qxl]] *ERROR* failed to allocate VRAM BO

Vor einem Upgrade war die Meldung leicht anders:

Apr 22 10:12:42 devel kernel: [265559.971166] [TTM] Buffer eviction failed
Apr 22 10:12:42 devel kernel: [265559.971184] qxl 0000:00:01.0: object_init failed for (954368, 0x00000001)
Apr 22 10:12:42 devel kernel: [265559.971189] [drm:qxl_gem_object_create [qxl]] *ERROR* Failed to allocate GEM object (952340, 1, 4096, -12)
Apr 22 10:12:42 devel kernel: [265559.971204] [drm:qxl_alloc_ioctl [qxl]] *ERROR* qxl_alloc_ioctl: failed to create gem ret=-12
Apr 22 10:12:57 devel kernel: [265575.074744] [TTM] Buffer eviction failed
Apr 22 10:12:57 devel kernel: [265575.074761] qxl 0000:00:01.0: object_init failed for (3149824, 0x00000001)
Apr 22 10:12:57 devel kernel: [265575.074766] [drm:qxl_alloc_bo_reserved [qxl]] *ERROR* failed to allocate VRAM BO
Apr 22 10:13:12 devel kernel: [265590.178128] [TTM] Buffer eviction failed
Apr 22 10:13:12 devel kernel: [265590.178143] qxl 0000:00:01.0: object_init failed for (3149824, 0x00000001)
Apr 22 10:13:12 devel kernel: [265590.178147] [drm:qxl_alloc_bo_reserved [qxl]] *ERROR* failed to allocate VRAM BO

Es fällt auf, dass object_init immer exakt mit 3 MB fehlschlägt. Im qemu ist der Grafikkartenspeicher auf 128 MB konfiguriert (Fehler tritt mit allen Größen auf). Es gibt diverse Tickets dazu, aber das war teilweise eine Regression in bestimmten Linuxkernversionen. Ich vermute, dass irgendwelche Desktopapplikationen den Fehler mit bestimmten Operationen auslösen, habe aber keine Idee mehr wie man das weiter einengen kann.

Viele Grüße,
René.
 
  • Like
Reactions: 2RunX
Die plausibelste Ursache scheint laut diesem Posting ein Effekt im qxl Treiber zu sein, welcher bei "hoher" Last auftritt:
https://lists.archive.carbon60.com/linux/kernel/5325444

Ich teste das System jetzt mit dem neuesten 6.8 Kern und mit einem Älteren (sofern sich der auf den Ubuntu 22.04/24.04 Versionen kompilieren lässt).

Viele Grüße,
René Pfeiffer.
 
Liebes Forums,
das Problem tritt mit dem Linuxkern 5.15 (noch verfügbar für Ubuntu 20.04/22.04) und dem Linuxkern 6.8.8 (installiert per Mainline Pakete auf Ubuntu 24.04) nicht (mehr) auf.

Viele Grüße,
René Pfeiffer.
 
Ähnliches Problem unabhängig der CPU Last ( LXC Container )
Komplett neu aufgespielte mit der letzten 8.2.1 iso.
Vorher war ein 8.1.1 ohne Fehlermeldung .


code_language.shell:
dmesg
[77793.143896] [TTM] Buffer eviction failed
[77793.143920] qxl 0000:00:02.0: object_init failed for (4096, 0x00000001)
[77793.143926] [drm:qxl_alloc_bo_reserved [qxl]] *ERROR* failed to allocate VRAM BO

code_language.shell:
cat /etc/pve/lxc/101.conf
arch: amd64
cores: 4
features: nesting=1
hostname: ubu
memory: 512
nameserver: x
net0: name=eth0,bridge=vmbr1,firewall=1,gw=x,hwaddr=x,ip=x/24,type=veth
onboot: 1
ostype: ubuntu
rootfs: local-lvm:vm-101-disk-0,size=4G
swap: 512
unprivileged: 1

JSON:
# date -R
Mon, 17 Jun 2024 19:31:32 +0200

# cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-6.8.4-3-pve root=/dev/mapper/pve-root ro quiet

# pveversion --verbose
proxmox-ve: 8.2.0 (running kernel: 6.8.4-3-pve)
pve-manager: 8.2.2 (running version: 8.2.2/9355359cd7afbae4)
proxmox-kernel-helper: 8.1.0
proxmox-kernel-6.8: 6.8.4-3
proxmox-kernel-6.8.4-3-pve-signed: 6.8.4-3
proxmox-kernel-6.8.4-2-pve-signed: 6.8.4-2
ceph-fuse: 17.2.7-pve3
corosync: 3.1.7-pve3
criu: 3.17.1-2
glusterfs-client: 10.3-5
ifupdown2: 3.2.0-1+pmx8
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-4
libknet1: 1.28-pve1
libproxmox-acme-perl: 1.5.1
libproxmox-backup-qemu0: 1.4.1
libproxmox-rs-perl: 0.3.3
libpve-access-control: 8.1.4
libpve-apiclient-perl: 3.3.2
libpve-cluster-api-perl: 8.0.6
libpve-cluster-perl: 8.0.6
libpve-common-perl: 8.2.1
libpve-guest-common-perl: 5.1.2
libpve-http-server-perl: 5.1.0
libpve-network-perl: 0.9.8
libpve-rs-perl: 0.8.8
libpve-storage-perl: 8.2.1
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 6.0.0-1
lxcfs: 6.0.0-pve2
novnc-pve: 1.4.0-3
proxmox-backup-client: 3.2.3-1
proxmox-backup-file-restore: 3.2.3-1
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.2.3
proxmox-mini-journalreader: 1.4.0
proxmox-offline-mirror-helper: 0.6.6
proxmox-widget-toolkit: 4.2.3
pve-cluster: 8.0.6
pve-container: 5.1.10
pve-docs: 8.2.2
pve-edk2-firmware: 4.2023.08-4
pve-esxi-import-tools: 0.7.0
pve-firewall: 5.0.7
pve-firmware: 3.11-1
pve-ha-manager: 4.0.4
pve-i18n: 3.2.2
pve-qemu-kvm: 8.1.5-6
pve-xtermjs: 5.3.0-3
qemu-server: 8.2.1
smartmontools: 7.3-pve1
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
zfsutils-linux: 2.2.3-pve2
 
Danke für den Hinweis. Ich habe auch ein Wiederauftauchen des Problems unter Debian 12 mit Xfce. Je nach Aktionen auf der grafischen Oberfläche tritt der Fehler auf. Leider ist die Kernelversion dabei verschieden. Getestet wurden:
  • linux-image-6.7.12+bpo-amd64
  • linux-image-unsigned-6.8.12-060812-generic
  • linux-image-6.9.3-zabbly+
  • linux-image-6.9.4-zabbly+
Vielleicht spielt die xorg Version auch eine Rolle.
 
  • Like
Reactions: 2RunX

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!