From owner-freebsd-current@FreeBSD.ORG Fri May 11 04:35:49 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 5514916A400 for ; Fri, 11 May 2007 04:35:49 +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 E242013C458 for ; Fri, 11 May 2007 04:35:48 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: by heff.fud.org.nz (Postfix, from userid 1001) id 3A1D51CC5A; Fri, 11 May 2007 16:35:47 +1200 (NZST) Date: Fri, 11 May 2007 16:35:47 +1200 From: Andrew Thompson To: Kostik Belousov Message-ID: <20070511043547.GB5097@heff.fud.org.nz> Mail-Followup-To: Andrew Thompson , Kostik Belousov , freebsd-current@freebsd.org References: <20070511020555.GA5097@heff.fud.org.nz> <20070511034942.GE77635@deviant.kiev.zoral.com.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070511034942.GE77635@deviant.kiev.zoral.com.ua> User-Agent: Mutt/1.5.13 (2006-08-11) Cc: freebsd-current@freebsd.org 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: Fri, 11 May 2007 04:35:49 -0000 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? Andrew