From owner-freebsd-questions@FreeBSD.ORG Mon May 11 21:37:14 2009 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C69DA1065680 for ; Mon, 11 May 2009 21:37:14 +0000 (UTC) (envelope-from cwhiteh@onetel.com) Received: from woodbine.london.02.net (woodbine.london.02.net [87.194.255.145]) by mx1.freebsd.org (Postfix) with ESMTP id 5FDC18FC1A for ; Mon, 11 May 2009 21:37:14 +0000 (UTC) (envelope-from cwhiteh@onetel.com) Received: from [192.168.1.75] (93.97.24.219) by woodbine.london.02.net (8.5.016.1) id 49D39EA901BCE0C1; Mon, 11 May 2009 22:37:12 +0100 Message-ID: <4A089A87.8040800@onetel.com> Date: Mon, 11 May 2009 22:37:11 +0100 From: Chris Whitehouse User-Agent: Thunderbird 2.0.0.21 (X11/20090321) MIME-Version: 1.0 To: "Paul B. Mahol" References: <49F78DD0.70007@onetel.com> <3a142e750904290530p7189e3d2y40328186dd4141f7@mail.gmail.com> <49FB6C6A.8020308@onetel.com> <3a142e750905011711pc9c77f7p67e883e96fac7170@mail.gmail.com> <4A03528F.7070405@onetel.com> <3a142e750905080326q2c21e669xc08aaafbf0fbf36@mail.gmail.com> <4A04968E.5060203@onetel.com> <3a142e750905090742i4bf80d45n323a81d3e18223a@mail.gmail.com> In-Reply-To: <3a142e750905090742i4bf80d45n323a81d3e18223a@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: User Questions Subject: Re: ndis0 interrrupt storm X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 May 2009 21:37:15 -0000 Paul B. Mahol wrote: > On 5/8/09, Chris Whitehouse wrote: >> Paul B. Mahol wrote: >>> On 5/7/09, Chris Whitehouse wrote: >>> >>>> In the meantime I've tried the three possible drivers (XP, NT and an >>>> unlabelled one). I've also installed a recent 8-current snapshot, >>>> updated to latest source and built world, and tried the XP driver. Still >>>> get interrupt storms everywhere, also a panic (I think) in 8-current. >>>> >>>> Should I give up or are there other things to try? >>> Panic should not happen. Please provide backtrace(or crashdump or >>> textdump) >> `fetch http://www.fishercroft.plus.com/vmcore.1.gz' should get a >> crashdump from a non-debug kernel, see below. It's about 17mb >> >> I built a driver with the XP driver using ndisgen and the same source as >> my recent build world. >> >> I kldload the driver module which also loads ndis.ko and if_ndis.ko. >> >> I've got >> wlans_ndis0="wlan0" >> in rc.conf and I get ndis0 and wlan0 created when I plug in the card. >> >> The interrupt storm starts when I do >> >> # ifconfig wlan0 >> >> The panic occurs maybe a minute or two after the ifconfig. >> >> I got a panic but I couldn't get a crashdump with the GENERIC kernel >> (nothing relevant to dumpon or savecore happened at all, no boot >> messages, nothing in /var/crash). >> I did get a bunch of stuff on ttyv0, I can post a photo somewhere if >> required. Or is there a way to get the screen output in text format? >> >> I built a kernel with the following changes >> >> #cpu I486_CPU >> #cpu I586_CPU >> >> #makeoptions DEBUG=-g # Build kernel with gdb(1) debug > > Oh nooooo, crash dump is useless with that option commented in kernel. > [You can alway just look at documentation installed in /usr/share/doc/, > for example developers handbook] > >> symbols >> >> #options KDB # Enable kernel debugger support. >> #options DDB # Support DDB. >> #options GDB # Support remote GDB. >> #options INVARIANTS # Enable calls of extra sanity >> checking >> #options INVARIANT_SUPPORT # Extra sanity checks of >> internal structures, required by INVARIANTS >> #options WITNESS # Enable checks to detect >> deadlocks and cycles >> #options WITNESS_SKIPSPIN # Don't run witness on spinlocks >> for speed > Both KDB, DDB, GDB, WITNESS and INVARIANTS are usefull in debugging kernel. > So please uncomment all that debugging support. > After all you can build two kernels, and use boot loader command or nextboot(8) > I tried with GENERIC and with my no-debug kernel. The panic happened with both but there was no crashdump with the GENERIC. All other settings were the same, eg no change to rc.conf. My setup seems to be right according to the developers handbook section 10.1. Is there something special I have to do with -CURRENT to get the crashdump? >> >> >> I got on ttyv0: >> >> interrupt storm detected on "irq11:"; throttling interrupt source >> >> repeated about 20 times then >> >> Sleeping thread (tid 100084, pid 0) owns a non-sleepable lock > > Heh, thats is bug, now only remains to find where it is caused. > I got this screendump (copied and pasted) from ttyv0 before the panic with GENERIC. It was repeated maybe 20 times then dropped to db> prompt. interrupt storm detected on "irq11:"; throttling interrupt source Waiting on "KeWFS" with the following non-sleepable locks held: exclusive sleep mutex ndis0 (network driver) r = 0 (0xc34fd06c) locked @ /usr/sr c/sys/modules/if_ndis/../../dev/if_ndis/if_ndis.c:3432 KDB: stack backtrace: db_trace_self_wrapper(c0c40c0b,d40e3ac0,c089d245,c3888072,d68,...) at db_trace_s elf_wrapper+0x26 kdb_backtrace(c3888072,d68,ffffffff,c0eca774,d40e3af8,...) at kdb_backtrace+0x29 _witness_debugger(c0c42f9c,d40e3b0c,4,1,0,...) at _witness_debugger+0x25 witness_warn(5,c38a24d0,c0c37d7c,c389ea81,d40e3b3c,...) at witness_warn+0x1fd _cv_timedwait(d40e3b6c,c38a24d0,1389,ffffffff,c38cafc8,...) at _cv_timedwait+0xc 6 KeWaitForSingleObject(c38cafc0,0,0,0,d40e3bbc,...) at KeWaitForSingleObject+0x1b 0 ndis_set_info(c34fd000,d01011a,0,d40e3bf8,c37b2524,...) at ndis_set_info+0x1c8 ndis_scan_start(c3a14000,0,c0c5286b,36e,80246,...) at ndis_scan_start+0xe8 scan_task(c3a04800,1,c0c42357,54,c38c485c,...) at scan_task+0x150 taskqueue_run(c38c4840,c38c485c,0,c0c33ff4,0,...) at taskqueue_run+0x10b taskqueue_thread_loop(c3a14074,d40e3d38,c0c39438,333,c0d88ca0,...) at taskqueue_ thread_loop+0x68 fork_exit(c08963e0,c3a14074,d40e3d38) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xd40e3d70, ebp = 0 --- interrupt storm detected on "irq11:"; throttling interrupt source >> panic: sleeping thread >> cpuid = 0 >> Uptime:17m26s >> Physical memory: 434 MB >> Dumping 79 MB: 64 48 32 16 >> Dump complete >> >> (The above typed by hand) >> >> Let me know if there is more I can do but (caveat) I'm not a developer >> and I only put CURRENT on the machine to test if the problem had been >> fixed, ie please don't flame me if you ask me really difficult stuff and >> I don't understand it :) > > You can always ask me off list for anything that you don't understand. thanks :) >