From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:44287) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UD7Yq-0005hJ-JS for qemu-devel@nongnu.org; Wed, 06 Mar 2013 01:10:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UD7Yo-0005k7-81 for qemu-devel@nongnu.org; Wed, 06 Mar 2013 01:10:44 -0500 Received: from hall.aurel32.net ([2001:470:1f15:c4f::1]:46092) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UD7Yn-0005jA-Tc for qemu-devel@nongnu.org; Wed, 06 Mar 2013 01:10:42 -0500 Date: Wed, 6 Mar 2013 07:10:17 +0100 From: =?iso-8859-15?Q?Aur=E9lien?= Jarno Message-ID: <20130306061017.GH23040@ohm.aurel32.net> References: <51293E4A.1040100@weilnetz.de> <20130304163731.GA23040@ohm.aurel32.net> <20130305141806.GA5757@ohm.aurel32.net> <5136A45B.1060000@samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <5136A45B.1060000@samsung.com> Subject: Re: [Qemu-devel] TCG assertion with qemu-system-mipsel List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Yeongkyoon Lee Cc: Blue Swirl , Stefan Weil , qemu-devel , Richard Henderson On Wed, Mar 06, 2013 at 11:05:15AM +0900, Yeongkyoon Lee wrote: > On 03/05/2013 11:18 PM, Aurélien Jarno wrote: > >On Mon, Mar 04, 2013 at 05:37:31PM +0100, Aurélien Jarno wrote: > >>Hi, > >> > >>On Sat, Feb 23, 2013 at 11:10:18PM +0100, Stefan Weil wrote: > >>>This assertion occured with latest git master: > >>> > >>>qemu-system-mipsel: /src/qemu/tcg/tcg-op.h:2589: > >>> tcg_gen_goto_tb: Assertion `(tcg_ctx.goto_tb_issue_mask & (1 << idx)) > >>>== 0' failed. > >>>Aborted > >>> > >>>QEMU was built with --enable-debug and running a Debian MIPS Lenny (NFS > >>>root). > >>>The assertion happened when running "apt-get update" in the guest. > >>> > >>Is it something reproductible or more or less random? Have you Cc:ed > >>Richard because it's related to the latest patches? > >> > >>On my side I am experiencing random segfaults in various guests (at > >>least PowerPC, MIPS, SH4 and ARM). I have found a way to bisect it, even > >>if it is quite long (building Perl + the testsuite). Currently I know > >>that 1.3 is affected, while 1.2 is not. > >> > >I have found that the issue comes from the following commits, which > >unfortunately are not bisectable one by one (though it won't change the > >results a lot): > > > > commit b76f0d8c2e3eac94bc7fd90a510cb7426b2a2699 > > Author: Yeongkyoon Lee > > Date: Wed Oct 31 16:04:25 2012 +0900 > > tcg: Optimize qemu_ld/st by generating slow paths at the end of a block > > Add optimized TCG qemu_ld/st generation which locates the code of TLB miss > > cases at the end of a block after generating the other IRs. > > Currently, this optimization supports only i386 and x86_64 hosts. > > Signed-off-by: Yeongkyoon Lee > > Signed-off-by: Blue Swirl > > commit fdbb84d1332ae0827d60f1a2ca03c7d5678c6edd > > Author: Yeongkyoon Lee > > Date: Wed Oct 31 16:04:24 2012 +0900 > > tcg: Add extended GETPC mechanism for MMU helpers with ldst optimization > > Add GETPC_EXT which is used by MMU helpers to selectively calculate the code > > address of accessing guest memory when called from a qemu_ld/st optimized code > > or a C function. Currently, it supports only i386 and x86-64 hosts. > > Signed-off-by: Yeongkyoon Lee > > Signed-off-by: Blue Swirl > > commit 32761257c0b9fa7ee04d2871a6e48a41f119c469 > > Author: Yeongkyoon Lee > > Date: Wed Oct 31 16:04:23 2012 +0900 > > configure: Add CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimization > > Enable CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimization only when > > a host is i386 or x86_64. > > Signed-off-by: Yeongkyoon Lee > > Signed-off-by: Blue Swirl > > > >I will try to understand why. > > > > > > Hi Aurélien, > Do you mean that those random segfaults occurred only when > configured with "--enable-debug"? > Although I cannot see how my commits affect debug built image at a > glance, I'll do double-check. > Thanks. The problem is there even without configuring QEMU with --enable-debug. It justs doesn't happens very often, and very randomly. The only way to reproduce it each time is to launch a big task in the guest (for me building Perl) and see if it completes or now. It can take up to one hour until it happens. I should precise that the segfault is on the guest side. I have tried to look at your patches, and so far I haven't found the issue. It seems the two first patches are fine, ie I have verified the return address is always correctly computed. -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net http://www.aurel32.net