*BSD News Article 78118


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