Xorg crash on 3d-enabled virgl (Haswell host)

Bug #1836772 reported by Alexander E. Patrakov
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
mesa (Ubuntu)
Confirmed
Undecided
Unassigned
xorg-server (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

I am running a KVM virtual machine with 3D acceleration (virgl). The host is Arch Linux, the guest is Ubuntu 18.04. However, recently, the session started crashing just after the login. In xorg logs, I see this:

[ 15.338] (WW) modeset(0): Page flip failed: Invalid argument
[ 15.338] (EE) modeset(0): present flip failed
[ 15.397] (WW) modeset(0): Page flip failed: Invalid argument
[ 15.397] (EE) modeset(0): present flip failed
[ 15.418] (WW) modeset(0): Page flip failed: Invalid argument
[ 15.419] (EE) modeset(0): present flip failed
[ 15.440] (WW) modeset(0): Page flip failed: Invalid argument
[ 15.440] (EE) modeset(0): present flip failed
[ 15.460] (WW) modeset(0): Page flip failed: Invalid argument
[ 15.460] (EE) modeset(0): present flip failed
[ 15.975] (WW) modeset(0): Page flip failed: Invalid argument
[ 15.976] (EE) modeset(0): present flip failed
[ 16.039] (WW) modeset(0): Page flip failed: Invalid argument
[ 16.040] (EE) modeset(0): present flip failed
[ 16.064] (WW) modeset(0): Page flip failed: Invalid argument
[ 16.064] (EE) modeset(0): present flip failed
[ 16.096] Failed to compile FS: 0:11(2): error: `color0' undeclared
0:11(2): error: value of type vec4 cannot be assigned to variable of type error
0:12(2): error: `color1' undeclared
0:12(2): error: value of type vec4 cannot be assigned to variable of type error

[ 16.096] Program source:
#ifdef GL_ES
precision mediump float;
#endif
#define ATLAS_DIM_INV 0.000976562500000000
varying vec2 glyph_pos;
uniform vec4 fg;
uniform sampler2D atlas;
void main() {
       vec4 mask = texture2D(atlas, glyph_pos);
       vec4 source = fg;
      color0 = source * mask;
      color1 = source.a * mask;
}
[ 16.096] (EE)
Fatal server error:
[ 16.096] (EE) GLSL compile failure

Downgrading libgl1-mesa-dri from 19.0.2-1ubuntu1.1~18.04.1 to 18.0.0~rc5-1ubuntu1 helps.

Arch on Arch does not fail this way. Mesa version is 19.1.1-1 there.

On the host, the GPU is Intel Haswell:

00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [8086:0412] (rev 06)

The CPU is Intel(R) Core(TM) i7-4770S CPU.

ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: xorg 1:7.7+19ubuntu7.1
ProcVersionSignature: Ubuntu 4.15.0-54.58-generic 4.15.18
Uname: Linux 4.15.0-54-generic x86_64
ApportVersion: 2.20.9-0ubuntu7.7
Architecture: amd64
BootLog: Error: [Errno 13] Permission denied: '/var/log/boot.log'
CompositorRunning: None
CurrentDesktop: ubuntu:GNOME
Date: Tue Jul 16 20:52:03 2019
DistUpgraded: Fresh install
DistroCodename: bionic
DistroVariant: ubuntu
DpkgLog:

ExtraDebuggingInterest: Yes, including running git bisection searches
GraphicsCard:
 Red Hat, Inc. Virtio GPU [1af4:1050] (rev 01) (prog-if 00 [VGA controller])
   Subsystem: Red Hat, Inc. Virtio GPU [1af4:1100]
Lsusb: Error: command ['lsusb'] failed with exit code 1:
MachineType: QEMU Standard PC (Q35 + ICH9, 2009)
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no username)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.15.0-54-generic root=UUID=4fa5252e-51d1-476f-8903-e4d8b7266af0 ro splash quiet vt.handoff=1
SourcePackage: xorg
Symptom: display
Title: Xorg crash
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 04/01/2014
dmi.bios.vendor: SeaBIOS
dmi.bios.version: 1.12.0-20181126_142135-anatol
dmi.chassis.type: 1
dmi.chassis.vendor: QEMU
dmi.chassis.version: pc-q35-4.0
dmi.modalias: dmi:bvnSeaBIOS:bvr1.12.0-20181126_142135-anatol:bd04/01/2014:svnQEMU:pnStandardPC(Q35+ICH9,2009):pvrpc-q35-4.0:cvnQEMU:ct1:cvrpc-q35-4.0:
dmi.product.name: Standard PC (Q35 + ICH9, 2009)
dmi.product.version: pc-q35-4.0
dmi.sys.vendor: QEMU
version.compiz: compiz N/A
version.libdrm2: libdrm2 2.4.97-1ubuntu1~18.04.1
version.libgl1-mesa-dri: libgl1-mesa-dri 18.0.0~rc5-1ubuntu1
version.libgl1-mesa-glx: libgl1-mesa-glx 19.0.2-1ubuntu1.1~18.04.1
version.xserver-xorg-core: xserver-xorg-core 2:1.19.6-1ubuntu4.3
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev N/A
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:18.0.1-1
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.99.917+git20171229-1
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.15-2

Revision history for this message
Alexander E. Patrakov (patrakov-gmail) wrote :
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Before we debug anything here, one of your packages is broken, which might be relevant:

  libgl1-mesa-dri 18.0.0~rc5-1ubuntu1

It should be version 19. To fix this please run:

  sudo apt update
  sudo apt full-upgrade

If that doesn't fix it then download and install the missing package:

  https://launchpad.net/ubuntu/+archive/primary/+files/libgl1-mesa-dri_19.0.2-1ubuntu1.1~18.04.1_amd64.deb

and reboot.

affects: xorg (Ubuntu) → mesa (Ubuntu)
Changed in mesa (Ubuntu):
status: New → Incomplete
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Oh, you said that downgrade was a workaround.

So in that case this sounds like a bug in libgl1-mesa-dri_19.0.2-1ubuntu1.1~18.04.1_amd64.deb

tags: added: regression-update
Changed in mesa (Ubuntu):
status: Incomplete → New
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

please test 19.0.8 from ppa:ubuntu-x-swat/updates

Changed in mesa (Ubuntu):
status: New → Incomplete
Revision history for this message
Alexander E. Patrakov (patrakov-gmail) wrote :

It works.

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

excellent, that version is on the SRU queue already, waiting for review

Changed in xorg-server (Ubuntu):
status: New → Invalid
Changed in mesa (Ubuntu):
status: Incomplete → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.