From owner-freebsd-current@FreeBSD.ORG Wed Jul 11 03:25:57 2007 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B391616A400 for ; Wed, 11 Jul 2007 03:25:57 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from heff.fud.org.nz (203-109-251-39.static.bliink.ihug.co.nz [203.109.251.39]) by mx1.freebsd.org (Postfix) with ESMTP id 12EBB13C455 for ; Wed, 11 Jul 2007 03:25:57 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: by heff.fud.org.nz (Postfix, from userid 1001) id A298A1CC58; Wed, 11 Jul 2007 15:25:55 +1200 (NZST) Date: Wed, 11 Jul 2007 15:25:55 +1200 From: Andrew Thompson To: Kostik Belousov , freebsd-current@freebsd.org Message-ID: <20070711032555.GA93888@heff.fud.org.nz> References: <20070511020555.GA5097@heff.fud.org.nz> <20070511034942.GE77635@deviant.kiev.zoral.com.ua> <20070511043547.GB5097@heff.fud.org.nz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070511043547.GB5097@heff.fud.org.nz> User-Agent: Mutt/1.5.13 (2006-08-11) Cc: Subject: Re: SMP panic X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Jul 2007 03:25:57 -0000 On Fri, May 11, 2007 at 04:35:47PM +1200, Andrew Thompson wrote: > On Fri, May 11, 2007 at 06:49:42AM +0300, Kostik Belousov wrote: > > On Fri, May 11, 2007 at 02:05:55PM +1200, Andrew Thompson wrote: > > > Hi, > > > > > > > > > I am having the following panic on my dual p3-500 box. I have tracked it > > > back to this commit[1], a HEAD cvs checkout of '2006-12-06 06:30 UTC' works > > > and '2006-12-06 06:35 UTC' panics. Removing SMP also avoids this panic. > > > = DPL 0, pres 1, def32 1, gran 1 > > > processor eflags = interrupt enabled, resume, IOPL = 0 > > > current process = 1 (swapper) > > > [thread pid 1 tid 100007 ] > > > Stopped at uma_zalloc_arg+0x31: pushl 0(%esi) > > > db> tr > > > Tracing pid 1 tid 100007 td 0xc298d360 > > > uma_zalloc_arg(0,0,2) at uma_zalloc_arg+0x31 > > > vfs_mount_alloc(0,c09a6940,c0913d40,c298d360,c0661a14,...) at vfs_mount_alloc+0x18 > > > devfs_first(c0661a14,c0661a14,0,d3b38d04,c0661a5f,...) at devfs_first+0x36 > > > vfs_mountroot(c298f000,c298d360,0,c0879c93,20,...) at vfs_mountroot+0x3e > > > start_init(0,d3b38d38) at start_init+0x4b > > > fork_exit(c0661a14,0,d3b38d38) at fork_exit+0xa8 > > > fork_trampoline() at fork_trampoline+0x8 > > > --- trap 0x1, eip = 0, esp = 0xd3b38d6c, ebp = 0 --- > > > db> > > Creation of mount_zone in vfs_mount_root() failed, no idea why. > > I have been looking into this and its failing on this section of code > > sys/vm/uma_core.c:uma_zone_slab > if (keg->uk_flags & UMA_ZFLAG_INTERNAL && keg->uk_recurse != 0) > if ((zone != slabzone) && (zone != slabrefzone)) > return (NULL); > > > I am able to boot now if I add (zone != zones) to the list of checks. > This only happens on SMP so is there some race? Is there a fix for this? Andrew