From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:45228) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UcGtX-000513-44 for qemu-devel@nongnu.org; Tue, 14 May 2013 11:12:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UcGtV-00068c-O2 for qemu-devel@nongnu.org; Tue, 14 May 2013 11:12:03 -0400 Received: from mail-ph.de-nserver.de ([85.158.179.214]:35278) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UcGtV-000680-DB for qemu-devel@nongnu.org; Tue, 14 May 2013 11:12:01 -0400 Message-ID: <5192543C.4010305@profihost.ag> Date: Tue, 14 May 2013 17:11:56 +0200 From: Stefan Priebe - Profihost AG MIME-Version: 1.0 References: <518C8FD7.9080201@profihost.ag> <20130510074217.GB1500@stefanha-thinkpad.redhat.com> <518CB8E4.5090305@profihost.ag> <51924A40.6090209@profihost.ag> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] segfault in aio_bh_poll async.c:80 WAS: Re: kvm process disappears List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: Paolo Bonzini , qemu-devel , "pve-devel@pve.proxmox.com" , Michael Roth Am 14.05.2013 17:05, schrieb Stefan Hajnoczi: > On Tue, May 14, 2013 at 4:29 PM, Stefan Priebe - Profihost AG > wrote: >> Am 10.05.2013 13:09, schrieb Stefan Hajnoczi: >>> On Fri, May 10, 2013 at 11:07 AM, Stefan Priebe - Profihost AG >>> wrote: >>>> Am 10.05.2013 09:42, schrieb Stefan Hajnoczi: >>>>> On Fri, May 10, 2013 at 08:12:39AM +0200, Stefan Priebe - Profihost AG wrote: >>>>> 3. Either use gdb or an LD_PRELOAD library that catches exit(3) and >>>>> _exit(2) and dumps core using abort(3). Make sure core dumps are >>>>> enabled. >> >> This time i had a segfault Qemu 1.4.1 plus >> http://git.qemu.org/?p=qemu.git;a=commitdiff;h=dc7588c1eb3008bda53dde1d6b890cd299758155. >> >> aio_bh_poll async.c:80 >> >> Code... >> >> for (bh = ctx->first_bh; bh; bh = next) { >> next = bh->next; >> if (!bh->deleted && bh->scheduled) { >> bh->scheduled = 0; >> if (!bh->idle) >> ret = 1; >> bh->idle = 0; >> bh->cb(bh->opaque); >> } >> } >> >> ctx->walking_bh--; >> >> /* remove deleted bhs */ >> if (!ctx->walking_bh) { >> bhp = &ctx->first_bh; >> while (*bhp) { >> bh = *bhp; >> ===== THIS IS THE SEGFAULT LINE ===== if (bh->deleted) { >> *bhp = bh->next; >> g_free(bh); >> } else { >> bhp = &bh->next; >> } >> } >> } >> >> return ret; > > Interesting crash. Do you have the output of "thread apply all bt"? > > I would try looking at the AioContext using "p *ctx", and print out > the ctx->first_bh linked list. Hi, as i can't reproduce no ;-( i just saw the kernel segfault message and used addr2line and a qemu dbg package to get the code line. Stefan