Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Oct 1998 02:42:24 +0200
From:      sthaug@nethelp.no
To:        freebsd-current@FreeBSD.ORG, freebsd-hardware@FreeBSD.ORG
Subject:   Re: Problems with Digital server with P-166 and Neptune chipset
Message-ID:  <6824.908930544@verdi.nethelp.no>
In-Reply-To: Your message of "Mon, 19 Oct 1998 23:36:15 %2B0200"
References:  <17857.908832975@verdi.nethelp.no>

next in thread | previous in thread | raw e-mail | index | archive | help
I wrote:

> I'm trying to get FreeBSD 3.0 to run reliably on a Digital server with
> Neptune chipset - so far without great success. (2.2.7, btw, wouldn't
> install at all. 3.0 installed with some effort).

I now have some more info. Built a kernel with debug info, built an aout
gdb. I have two identical machines running 3.0-RELEASE now, and both of
them are crashing the same way (page fault in kernel mode) and in the
same place (the zalloc inline routine in vm/vm_zone.h).

Here are two backtraces, one from each machine. These both happened at
the same time, namely when running /etc/daily at 02.00. In both cases,
the kernel is trying to follow a null pointer (z) at vm/vm_zone.h line 87:

	item = z->zitems;

However, the zalloc inline routine is called from vmspace_alloc:

	vm = zalloc(vmspace_zone);

and here the vmspace_zone seems to have a sensible value, 0xf0dd9980.

I'm going to try to recompile the kernel with DIAGNOSTIC enabled to see
if I can get some more info. Meanwhile, can anybody suggest why z is
null in zalloc when vmspace_zone isn't? Missing spl protection?

Steinar Haug, Nethelp consulting, sthaug@nethelp.no
----------------------------------------------------------------------
Machine 1:

Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x7200720
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xf01cc637
stack pointer           = 0x10:0xf882c970
frame pointer           = 0x10:0xf882c978
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 286 (cron)
interrupt mask          = 
trap number             = 12
panic: page fault

syncing disks... 4 4 done
...
#0  boot (howto=256) at ../../kern/kern_shutdown.c:268
268                     dumppcb.pcb_cr3 = rcr3();
(kgdb) where
#0  boot (howto=256) at ../../kern/kern_shutdown.c:268
#1  0xf012e62b in panic (fmt=0xf01e651f "page fault") at ../../kern/kern_shutdown.c:430
#2  0xf01e716d in trap_fatal (frame=0xf882c934) at ../../i386/i386/trap.c:879
#3  0xf01e6c00 in trap_pfault (frame=0xf882c934, usermode=0) at ../../i386/i386/trap.c:772
#4  0xf01e685f in trap (frame={tf_es = 16, tf_ds = 16, tf_edi = -126140544, tf_esi = -125645156, tf_ebp = -125646472, tf_isp = -125646500, 
      tf_ebx = -126123776, tf_edx = 119539488, tf_ecx = -253912704, tf_eax = 42, tf_trapno = 12, tf_err = 0, tf_eip = -266549705, tf_cs = 8, 
      tf_eflags = 66199, tf_esp = -126123776, tf_ss = -125645156}) at ../../i386/i386/trap.c:396
#5  0xf01cc637 in vmspace_alloc (min=0, max=4022329344) at ../../vm/vm_zone.h:87
#6  0xf01cebdf in vmspace_exec (p=0xf87b3f80) at ../../vm/vm_map.c:2220
#7  0xf0127227 in exec_new_vmspace (imgp=0xf882ce9c) at ../../kern/kern_exec.c:443
#8  0xf011d598 in exec_elf_imgact (imgp=0xf882ce9c) at ../../kern/imgact_elf.c:468
#9  0xf0126c97 in execve (p=0xf87b3f80, uap=0xf882cf94) at ../../kern/kern_exec.c:176
#10 0xf01e73ff in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi = 134689062, tf_esi = -272640068, tf_ebp = -272640040, tf_isp = -125644828, 
      tf_ebx = 671929380, tf_edx = -272640012, tf_ecx = 3, tf_eax = 59, tf_trapno = 0, tf_err = 2, tf_eip = 671680280, tf_cs = 31, 
      tf_eflags = 582, tf_esp = -272640084, tf_ss = 39}) at ../../i386/i386/trap.c:1031
#11 0xf01da86c in Xint0x80_syscall ()
#12 0x804a5bf in ?? ()
#13 0x804a20a in ?? ()
#14 0x804abef in ?? ()

Machine 2:

Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x7200720
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xf01cc637
stack pointer           = 0x10:0xf8814ec4
frame pointer           = 0x10:0xf8814ecc
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 479 (sh)
interrupt mask          = 
trap number             = 12
panic: page fault

syncing disks... 23 17 4 done
...
#0  boot (howto=256) at ../../kern/kern_shutdown.c:268
#1  0xf012e62b in panic (fmt=0xf01e651f "page fault") at ../../kern/kern_shutdown.c:430
#2  0xf01e716d in trap_fatal (frame=0xf8814e88) at ../../i386/i386/trap.c:879
#3  0xf01e6c00 in trap_pfault (frame=0xf8814e88, usermode=0) at ../../i386/i386/trap.c:772
#4  0xf01e685f in trap (frame={tf_es = 16, tf_ds = 16, tf_edi = -126139584, tf_esi = -126139584, 
      tf_ebp = -125743412, tf_isp = -125743440, tf_ebx = 20, tf_edx = 119539488, tf_ecx = -253912704, tf_eax = 42, 
      tf_trapno = 12, tf_err = 0, tf_eip = -266549705, tf_cs = 8, tf_eflags = 66199, tf_esp = 20, 
      tf_ss = -126139584}) at ../../i386/i386/trap.c:396
#5  0xf01cc637 in vmspace_alloc (min=0, max=4022329344) at ../../vm/vm_zone.h:87
#6  0xf01ce9d0 in vmspace_fork (vm1=0xf87b8100) at ../../vm/vm_map.c:2122
#7  0xf01cb98f in vm_fork (p1=0xf87b4340, p2=0xf87b3f80, flags=20) at ../../vm/vm_glue.c:222
#8  0xf01285dc in fork1 (p1=0xf87b4340, flags=20) at ../../kern/kern_fork.c:403
#9  0xf0128091 in fork (p=0xf87b4340, uap=0xf8814f94) at ../../kern/kern_fork.c:96
#10 0xf01e73ff in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi = 134877312, tf_esi = 134857940, 
      tf_ebp = -272639248, tf_isp = -125743132, tf_ebx = 134857880, tf_edx = -272639248, tf_ecx = 134857688, 
      tf_eax = 2, tf_trapno = 12, tf_err = 2, tf_eip = 134621760, tf_cs = 31, tf_eflags = 514, tf_esp = -272639272, 
      tf_ss = 39}) at ../../i386/i386/trap.c:1031
#11 0xf01da86c in Xint0x80_syscall ()
#12 0x804acdd in ?? ()
#13 0x804a852 in ?? ()
#14 0x804aef6 in ?? ()

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hardware" in the body of the message



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