On Fri 18 Jan 2019 11:14:15 AM CET, Kevin Wolf wrote:
> There are two ways to trigger the crash even without
> x-blockdev-set-iothread:
>
> * device_del, then device_add for a device with iothread (virtio-scsi;
> may or may not exist with virtio-blk)
> https://bugzilla.redhat.com/show_bug.cgi?id=1656276
>
> * Simply attach two devices with iothread to the the same node
> https://bugzilla.redhat.com/show_bug.cgi?id=1662508
While having a look at this I found another crash. Here's how to
reproduce it (wait for the events after each system_reset):
{ "execute": "qmp_capabilities" }
{ "execute": "blockdev-add", "arguments": {"driver": "null-co", "node-name": "hd0"}}
{ "execute": "device_add", "arguments": {"id": "vb0", "driver": "virtio-blk", "drive": "hd0"}}
{ "execute": "system_reset"}
{ "execute": "device_del", "arguments": {"id": "vb0"}}
{ "execute": "system_reset"}
{ "execute": "device_add", "arguments": {"id": "vb0", "driver": "virtio-blk", "drive": "hd0"}}
{ "execute": "system_reset"}
{ "execute": "device_del", "arguments": {"id": "vb0"}}
{ "execute": "system_reset"}
{ "execute": "device_add", "arguments": {"id": "vb0", "driver": "virtio-blk", "drive": "hd0"}}
{ "execute": "system_reset"}
kvm_mem_ioeventfd_add: error adding ioeventfd: No space left on device
Aborted
git-bisect points to this commit:
commit 3ac7d43a6fbb5d4a3d01fc9a055c218030af3727
Author: Paolo Bonzini <pbonzini@redhat.com>
Date: Wed Nov 28 17:28:45 2018 +0100
memory: update coalesced_range on transaction_commit
The e1000 driver calls memory_region_add_coalescing but
kvm_coalesce_mmio_region is never called for those regions. The bug
dates back to the introduction of the memory region API; to fix it,
delete and re-add coalesced MMIO ranges when building the FlatViews.
Because coalesced MMIO regions apply to all address spaces, the
has_coalesced_range flag has to be changed into an int.
Berto