pluknet
2010-Sep-01 15:53 UTC
page fault in e1000_clear_hw_cntrs_base_generic() during SIOCAIFADDR
Hi. This is reproducible from time to time on boot when handling SIOCAIFADDR called from ifconfig on igb on fresh (and not so fresh) 8-STABLE. How can I help with debugging? Kernel page fault with the following non-sleepable locks held: exclusive sleep mutex igb0 (IGB Core Lock) r = 0 (0xc2655534) locked @ /usr/src/sys/modules/igb/../../dev/e1000/if_igb.c:965 KDB: stack backtrace: db_trace_self_wrapper(c08b5055,cce577b8,c060db15,3c5,0,...) at db_trace_self_wrapper+0x26 kdb_backtrace(3c5,0,ffffffff,c0a94864,cce577f0,...) at kdb_backtrace+0x29 _witness_debugger(c08b74fe,cce57804,4,1,0,...) at _witness_debugger+0x25 witness_warn(5,0,c08e3140,cce5782c,c2956000,...) at witness_warn+0x1fe trap(cce57890) at trap+0x195 calltrap() at calltrap+0x6 --- trap 0xc, eip = 0xc3192477, esp = 0xcce578d0, ebp = 0xcce578e0 --- e1000_clear_hw_cntrs_base_generic(c2651004,64,c3185850,c2651000,0,...) at e1000_clear_hw_cntrs_base_generic+0x3e7 igb_init_locked(c2655534,0,c31ac72f,3c5,c31c3d00,...) at igb_init_locked+0x16e2 igb_ioctl(c2642c00,8020690c,c31c3d00,cce57a8c,c457ea9b,...) at igb_ioctl+0x495 in_ifinit(0,c08c391b,1aa,1a6,c2642c00,...) at in_ifinit+0x29e in_control(c2a58b44,8040691a,c31bd100,c2642c00,c2948000,...) at in_control+0xccb ifioctl(c2a58b44,8040691a,c31bd100,c2948000,c31c3b00,...) at ifioctl+0x1820 soo_ioctl(c29b7bd0,8040691a,c31bd100,c254b100,c2948000,...) at soo_ioctl+0x415 kern_ioctl(c2948000,3,8040691a,c31bd100,6073c0,...) at kern_ioctl+0x1fd ioctl(c2948000,cce57cf8,c08e3073,c08c398f,c2956000,...) at ioctl+0x134 syscall(cce57d38) at syscall+0x220 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (54, FreeBSD ELF32, ioctl), eip = 0x281c1543, esp 0xbfbfe60c, ebp = 0xbfbfe648 --- Fatal trap 12: page fault while in kernel mode cpuid = 0; apic id = 00 fault virtual address = 0xcc5af000 fault code = supervisor read, page not present instruction pointer = 0x20:0xc3192477 stack pointer = 0x28:0xcce578d0 frame pointer = 0x28:0xcce578e0 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 = 700 (ifconfig) db> show ifnet 0xc2642c00 igb0: if_dname = igb if_dunit = 0 if_description = (null) if_index = 2 if_refcount = 2 if_softc = 0xc2651000 if_l2com = 0xc2676b80 if_vnet = 0 if_home_vnet = 0 if_addr = 0xc31c4500 if_llsoftc = 0 if_label = 0 if_pcount = 0 if_flags = 0x00008803 if_drv_flags = 0x00000040 if_capabilities = 0x000101bb if_capenable = 0x000001bb if_snd.ifq_head = 0 if_snd.ifq_tail = 0 if_snd.ifq_len = 0 if_snd.ifq_maxlen = 1023 if_snd.ifq_drops = 0 if_snd.ifq_drv_head = 0 if_snd.ifq_drv_tail = 0 if_snd.ifq_drv_len = 0 if_snd.ifq_drv_maxlen = 1023 if_snd.altq_type = 0 if_snd.altq_flags = 1 -- wbr, pluknet
John Baldwin
2010-Sep-01 16:06 UTC
page fault in e1000_clear_hw_cntrs_base_generic() during SIOCAIFADDR
On Wednesday, September 01, 2010 11:53:09 am pluknet wrote:> Hi. > > This is reproducible from time to time on boot when > handling SIOCAIFADDR called from ifconfig on igb > on fresh (and not so fresh) 8-STABLE. > > How can I help with debugging? > > Kernel page fault with the following non-sleepable locks held: > exclusive sleep mutex igb0 (IGB Core Lock) r = 0 (0xc2655534) locked @ > /usr/src/sys/modules/igb/../../dev/e1000/if_igb.c:965 > KDB: stack backtrace: > db_trace_self_wrapper(c08b5055,cce577b8,c060db15,3c5,0,...) at > db_trace_self_wrapper+0x26 > kdb_backtrace(3c5,0,ffffffff,c0a94864,cce577f0,...) at kdb_backtrace+0x29 > _witness_debugger(c08b74fe,cce57804,4,1,0,...) at _witness_debugger+0x25 > witness_warn(5,0,c08e3140,cce5782c,c2956000,...) at witness_warn+0x1fe > trap(cce57890) at trap+0x195 > calltrap() at calltrap+0x6 > --- trap 0xc, eip = 0xc3192477, esp = 0xcce578d0, ebp = 0xcce578e0 --- > e1000_clear_hw_cntrs_base_generic(c2651004,64,c3185850,c2651000,0,...) > at e1000_clear_hw_cntrs_base_generic+0x3e7Can you use gdb on your kernel.debug to map this to a source file and line? -- John Baldwin