Date: Thu, 2 Jul 2009 10:57:29 +0900 From: Pyun YongHyeon <pyunyh@gmail.com> To: Alexey Dokuchaev <danfe@nsu.ru> Cc: current@freebsd.org Subject: Re: Kernel panic with if_sf.ko Message-ID: <20090702015729.GE13137@michelle.cdnetworks.co.kr> In-Reply-To: <20090701162108.GA33681@regency.nsu.ru> References: <20090701162108.GA33681@regency.nsu.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jul 01, 2009 at 11:21:08PM +0700, Alexey Dokuchaev wrote: > 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. > Hmm, sf(4) also calls me. :-( I can't reproduce this on 10 days old CURRENT box so will try reproduce it on latest CURRENT. > 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). > Still have no idea why it panicked but can you let me know the line number of sf_stop+0x130? > Thanks. > > ./danfe > 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 > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090702015729.GE13137>