Date: Wed, 1 Jul 2009 23:21:08 +0700 From: Alexey Dokuchaev <danfe@nsu.ru> To: current@freebsd.org Subject: Kernel panic with if_sf.ko Message-ID: <20090701162108.GA33681@regency.nsu.ru>
next in thread | raw e-mail | index | archive | help
--azLHFNyN32YCQGCU Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hello there, I've started to observe the following rather annoying panic if I boot with if_sf loaded (via loader.conf) and having sf0 configured via DHCP on recent -CURRENT. If I comment out driver from loader.conf and load it manually (via kldload(8)) after system boots, it loads and gets configured just fine. Any clues here? Attached is relevant dmesg + DDB trace (debug kernel with WITNESS). I'm happy to provide any additional information (that is, ps/show uma/malloc, whatever). Thanks. ./danfe --azLHFNyN32YCQGCU Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="sf_panic.trace" sf0: link state changed to UP Starting Network: lo0 sf0. sf1: link state changed to DOWN Kernel page fault with the following non-sleepable locks held: exclusive sleep mutex sf0 (network driver) r = 0 (0xc356c584) locked @ /usr/src/ sys/modules/sf/../../dev/sf/if_sf.c:1971 KDB: stack backtrace: db_trace_self_wrapper(c0683396,d655e808,c05188c5,c0fd7bc2,7b3,...) at db_trace_s elf_wrapper+0x26 kdb_backtrace(c0fd7bc2,7b3,ffffffff,c0eb2914,d655e840,...) at kdb_backtrace+0x29 _witness_debugger(c0685907,d655e854,4,1,0,...) at _witness_debugger+0x25 witness_warn(5,0,c06a5f7f,d655e890,c3537d48,...) at witness_warn+0x1fd trap(d655e8e0) at trap+0x192 calltrap() at calltrap+0x6 --- trap 0xc, eip = 0xc062cec2, esp = 0xd655e920, ebp = 0xd655e954 --- _bus_dmamap_sync(c3551c80,c3573000,2,90a,6000,...) at _bus_dmamap_sync+0xa2 sf_stop(c3551d80,4,c0fd7bc2,7c1,c3556c70,...) at sf_stop+0x130 sf_init_locked(c356c584,0,c0fd7bc2,7b3,c36e3c00,...) at sf_init_locked+0x50 sf_init(c356b000,c356b000,0,0,c36e3cbb,...) at sf_init+0x3c ether_ioctl(c3554c00,8020690c,c36e3c00,d655ea38,456bc5b,...) at ether_ioctl+0x41 in_ifinit(0,c36e3c00,1aa,1a6,c0eb2910,...) at in_ifinit+0x2a6 in_control(c377bce0,8040691a,c35a26c0,c3554c00,c36b9720,...) at in_control+0xd7b ifioctl(c377bce0,8040691a,c35a26c0,c36b9720,4,...) at ifioctl+0x157d soo_ioctl(c36a57e0,8040691a,c35a26c0,c34a9b00,c36b9720,...) at soo_ioctl+0x3d2 kern_ioctl(c36b9720,4,8040691a,c35a26c0,6b9884,...) at kern_ioctl+0x1dd ioctl(c36b9720,d655ecf8,419,c06a5e55,c36b9720,...) at ioctl+0x134 syscall(d655ed38) at syscall+0x323 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (54, FreeBSD ELF32, ioctl), eip = 0x281bf8a3, esp = 0xbfbfe5bc, ebp = 0xbfbfe5f8 --- Fatal trap 12: page fault while in kernel mode fault virtual address = 0x400000c fault code = supervisor read, page not present instruction pointer = 0x20:0xc062cec2 stack pointer = 0x28:0xd655e920 frame pointer = 0x28:0xd655e954 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 = 453 (ifconfig) [thread pid 453 tid 100040 ] Stopped at _bus_dmamap_sync+0xa2: movl 0xc(%ebx),%eax db> show pcpu cpuid = 0 dynamic pcpu = 0xd3c597 curthread = 0xc36b9720: pid 453 "ifconfig" curpcb = 0xd655ed90 fpcurthread = none idlethread = 0xc34adbe0: pid 10 "idle" APIC ID = 0 currentldt = 0x50 spin locks held: db> show allpcpu Current CPU: 0 cpuid = 0 dynamic pcpu = 0xd3c597 curthread = 0xc36b9720: pid 453 "ifconfig" curpcb = 0xd655ed90 fpcurthread = none idlethread = 0xc34adbe0: pid 10 "idle" APIC ID = 0 currentldt = 0x50 spin locks held: db> show locks exclusive sleep mutex sf0 (network driver) r = 0 (0xc356c584) locked @ /usr/src/ sys/modules/sf/../../dev/sf/if_sf.c:1971 db> show alllocks Process 453 (ifconfig) thread 0xc36b9720 (100040) exclusive sleep mutex sf0 (network driver) r = 0 (0xc356c584) locked @ /usr/src/ sys/modules/sf/../../dev/sf/if_sf.c:1971 --azLHFNyN32YCQGCU--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090701162108.GA33681>