QEMU crash using virtio-scsi with iothread
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
qemu (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Critical
|
Christian Ehrhardt | ||
Eoan |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
* Despite quite a bunch of regression testing, explicit testing by
different parties and extra time in -proposed the fix to bug 1805256
caused a regression for other configurations.
* We will upload version .28 which essentially is a revert of .27 to
provide us the time to revisit the fix for bug 1805256 again and not
being forced to rush this cleanup.
[Test Case]
* Ensure that the revert really avoids the regression to iothread
handling. Start a guest with virtio-scsi + iothreads.
<domain type='kvm'>
...
<iothreads>
...
<controller type='scsi' index='0' model='
<driver iothread='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</controller>
...
</domain>
[Regression Potential]
* The regression already happened despite all measures. This is just the
revert. So other than any issues creeping in at build time (e.g.
toolchain changes, which I didn't see any) this should eventually match
the former .27
https:/
[Other Info]
* The formerly fixed bug 1805256 will re-open due to this and be worked on
again.
* When comparing for Delta I recommend comparing to 1:2.11+dfsg-
1ubuntu7.26 as that will show that all but changelog entries are gone
and nothing else changed.
---
After a recent upgrade I can't start a Windows 10 VM anymore, QEMU crashes with the error message:
error: Failed to start domain win10
error: internal error: qemu unexpectedly closed the monitor: qemu-system-x86_64: /build/
I was able to resurrect the VM by removing the iothread-related elements from the domain definition:
<domain type='kvm'>
...
<iothreads>
...
<controller type='scsi' index='0' model='
<driver iothread='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</controller>
...
</domain>
The domain XML is attached.
I'm using virtio-scsi and not virtio-blk because I use trimming to keep my QCOW image small(er). Would be great if I could continue to use this with iothreads enabled.
$ lsb_release -rd
Description: Ubuntu 18.04.4 LTS
Release: 18.04
$ apt-cache policy qemu-kvm
qemu-kvm:
Installiert: 1:2.11+
Installations
Versionstabelle:
*** 1:2.11+
500 http://
100 /var/lib/
1:
500 http://
1:
500 http://
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: qemu-kvm 1:2.11+
ProcVersionSign
Uname: Linux 4.15.0-108-generic x86_64
NonfreeKernelMo
ApportVersion: 2.20.9-0ubuntu7.15
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
Date: Sun Jun 28 13:05:17 2020
InstallationDate: Installed on 2019-10-03 (268 days ago)
InstallationMedia: Ubuntu 18.04.1 LTS "Bionic Beaver" - Release amd64 (20180725)
KvmCmdLine: COMMAND STAT EUID RUID PID PPID %CPU COMMAND
MachineType: To Be Filled By O.E.M. To Be Filled By O.E.M.
ProcEnviron:
TERM=xterm-
PATH=(custom, no user)
XDG_RUNTIME_
LANG=de_DE.UTF-8
SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=
SourcePackage: qemu
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 07/13/2011
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: P1.60
dmi.board.name: Z68 Pro3
dmi.board.vendor: ASRock
dmi.chassis.
dmi.chassis.type: 3
dmi.chassis.vendor: To Be Filled By O.E.M.
dmi.chassis.
dmi.modalias: dmi:bvnAmerican
dmi.product.family: To Be Filled By O.E.M.
dmi.product.name: To Be Filled By O.E.M.
dmi.product.
dmi.sys.vendor: To Be Filled By O.E.M.
tags: | added: regression-update |
Changed in qemu (Ubuntu Bionic): | |
importance: | High → Critical |
assignee: | nobody → Rafael David Tinoco (rafaeldtinoco) |
description: | updated |
Changed in qemu (Ubuntu Bionic): | |
status: | Confirmed → In Progress |
assignee: | Rafael David Tinoco (rafaeldtinoco) → Christian Ehrhardt (paelzer) |
I too get this after an upgrade and I can add only a couple of things to Viktor's report. I've tried both aio=native and aio=threads with same result. Unlike Viktor, I'm using virtio-blk-pci with raw images.
With both aio=native and aio=threads: qemu-v_ zvmu/qemu- 2.11+dfsg/ util/aio- posix.c: 592: aio_poll: Assertion `in_aio_ context_ home_thread( ctx)' failed.
qemu-system-x86_64: /build/
$ apt-cache policy qemu-kvm dfsg-1ubuntu7. 27 dfsg-1ubuntu7. 27
qemu-kvm:
Installed: 1:2.11+
Candidate: 1:2.11+