[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-discuss] [Qemu-devel] KVM guest gets aborted if blockcommit is
From: |
Jeff Cody |
Subject: |
Re: [Qemu-discuss] [Qemu-devel] KVM guest gets aborted if blockcommit is called |
Date: |
Thu, 27 Aug 2015 08:34:47 -0400 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Thu, Aug 27, 2015 at 11:26:13AM +0200, Christian Rößner wrote:
>
> > Am 26.08.2015 um 15:25 schrieb Jeff Cody <address@hidden>:
> >
> > On Wed, Aug 26, 2015 at 10:08:26AM +0200, Christian Rößner wrote:
> >>
> >>> Am 25.08.2015 um 08:02 schrieb Christian Rößner <address@hidden>:
> >>>
> >>> Hello,
> >>>
> >>> I wrote this mail to the qemu-discuss mailing list, but today I am
> >>> unsure, if I chose the right list. So I copy and paste this mail here in
> >>> hope someone can respond :-)
> >>>
> >>> I have reproducable problems with some code in qemu-coroutine.c:
> >>>
> >>>
> >>> void qemu_coroutine_enter(Coroutine *co, void *opaque)
> >>> {
> >>> Coroutine *self = qemu_coroutine_self();
> >>> CoroutineAction ret;
> >>>
> >>> trace_qemu_coroutine_enter(self, co, opaque);
> >>>
> >>> if (co->caller) {
> >>> fprintf(stderr, "Co-routine re-entered recursively\n");
> >>> abort(); <————————— This one triggers 4 or 5 out of ten tests to
> >>> use the blockcommit feature
> >>> }
> >>
> >> Caught Co-routine SIGABRT while a blockcommit operation was running.
> >>
> >> Recompiled with debugging symbols and I connected gdb to the process:
> >>
> >> (gdb) bt
> >> #0 0x00007f4b6e6ccb8e in raise () from /lib64/libc.so.6
> >> #1 0x00007f4b6e6ce391 in abort () from /lib64/libc.so.6
> >> #2 0x0000555a316a8c39 in qemu_coroutine_enter (co=0x555a34651a50,
> >> opaque=0x0)
> >> at
> >> /var/tmp/portage/app-emulation/qemu-2.4.0/work/qemu-2.4.0/qemu-coroutine.c:111
> >> #3 0x0000555a316a8eda in qemu_co_queue_run_restart (address@hidden)
> >> at
> >> /var/tmp/portage/app-emulation/qemu-2.4.0/work/qemu-2.4.0/qemu-coroutine-lock.c:59
> >> #4 0x0000555a316a8b53 in qemu_coroutine_enter (co=0x555a33d271b0,
> >> opaque=<optimized out>)
> >> at
> >> /var/tmp/portage/app-emulation/qemu-2.4.0/work/qemu-2.4.0/qemu-coroutine.c:118
> >> #5 0x0000555a316e3adf in bdrv_co_aio_rw_vector (address@hidden,
> >> address@hidden, address@hidden,
> >> address@hidden, address@hidden(unknown: 0),
> >> address@hidden <mirror_read_complete>, opaque=0x555a3367d2c0,
> >> address@hidden)
> >> at
> >> /var/tmp/portage/app-emulation/qemu-2.4.0/work/qemu-2.4.0/block/io.c:2142
> >> #6 0x0000555a316e4b1e in bdrv_aio_readv (address@hidden,
> >> address@hidden, address@hidden,
> >> address@hidden, address@hidden <mirror_read_complete>,
> >> address@hidden)
> >> at
> >> /var/tmp/portage/app-emulation/qemu-2.4.0/work/qemu-2.4.0/block/io.c:1744
> >> #7 0x0000555a316e2ccf in mirror_iteration (s=0x555a34a0c250)
> >> at
> >> /var/tmp/portage/app-emulation/qemu-2.4.0/work/qemu-2.4.0/block/mirror.c:302
> >> #8 mirror_run (opaque=0x555a34a0c250)
> >> at
> >> /var/tmp/portage/app-emulation/qemu-2.4.0/work/qemu-2.4.0/block/mirror.c:512
> >> #9 0x0000555a316a9a5a in coroutine_trampoline (i0=<optimized out>,
> >> i1=<optimized out>)
> >> at
> >> /var/tmp/portage/app-emulation/qemu-2.4.0/work/qemu-2.4.0/coroutine-ucontext.c:80
> >> #10 0x00007f4b6e6df4a0 in ?? () from /lib64/libc.so.6
> >> #11 0x00007ffe67b71840 in ?? ()
> >> #12 0x0000000000000000 in ?? ()
> >> (gdb)
> >>
> >> Please, could someone reply to me :-)
> >>
> >> Thanks
> >>
> >> Christian
> >
> > Hi Christian,
> >
> > I think you may be running into a bug that is fixed by a recent patch
> > (after v2.4.0):
> >
> > commit e424aff5f307227b1c2512bbb8ece891bb895cef
> > Author: Kevin Wolf <address@hidden>
> > Date: Thu Aug 13 10:41:50 2015 +0200
> >
> > mirror: Fix coroutine reentrance
> >
> >
> > Could you retry with qemu.git/master, and see if that fixes the issue
> > you are seeing?
>
> Until now, everything looks perfectly. No issues. Backup is running smoothly.
>
> Thanks very much. If nothing changes until tonight, I am going to close the
> bug report.
>
Christian,
Great to hear, thanks for the follow-up.
-Jeff