Panic at boot time on SMP
Kris Kennaway
kris at obsecurity.org
Fri Jul 4 18:04:38 PDT 2003
On Thu, Jul 03, 2003 at 10:34:34AM -0400, John Baldwin wrote:
> > Fatal trap 12: page fault while in kernel mode
> > cpuid = 0; lapic.id = 01000000
> > fault virtual address = 0xdf119fec
> > fault code = supervisor write, page not present
> > instruction pointer = 0x8:0xc030b254
> > stack pointer = 0x10:0xc0467b48
> > frame pointer = 0x10:0xc0467b48
> > 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 = 0 (swapper)
> > kernel: type 12 trap, code=0
> > Stopped at cpu_thread_setup+0x24: movl $0,0x24c(%ecx)
> > db> trace
> > cpu_thread_setup(c21ab000,0,c033b1d4,be,0) at cpu_thread_setup+0x24
>
> void
> cpu_thread_setup(struct thread *td)
> {
>
> td->td_pcb =
> (struct pcb *)(td->td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1;
> td->td_frame = (struct trapframe *)((caddr_t)td->td_pcb - 16) - 1;
> td->td_pcb->pcb_ext = NULL;
> }
>
> On my laptop, cpu_thread_setup+0x24 is the line that sets td->td_pcb->pcb_ext
> to NULL. It would seem that td_pcb is hosered. You could perhaps add
> some printf's to dump the value of td_kstack and make sure it is a sane
> value?
td->td_kstack = 0xdf112000
Kris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20030704/aa3b3059/attachment.bin
More information about the freebsd-current
mailing list