From owner-freebsd-smp Wed Mar 10 6:48:28 1999 Delivered-To: freebsd-smp@freebsd.org Received: from excalibur.lps.ens.fr (excalibur.lps.ens.fr [129.199.120.3]) by hub.freebsd.org (Postfix) with ESMTP id 34D1A1505D for ; Wed, 10 Mar 1999 06:47:52 -0800 (PST) (envelope-from Thierry.Besancon@lps.ens.fr) Received: (from besancon@localhost) by excalibur.lps.ens.fr (8.8.5/8.8.6) id OAA01137; Wed, 10 Mar 1999 14:45:25 GMT To: Luoqi Chen Cc: Thierry.Besancon@tournesol.lps.ens.fr, dwhite@gdi.uoregon.edu, freebsd-smp@FreeBSD.ORG, Pierre.David@prism.uvsq.fr, alc@cs.rice.edu, dillon@apollo.backplane.com, jt@ratp.fr Subject: Re: lockmgr() panic References: <199903101435.JAA11204@lor.watermarkgroup.com> From: Thierry.Besancon@lps.ens.fr Date: 10 Mar 1999 15:45:24 +0100 In-Reply-To: Luoqi Chen's message of Wed, 10 Mar 1999 09:35:39 -0500 (EST) Message-ID: Lines: 58 X-Mailer: Gnus v5.3/Emacs 19.34 Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Dixit Luoqi Chen (le Wed, 10 Mar 1999 09:35:39 -0500 (EST)) : >> > While typing this mail, my machine paniced again with a more explicit message ? >> > >> > panic: lockmgr: locking against myself >> > mp_lock = 010000003 ; cpuid = 1; lapic.id = 00000000 >> > Debugger("panic") >> > Stopped at Debugger+0x37: movl $0,in_Debugger >> > >> > db> trace >> > Debugger(f0230f52) at Debugger+0x37 >> > panic() at panic+0xa4 >> > lockmgr() at lockmgr+0x228 >> > vm_map_growstack() at vm_map_growstack+0x29 >> > grow_stack() at grow_stack+0xe >> > trap_pfault() at trap+0x33e >> > calltap() at calltrap+0x3c >> > --- trap 0xc, eip = 0xf020c3a3, esp = 0xfa7f6d6c, ebp = 0xfa7f6d84 --- >> > pmap_enter() at pmap_enter+0xa7 >> > vm_fault() at vm_fault+0x83a >> > trap_pfault() at trap_pfault+0xc4 >> > trap() at trap+0x33e >> > calltrap() at calltrap+0x3c >> > --- trap 0xc, eip = ..., esp = ..., ebp = ... --- >> > zalloci() at zalloci+0x33 >> > vm_map_entry_create() at vm_map_entry_create+0x27 >> > _vm_map_clip_end() at _vm_map_clip_end+0x42 >> > vm_map_madvise() at vm_map_madvise+0xc9 >> > madvise() at madvise+0x47 >> > syscall(27,27,2c,2811c000,efbfb9ec) at syscall+0x187 >> > Xint0x80_syscall() at Xint0x80_syscall+0x4c >> > >> This is a completely different problem. Life sucks today. Reading src/sys/kern/kern_lock.c, I saw this piece of code that might be relevant with this problem : #if !defined(MAX_PERF) if ((extflags & LK_CANRECURSE) == 0) panic("lockmgr: locking against myself"); #endif Before defining the flag, does anybody know what MAX_PERF implies other than not panicing the kernel ? What does it means ? >> It looks like a page fault on >> a kernel page table page, which should have been wired down. Could you >> provide more detail, e.g. fault address for both traps? I'm sorry, I can't. There were too many adresses and I thought they were irrelevant so I didn't note them... I'll note them next time (i hope not to have to do it though ;-) Thierry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message