live migration with storage encounter assert(!(bs->open_flags & BDRV_O_INACTIVE)) crashes

Bug #1712818 reported by meeho yuen
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
QEMU
Expired
Undecided
Unassigned

Bug Description

The vm guest runs a iotest program, and i migrate it with virsh --copy-storage-all,then the qemu process on the source host happens to crash with the following message:

kvm: block/io.c:1543: bdrv_co_pwritev: Assertion `!(bs->open_flags & 0x0800)' failed.
2017-08-24 11:43:45.919+0000: shutting down, reason=crashed

here is the release:
qemu 2.7 & 2.10.rc3 were tested.
libvirt 3.0.0 & 3.2.0 were tested.

command line:
src_host:virsh migrate --verbose --live --persistent --copy-storage-all vm-core qemu+ssh://dst_host/system

Possible Reason: After bdrv_inactivate_all() was called, mirror_run coroutine still writes the left dirty disk data to remote nbd server, which triggers the assertion. But I don't known how to avoid the problem, help is needed! Thanks.

meeho yuen (meeho)
description: updated
description: updated
Revision history for this message
Eric Blake (eblake) wrote : Re: [Qemu-devel] [Bug 1712818] [NEW] live migration with storage encounter assert(!(bs->open_flags & BDRV_O_INACTIVE)) crashes

On 08/24/2017 07:59 AM, meeho yuen wrote:
> Public bug reported:
>
> The vm guest runs a iotest program, and i migrate it with virsh --copy-
> storage-all,then the qemu process on the source host happens to crash
> with the following message:
>
> kvm: block/io.c:1543: bdrv_co_pwritev: Assertion `!(bs->open_flags & 0x0800)' failed.
> 2017-08-24 11:43:45.919+0000: shutting down, reason=crashed

> here is the release:
> qemu 2.7 & 2.10.rc3 were tested.

The just-tagged 2.10-rc4 includes a fix that should be addressing that
issue during live migration; can you please re-test with that? (see
also https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg04513.html)

--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org

Revision history for this message
meeho yuen (meeho) wrote :

Thank you,I will try it.

Revision history for this message
meeho yuen (meeho) wrote :

hi,eblake,the problem still exists on qemu 2.10_rc4,although the possibility is less than before.

kvm: block/io.c:1543: bdrv_co_pwritev: Assertion `!(bs->open_flags & 0x0800)' failed.
2017-08-25 11:08:18.963+0000: shutting down, reason=crashed

Revision history for this message
Matthew Schumacher (schu-schu) wrote :

I see the same thing:

2017-12-28 21:36:26.837+0000: initiating migration
qemu-system-x86_64: block/io.c:1537: bdrv_co_pwritev: Assertion `!(bs->open_flags & BDRV_O_INACTIVE)' failed.
2017-12-28 21:36:40.516+0000: shutting down, reason=crashed
~

Running:
QEMU emulator version 2.10.1
libvirtd (libvirt) 3.10.0

Revision history for this message
meeho yuen (meeho) wrote :
Revision history for this message
Thomas Huth (th-huth) wrote :

Looking through old bug tickets... is this still an issue with the latest version of QEMU? Or could we close this ticket nowadays?

Changed in qemu:
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for QEMU because there has been no activity for 60 days.]

Changed in qemu:
status: Incomplete → Expired
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.