From owner-freebsd-current@FreeBSD.ORG Sat Jul 19 00:29:16 2008 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 926F5106566C for ; Sat, 19 Jul 2008 00:29:16 +0000 (UTC) (envelope-from smallhand@crawblog.com) Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.239]) by mx1.freebsd.org (Postfix) with ESMTP id 7E1F78FC0A for ; Sat, 19 Jul 2008 00:29:16 +0000 (UTC) (envelope-from smallhand@crawblog.com) Received: by rv-out-0506.google.com with SMTP id b25so638360rvf.43 for ; Fri, 18 Jul 2008 17:29:16 -0700 (PDT) Received: by 10.141.161.6 with SMTP id n6mr420982rvo.41.1216427355998; Fri, 18 Jul 2008 17:29:15 -0700 (PDT) Received: by 10.141.97.9 with HTTP; Fri, 18 Jul 2008 17:29:15 -0700 (PDT) Message-ID: <919383240807181729n210402a5r5095f8b1554e9891@mail.gmail.com> Date: Fri, 18 Jul 2008 20:29:15 -0400 From: "Edward Ruggeri" To: "Garrett Cooper" In-Reply-To: <7d6fde3d0807180336h61f13a73pcc433be16a732c7e@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <919383240807172100j35e1c796q513fa34d83f8e8e0@mail.gmail.com> <7d6fde3d0807180336h61f13a73pcc433be16a732c7e@mail.gmail.com> Cc: freebsd-current@freebsd.org Subject: Re: 7.0 CURRENT kernel's ath driver causes page fault, kernel panic (debugging kernel) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Jul 2008 00:29:16 -0000 On Fri, Jul 18, 2008 at 6:36 AM, Garrett Cooper wrote: > Some notes: > > 1. *blinks*... I hope you mean 8-CURRENT, not 7-CURRENT. 7 hasn't been > CURRENT for some months now (~6 months IIRC). Oh my, I am an idiot. I'm using 7-STABLE, making this the wrong list to ask; sorry. I guess I could repost to freebsd-stable in addition to filing a PR. Would that be wise? > 2. pciconf -lv might help with the PCI ID info. Then someone might be > able to tie your card back to the appropriate chipset. This gives me: ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00 vendor = 'Atheros Communications Inc.' device = 'AR5212 Atheros AR5212 802.11abg wireless' class = network subclass = ethernet class = base peripheral I get 167 pages on google that contain ar5212 and 0x1014168c and 0x058a1014. I only get one with ar5006ex instead of ar5212. I'm inclined to believe my Lenovo representative was wrong; she's just a sales rep and asked around about the part... > 3. KDB, DDB, WITNESS and INVARIANTS support compiled into the kernel > would be extremely helpful, if not required to debug your issue. I'm currently recompiling the kernel with these debug options: makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols options KDB options DDB options INVARIANTS options WITNESS As soon as it's done compiling, I'll try reproducing the error. I've added "set dumpdev="/var/crash" in /etc/rc.conf. > As for the actual debug process, there's a spot in the dev handbook > about it (http://www.freebsd.org/doc/en/books/developers-handbook/kerneldebug.html), > but when I tried debugging my issue with NTFS and SMB I didn't really > find it helpful to be honest... Once I have a core dump, how should I proceed? Use kdb, and execute "list *[instruction pointer]" to find out what (NULL) pointer is being dereferenced? Run backtrace? If I post a PR, is it likely that someone can guide me through this? I'm fairly familiar with C, but my experience using debuggers is very limited... > You may also have to compile without SMP and with the 4BSD scheduler > just to see whether or not it's an issue reproducible with the ULE > scheduler, the driver, or something else... After I get the dump with the current options (+ debug options), I'll try w/o SMP and ULE... > Hopefully this gets you started on the right path... > -Garrett Thanks so much, Garrett!