From owner-freebsd-current Wed May 23 17:47:11 2001 Delivered-To: freebsd-current@freebsd.org Received: from meow.osd.bsdi.com (meow.osd.bsdi.com [204.216.28.88]) by hub.freebsd.org (Postfix) with ESMTP id DC36937B424 for ; Wed, 23 May 2001 17:47:04 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Received: from laptop.baldwin.cx (john@jhb-laptop.osd.bsdi.com [204.216.28.241]) by meow.osd.bsdi.com (8.11.2/8.11.2) with ESMTP id f4O0koG91939; Wed, 23 May 2001 17:46:51 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.4.0 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: Date: Wed, 23 May 2001 17:46:57 -0700 (PDT) From: John Baldwin To: The Hermit Hacker Subject: RE: Tonights panic: free_newdirblk+0x73: movl %eax,0x10(%e Cc: freebsd-current@FreeBSD.org Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 24-May-01 The Hermit Hacker wrote: > > Just upgraded to latest sources, doesn't look like the swap issue ... was > performing a 'make -j16 buildworld' when it panic'd ... > > > Fataltrap 12: page fault while in kernel mode > cpuid = 0; lapic.id = 00000000 > fault virtual address = 0x12 > fault code = supervisor write, page not present > instruction pointer = 0x8:0xc020abff > stack pointer = 0x10:0xcb75dbbc > frame pointer = 0x10:0xcb75dbc4 > code segmnt = base 0x0, limit 0xfffff, type 0x1b > = DPL 0, pres 1, def32 1, gran 1 > processor eflags = interrupt enabled, resume, IOPL = 0 > current process = 17 (swi3: cambio) > kernel: type 12 trap, code=0 > Stopped at free_newdirblk+0x73: movl %eax,0x10(%edx) Looks like %edx is 0x2 then. In other post, the faulting va was 0x11 with the same instruction, meaning that %edx is 0x1. So it looks like it isn't a NULL pointer dereference. It may be related to the VM stuff in that it may be that a buffer is being manipulated somewhere without Giant being held while being manipulated with Giant being held somewhere else? Or it could be a softupdates bug. :-P Is this an SMP machine? Ah, yes it is. Next time you see this, can you display 'show pcpu' for each CPU (show pcpu does the current cpu, show cpu displays the info on CPU ). Also, can you get a backtrace of each process that is running? trace on x86 can take the pid of a process to get a backtrace of as a parameter, and the show pcpu commands should show you what process was executing on the other CPU (including its pid). > db> trace > free_newdirblk+0x73 > handle_written_inodeblock+0x29e > softdep_disk_write_complete+0x6a > bufdone+0xbc > bufdonebio+0xf > dadone+0x214 > camisr+0x1d7 > ithread_lopp+0x330 > fork_exit+0xbc > fork_trampoline+0x8 -- John Baldwin -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.baldwin.cx/~john/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message