Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 01 Jun 1997 00:17:45 -0400
From:      "Danny J. Zerkel" <dzerkel@phofarm.com>
To:        hackers@freebsd.org
Subject:   Crashing while making world
Message-ID:  <3390F7E9.41C67EA6@phofarm.com>

next in thread | raw e-mail | index | archive | help
I am running RELENG_2_2 within a day or two.  While doing
"make libraries", my machine crashed twice, both in the
same kernel function, but called from different places.

Crash 1:
#0  boot (howto=256) at ../../kern/kern_shutdown.c:243
#1  0xf0112412 in panic (fmt=0xf019846f "page fault")
    at ../../kern/kern_shutdown.c:367
#2  0xf0198fd6 in trap_fatal (frame=0xefbffecc) at
../../i386/i386/trap.c:742
#3  0xf0198ac4 in trap_pfault (frame=0xefbffecc, usermode=0)
    at ../../i386/i386/trap.c:653
#4  0xf019879f in trap (frame={tf_es = 16, tf_ds = 16, tf_edi = 0, 
      tf_esi = -260185244, tf_ebp = -272630000, tf_isp = -272630028, 
      tf_ebx = 134270976, tf_edx = 0, tf_ecx = 22847488, tf_eax = 32, 
      tf_trapno = 12, tf_err = 0, tf_eip = -266778562, tf_cs = 8, 
      tf_eflags = 66066, tf_esp = -265504772, tf_ss = -2147483648})
    at ../../i386/i386/trap.c:311
#5  0xf019483e in pmap_pte_quick (pmap=0xf07de364, va=134270976)
    at ../../i386/i386/pmap.c:499
#6  0xf0196fb1 in pmap_ts_referenced (pa=22847488)
    at ../../i386/i386/pmap.c:2881
#7  0xf018d368 in vm_pageout_scan () at ../../vm/vm_pageout.c:794
#8  0xf018d870 in vm_pageout () at ../../vm/vm_pageout.c:1013
#9  0xf01084c6 in kproc_start (udata=0xf01d9040) at
../../kern/init_main.c:240
#10 0xf0108464 in main (framep=0xefbfffb8) at ../../kern/init_main.c:190

Crash 2:
#0  boot (howto=256) at ../../kern/kern_shutdown.c:243
#1  0xf0112412 in panic (fmt=0xf019846f "page fault")
    at ../../kern/kern_shutdown.c:367
#2  0xf0198fd6 in trap_fatal (frame=0xefbffcd0) at
../../i386/i386/trap.c:742
#3  0xf0198ac4 in trap_pfault (frame=0xefbffcd0, usermode=0)
    at ../../i386/i386/trap.c:653
#4  0xf019879f in trap (frame={tf_es = 16, tf_ds = 16, tf_edi = 4096, 
      tf_esi = -259231644, tf_ebp = -272630508, tf_isp = -272630536, 
      tf_ebx = 3551232, tf_edx = 0, tf_ecx = -266270244, tf_eax = 0, 
      tf_trapno = 12, tf_err = 0, tf_eip = -266778562, tf_cs = 8, 
      tf_eflags = 66135, tf_esp = -265627400, tf_ss = 64})
    at ../../i386/i386/trap.c:311
#5  0xf019483e in pmap_pte_quick (pmap=0xf08c7064, va=3551232)
    at ../../i386/i386/pmap.c:499
#6  0xf0196d54 in pmap_changebit (pa=22605824, bit=64, setem=0)
    at ../../i386/i386/pmap.c:2744
#7  0xf0197013 in pmap_clear_modify (pa=22605824)
    at ../../i386/i386/pmap.c:2915
#8  0xf018c054 in vm_page_set_validclean (m=0xf02690d8, base=0,
size=4096)
    at ../../vm/vm_page.c:1222
#9  0xf012e7d8 in vfs_page_set_valid (bp=0xf26ff352, off=0,
m=0xf02690d8)
    at ../../kern/vfs_bio.c:1839
#10 0xf012e8e6 in vfs_clean_pages (bp=0xf26ff352) at
../../kern/vfs_bio.c:1896
#11 0xf012c82c in bdwrite (bp=0xf26ff352) at ../../kern/vfs_bio.c:437
#12 0xf012fb68 in cluster_write (bp=0xf26ff352, filesize=180224)
    at ../../kern/vfs_cluster.c:562
#13 0xf017ac14 in ffs_write (ap=0xefbffee8)
    at ../../ufs/ufs/ufs_readwrite.c:291
#14 0xf01369eb in vn_write (fp=0xf08fff80, uio=0xefbfff34,
cred=0xf0744900)
    at vnode_if.h:283
#15 0xf0119dd3 in write (p=0xf0723e00, uap=0xefbfff94,
retval=0xefbfff84)
    at ../../kern/sys_generic.c:263
#16 0xf019926f in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi = 1, 
      tf_esi = 602112, tf_ebp = -272639292, tf_isp = -272629788, 
      tf_ebx = 218420, tf_edx = 143920, tf_ecx = 7, tf_eax = 4,
tf_trapno = 0, 
      tf_err = 7, tf_eip = 134716593, tf_cs = 31, tf_eflags = 658, 
      tf_esp = -272639320, tf_ss = 39}) at ../../i386/i386/trap.c:890

Line 499 of pmap.c (pmap_pte_quick) is:

        if (pde = (unsigned) pmap->pm_pdir[va >> PDRSHIFT]) {

And in both cases, pmap->pm_pdir is 0x0:

$1 = {pm_pdir = 0x0, pm_pteobj = 0xf08f0f80, pm_pvlist = {
    tqh_first = 0x0, tqh_last = 0xf07de36c}, pm_count = 1, pm_flags = 0,
    pm_stats = {resident_count = -1, wired_count = 0}, pm_ptphint = 0x0}

$1 = {pm_pdir = 0x0, pm_pteobj = 0x0, pm_pvlist = {tqh_first = 0x0, 
    tqh_last = 0x0}, pm_count = 0, pm_flags = 0, pm_stats = {
    resident_count = 0, wired_count = 98724}, pm_ptphint = 0x0}

I tried to trace forward from the calling function's arguments but
was unable to find either of these pmap's within the listed pa's.
Here is the beginning of my system config:

FreeBSD 2.2-STABLE #10: Sat May 31 16:01:03 EDT 1997
    root@feephi.phofarm.com:/usr/src/sys/compile/feephi
CPU: Pentium (90.74-MHz 586-class CPU)
  Origin = "GenuineIntel"  Id = 0x525  Stepping=5
  Features=0x1bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8>
real memory  = 33554432 (32768K bytes)
avail memory = 30601216 (29884K bytes)
Probing for devices on PCI bus 0:
chip0 <Intel 82434NX (Neptune) PCI cache memory controller> rev 17 on
pci0:0
chip1 <Intel 82378ZB PCI-ISA bridge> rev 3 on pci0:2
...

I'm usually pretty good at figuring out how systems got into a
panic, but this has me befuddled.  Any ideas?

Danny J. Zerkel
Photon Farmers
dzerkel@phofarm.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3390F7E9.41C67EA6>