From owner-freebsd-current@FreeBSD.ORG Wed Dec 31 09:05:55 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7CD8416A4CE for ; Wed, 31 Dec 2003 09:05:55 -0800 (PST) Received: from mail2.speakeasy.net (mail2.speakeasy.net [216.254.0.202]) by mx1.FreeBSD.org (Postfix) with ESMTP id D9CD643D46 for ; Wed, 31 Dec 2003 09:05:53 -0800 (PST) (envelope-from jhb@FreeBSD.org) Received: (qmail 7129 invoked from network); 31 Dec 2003 17:05:53 -0000 Received: from dsl027-160-063.atl1.dsl.speakeasy.net (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) encrypted SMTP for ; 31 Dec 2003 17:05:53 -0000 Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.10/8.12.10) with ESMTP id hBVH5nM0092544; Wed, 31 Dec 2003 12:05:49 -0500 (EST) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.4 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <3FF2A7BD.5000901@diefree.com> Date: Wed, 31 Dec 2003 12:05:55 -0500 (EST) From: John Baldwin To: Dan Hulme X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) cc: freebsd-current@freebsd.org Subject: Re: ACPI causes page fault/panic upon reboot X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 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: Wed, 31 Dec 2003 17:05:55 -0000 On 31-Dec-2003 Dan Hulme wrote: > John Baldwin wrote: > >>Can you build a debug kernel, reproduce the panic, and then do a list >>from gdb on your kernel.debug of the instruction pointer? For example, >>from the above you do: >> >>gdb -k kernel.debug >>l *0xc05fd8c5 >> >> > First I should say that turning off acpi seemed to fix the problem. > However, the problem appears to be in dc0. > > Ok, rebuilt my kernel with > > makeoptions DEBUG=-g > options DDB > > Rebooted, did a trace when it went to the db prompt.: > > *********************** > > Shutting down ACPI > > Fatal trap 12: page fault while in kernel mode > fault virtual address = 0x18 > fault code = supervisor write, page not present > instruction pointer = 0x8:0xc0603bc5 > stack pointer = 0x10:0xd032cc90 > frame pointer = 0x10:0xd032ccc0 > 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 = 19 (irq9: rl0 dc0 acpi0) > kernel: type 12 trap, code=0 > Stopped at dc_rxeof+0x1b5: movl %edx,0x18(%eax) > > db>trace > > dc_rxeof(c33bb000,0,c0700bbe,c43,c33bb000) at dc_rxeof+0x1b5 > dc_intr(c33bb000,0,c06f4d21,21f,c333d388) at dc_intr+0x100 > ithread_loop(c1843980,d032cd48,c06f4be6,311,0) at ithread_loop+0x162 > fork_trampoline() at fork_trampoline+0x8 > --- trap 0x1, eip = 0, esp = 0xd032cd7c, ebp = 0 --- > > ***************** > > Did a gdb -k kernel.debug, and listed the code: > > ***************** > > (kgdb) l *0xc0603bc5 > 0xc0603bc5 is in dc_rxeof (../../../pci/if_dc.c:2804). > 2799 * If we are on an architecture with alignment > problems, or > 2800 * if the allocation fails, then use m_devget > and leave the > 2801 * existing buffer in the receive ring. > 2802 */ > 2803 if (dc_quick && dc_newbuf(sc, i, 1) == 0) { > 2804 m->m_pkthdr.rcvif = ifp; > 2805 m->m_pkthdr.len = m->m_len = total_len; > 2806 DC_INC(i, DC_RX_LIST_CNT); > 2807 } else > 2808 #endif > > ***************** > > I hope this helps. Looks like m is NULL. One thing you might try is setting the hw.acpi.disable_on_poweroff sysctl to 0. If that works, you can set it in /boot/loader.conf to make it permament. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/