Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!munnari.OZ.AU!news.mel.connect.com.au!news.syd.connect.com.au!news.bri.connect.com.au!corolla.OntheNet.com.au!news From: Tony Griffiths <tonyg@OntheNet.com.au> Newsgroups: comp.unix.bsd.freebsd.misc Subject: FreeBSD 2.1.5 (and 2.1.0) crashing with Page Fault in VNode/FFS code Date: Thu, 12 Sep 1996 17:32:13 +1000 Organization: On the Net (ISP on the Cold Coast, Australia) Lines: 128 Message-ID: <3237BC7D.199D@OntheNet.com.au> Reply-To: tonyg@OntheNet.com.au NNTP-Posting-Host: swanee.nt.com.au Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 3.0 (WinNT; I) I am seeing a system crash on a FreeBSD 2.1.5 system running Internet News and the Squid WWW cacheing proxy. The system is a P120 with 128 MB of RAM, a 3GB Quantum EIDE drive, and 4 x 4GB Seagate SCSI drives on an SC-200 (NCR 810) adapter. Basically, after a few days running, the system panics as follows- Sep 8 17:36:53 corolla /kernel: Sep 8 17:36:53 corolla /kernel: Fatal trap 12: page fault while in kernel mode Sep 8 17:36:53 corolla /kernel: fault virtual address = 0xba0b4000 Sep 8 17:36:54 corolla /kernel: fault code = supervisor write, page not present Sep 8 17:36:54 corolla /kernel: instruction pointer = 0x8:0xf0197c94 Sep 8 17:36:54 corolla /kernel: code segment = base 0x0, limit 0xfffff, type 0x1b Sep 8 17:36:54 corolla /kernel: = DPL 0, pres 1, def32 1, gran 1 Sep 8 17:36:54 corolla /kernel: processor eflags = interrupt enabled, resume, IOPL = 0 Sep 8 17:36:54 corolla /kernel: current process = 200 (innd) Sep 8 17:36:54 corolla /kernel: interrupt mask = net tty bio Sep 8 17:36:54 corolla /kernel: panic: page fault Sep 8 17:36:54 corolla /kernel: and the crash stack looks like- (kgdb) bt #0 boot (howto=260) at ../../i386/i386/machdep.c:912 #1 0xf0110af3 in panic (fmt=0xf0197f2c "page fault") at ../../kern/subr_prf.c:116 #2 0xf0198a52 in trap_fatal (frame=0xefbff8c4) at ../../i386/i386/trap.c:748 #3 0xf01985c4 in trap_pfault (frame=0xefbff8c4, usermode=0) at ../../i386/i386/trap.c:670 #4 0xf0198233 in trap (frame={tf_es = 16, tf_ds = 16, tf_edi = -191156224, tf_esi = -266595776, tf_ebp = -272631540, tf_isp = -272631572, tf_ebx = 0, tf_edx = 0, tf_ecx = -1, tf_eax = 124, tf_trapno = 12, tf_err = 0, tf_eip = -266812547, tf_cs = 8, tf_eflags = 66183, tf_esp = -264460224, tf_ss = -191160320}) at ../../i386/i386/trap.c:310 #5 0xf01911b1 in calltrap () #6 0xf0123a08 in vm_hold_load_pages (bp=0xf3f589b8, from=4103802880, to=4103811072) at ../../kern/vfs_bio.c:1484 #7 0xf0122b8a in allocbuf (bp=0xf3f589b8, size=8192) at ../../kern/vfs_bio.c:973 #8 0xf0122a40 in getblk (vp=0xf1f73580, blkno=176, size=8192, slpflag=0, slptimeo=0) at ../../kern/vfs_bio.c:919 #9 0xf01217fd in bread (vp=0xf1f73580, blkno=176, size=8192, cred=0xffffffff, bpp=0xefbffa00) at ../../kern/vfs_bio.c:171 #10 0xf0178925 in ffs_update (ap=0xefbffa2c) at ../../ufs/ffs/ffs_inode.c:133 #11 0xf017ac42 in ffs_sync (mp=0xf1f43400, waitfor=2, cred=0xf1c39280, p=0xf01c4304) at ./vnode_if.h:850 #12 0xf0127dc2 in sync (p=0xf01c4304, uap=0x0, retval=0x0) at ../../kern/vfs_syscalls.c:336 #13 0xf0193895 in boot (howto=256) at ../../i386/i386/machdep.c:871 #14 0xf0110af3 in panic (fmt=0xf0197f2c "page fault") at ../../kern/subr_prf.c:116 #15 0xf0198a52 in trap_fatal (frame=0xefbffb4c) at ../../i386/i386/trap.c:748 #16 0xf01985c4 in trap_pfault (frame=0xefbffb4c, usermode=0) at ../../i386/i386/trap.c:670 #17 0xf0198233 in trap (frame={tf_es = 16, tf_ds = 16, tf_edi = -185675776, tf_esi = -266595776, tf_ebp = -272630892, tf_isp = -272630924, tf_ebx = 0, tf_edx = 0, tf_ecx = -2147483648, tf_eax = 124, tf_trapno = 12, tf_err = 0, tf_eip = -266812547, tf_cs = 8, tf_eflags = 66183, tf_esp = -265780920, tf_ss = -185679872}) at ../../i386/i386/trap.c:310 #18 0xf01911b1 in calltrap () #19 0xf0123a08 in vm_hold_load_pages (bp=0xf3f69918, from=4109275136, to=4109291520) at ../../kern/vfs_bio.c:1484 #20 0xf0122b8a in allocbuf (bp=0xf3f69918, size=16384) at ../../kern/vfs_bio.c:973 #21 0xf0122a40 in getblk (vp=0xf257a980, blkno=0, size=16384, slpflag=0, slptimeo=0) at ../../kern/vfs_bio.c:919 #22 0xf01217fd in bread (vp=0xf257a980, blkno=0, size=16384, cred=0xffffffff, bpp=0xefbffc90) at ../../kern/vfs_bio.c:171 #23 0xf01798b3 in ffs_blkatoff (ap=0xefbffd08) at ../../ufs/ffs/ffs_subr.c:74 #24 0xf017d264 in ufs_lookup (ap=0xefbffd74) at ./vnode_if.h:741 #25 0xf01257ed in lookup (ndp=0xefbffee8) at ./vnode_if.h:27 #26 0xf012533d in namei (ndp=0xefbffee8) at ../../kern/vfs_lookup.c:147 #27 0xf012ab83 in vn_open (ndp=0xefbffee8, fmode=5, cmode=420) at ../../kern/vfs_vnops.c:113 #28 0xf01282ff in open (p=0xf1fecd00, uap=0xefbfff94, retval=0xefbfff8c) at ../../kern/vfs_syscalls.c:646 #29 0xf0198ca6 in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi = 452216, tf_esi = 0, tf_ebp = -272639432, tf_isp = -272629788, tf_ebx = 452216, tf_edx = 452248, tf_ecx = -272639548, tf_eax = 5, tf_trapno = 514, tf_err = 514, tf_eip = 134857285, tf_cs = 31, tf_eflags = 514, tf_esp = -272639460, tf_ss = 39}) at ../../i386/i386/trap.c:908 #30 0xf01911fb in Xsyscall () #31 0x2732a in ?? () #32 0x257ab in ?? () #33 0x13d09 in ?? () #34 0x167dc in ?? () #35 0xb319 in ?? () #36 0x9d56 in ?? () #37 0x1b5df in ?? () #38 0x10d3 in ?? () which indicates that innd was trying to open() and for some reason the system needed to page in some VNode blocks and this is when the page fault occurred. Now Internet News is a pig of an application in the way it uses the file system to 'mirror' the news group heirarchy to store articles. Also, with squid running the system eventually reaches a point when it starts to page VNodes. Sometime after this the crashes occur. We plan on upping the RAM to 192MB to see if we can circumvent this problem but I'm wondering if this particular "footprint" has been seen before!? Kernel (with symbols) and 128 MB core file are available for anyone into kernel crash dump debugging ;-)) Tony