From: Fam Zheng <famz@redhat.com>
To: Max Reitz <mreitz@redhat.com>
Cc: qemu-devel@nongnu.org, Qemu-block <qemu-block@nongnu.org>,
Bug 1570134 <1570134@bugs.launchpad.net>,
Kevin Wolf <kwolf@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [Bug 1570134] Re: While committing snapshot qemu crashes with SIGABRT
Date: Thu, 21 Apr 2016 08:34:46 +0800 [thread overview]
Message-ID: <20160421003413.GA24822@dhcp-14-234.nay.redhat.com> (raw)
In-Reply-To: <5717E09C.5050209@redhat.com>
On Wed, 04/20 22:03, Max Reitz wrote:
> On 20.04.2016 20:09, Max Reitz wrote:
> > On 20.04.2016 02:03, Matthew Schumacher wrote:
> >> Max,
> >>
> >> Qemu still crashes for me, but the debug is again very different. When
> >> I attach to the qemu process from gdb, it is unable to provide a
> >> backtrace when it crashes. The log file is different too. Any ideas?
> >>
> >> qemu-system-x86_64: block.c:2307: bdrv_replace_in_backing_chain:
> >> Assertion `!bdrv_requests_pending(old)' failed.
> >
> > This message is exactly the same as you saw in 2.5.1, so I guess we've
> > at least averted a regression in 2.6.0.
>
> I get the same message in 2.5.0, in 2.4.0 it's "Co-routine re-entered
> recursively". 2.3.0 works fine.
>
> Bisecting the regression between 2.3.0 and 2.4.0 interestingly yields
> 48ac0a4df84662f as the problematic commit, but I can't imagine that this
> is the root issue. The effective change it brings is that for active
> commits, the buf_size is no longer the same as the granularity, but the
> default mirror buf_size instead.
>
> When forcing buf_size to the granularity, the issue first appears with
> commit 3f09bfbc7bee812 (after 2.4.0, before 2.5.0), which is much less
> surprising, because this is the one that introduced the assertion in the
> first place.
>
> However, I still don't think the assertion is the problem but the fact
> that the guest device can still send requests after bdrv_drained_begin().
Thanks for debugging this.
bdrv_drained_begin isn't effective because the guest notifier handler is not
registered as "external":
virtio_queue_set_host_notifier_fd_handler
event_notifier_set_handler
qemu_set_fd_handler
aio_set_fd_handler(ctx, fd,
is_external, /* false */
...)
is_external SHOULD be true here.
next prev parent reply other threads:[~2016-04-21 0:34 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-13 23:18 [Qemu-devel] [Bug 1570134] [NEW] While committing snapshot qemu crashes with SIGABRT Matthew Schumacher
2016-04-14 2:16 ` Fam Zheng
2016-04-14 16:24 ` [Qemu-devel] [Bug 1570134] " Matthew Schumacher
2016-04-14 20:51 ` Matthew Schumacher
2016-04-15 16:30 ` Matthew Schumacher
2016-04-16 21:46 ` Max Reitz
2016-04-16 21:48 ` Max Reitz
2016-04-18 18:59 ` Matthew Schumacher
2016-04-19 22:01 ` Max Reitz
2016-04-20 0:03 ` Matthew Schumacher
2016-04-20 18:09 ` Max Reitz
2016-04-20 20:03 ` Max Reitz
2016-04-21 0:34 ` Fam Zheng [this message]
2016-04-21 2:07 ` Fam Zheng
2016-04-21 11:35 ` Peter Maydell
2016-04-21 11:43 ` [Qemu-devel] [Qemu-block] " Kevin Wolf
2016-04-22 18:55 ` [Qemu-devel] " Matthew Schumacher
2016-04-25 1:02 ` Fam Zheng
2016-04-26 5:18 ` Fam Zheng
2016-06-21 16:33 ` T. Huth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160421003413.GA24822@dhcp-14-234.nay.redhat.com \
--to=famz@redhat.com \
--cc=1570134@bugs.launchpad.net \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).