qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] KVM guest gets aborted if blockcommit is called


From: Jeff Cody
Subject: Re: [Qemu-devel] KVM guest gets aborted if blockcommit is called
Date: Wed, 26 Aug 2015 09:25:30 -0400
User-agent: Mutt/1.5.21 (2010-09-15)

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?


Thanks,
Jeff





reply via email to

[Prev in Thread] Current Thread [Next in Thread]