Re: SMP panic

From: Andrew Thompson <thompsa_at_FreeBSD.org>
Date: Wed, 11 Jul 2007 15:25:55 +1200
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
Received on Wed Jul 11 2007 - 01:25:57 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:14 UTC