Date: Thu, 03 Jul 2003 10:34:34 -0400 (EDT) From: John Baldwin <jhb@FreeBSD.org> To: Kris Kennaway <kris@obsecurity.org> Cc: current@FreeBSD.org Subject: RE: Panic at boot time on SMP Message-ID: <XFMail.20030703103434.jhb@FreeBSD.org> In-Reply-To: <20030703004550.GA83661@rot13.obsecurity.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 03-Jul-2003 Kris Kennaway wrote: > Anyone's ears burning? :) > > Kris > > Booting [/boot/kernel/kernel]... > Copyright (c) 1992-2003 The FreeBSD Project. > Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 > The Regents of the University of California. All rights reserved. > FreeBSD 5.1-CURRENT #22: Wed Jul 2 17:39:58 PDT 2003 > kris@bento.FreeBSD.org:/usr/src/sys/i386/compile/LOCAL5 > Preloaded elf kernel "/boot/kernel/kernel" at 0xc0443000. > Timecounter "i8254" frequency 1193182 Hz > Timecounter "TSC" frequency 730843207 Hz > CPU: Intel Pentium III (730.84-MHz 686-class CPU) > Origin = "GenuineIntel" Id = 0x683 Stepping = 3 > > Features=0x387fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,PN,MMX, > FXSR,SSE> > real memory = 1073741824 (1024 MB) > avail memory = 1038618624 (990 MB) > Programming 16 pins in IOAPIC #0 > IOAPIC #0 intpin 2 -> irq 0 > Programming 16 pins in IOAPIC #1 > FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs > cpu0 (BSP): apic id: 1, version: 0x00040011, at 0xfee00000 > cpu1 (AP): apic id: 0, version: 0x00040011, at 0xfee00000 > io0 (APIC): apic id: 2, version: 0x000f0011, at 0xfec00000 > io1 (APIC): apic id: 3, version: 0x000f0011, at 0xfec01000 > > > 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? -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20030703103434.jhb>