John Baldwin wrote: >Can you build a debug kernel, reproduce the panic, and then do a list >from gdb on your kernel.debug of the instruction pointer? For example, >from the above you do: > >gdb -k kernel.debug >l *0xc05fd8c5 > > First I should say that turning off acpi seemed to fix the problem. However, the problem appears to be in dc0. Ok, rebuilt my kernel with makeoptions DEBUG=-g options DDB Rebooted, did a trace when it went to the db prompt.: *********************** Shutting down ACPI Fatal trap 12: page fault while in kernel mode fault virtual address = 0x18 fault code = supervisor write, page not present instruction pointer = 0x8:0xc0603bc5 stack pointer = 0x10:0xd032cc90 frame pointer = 0x10:0xd032ccc0 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 = 19 (irq9: rl0 dc0 acpi0) kernel: type 12 trap, code=0 Stopped at dc_rxeof+0x1b5: movl %edx,0x18(%eax) db>trace dc_rxeof(c33bb000,0,c0700bbe,c43,c33bb000) at dc_rxeof+0x1b5 dc_intr(c33bb000,0,c06f4d21,21f,c333d388) at dc_intr+0x100 ithread_loop(c1843980,d032cd48,c06f4be6,311,0) at ithread_loop+0x162 fork_trampoline() at fork_trampoline+0x8 --- trap 0x1, eip = 0, esp = 0xd032cd7c, ebp = 0 --- ***************** Did a gdb -k kernel.debug, and listed the code: ***************** (kgdb) l *0xc0603bc5 0xc0603bc5 is in dc_rxeof (../../../pci/if_dc.c:2804). 2799 * If we are on an architecture with alignment problems, or 2800 * if the allocation fails, then use m_devget and leave the 2801 * existing buffer in the receive ring. 2802 */ 2803 if (dc_quick && dc_newbuf(sc, i, 1) == 0) { 2804 m->m_pkthdr.rcvif = ifp; 2805 m->m_pkthdr.len = m->m_len = total_len; 2806 DC_INC(i, DC_RX_LIST_CNT); 2807 } else 2808 #endif ***************** I hope this helps. -DanReceived on Wed Dec 31 2003 - 01:38:37 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:36 UTC