From owner-freebsd-current@FreeBSD.ORG Sat May 7 22:14:30 2005 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 5DC3016A4DE; Sat, 7 May 2005 22:14:30 +0000 (GMT) Received: from lexi.siliconlandmark.com (lexi.siliconlandmark.com [209.69.98.4]) by mx1.FreeBSD.org (Postfix) with ESMTP id E6A3143D97; Sat, 7 May 2005 22:14:29 +0000 (GMT) (envelope-from andy@siliconlandmark.com) Received: from lexi.siliconlandmark.com (localhost [127.0.0.1]) j47MENjn094780; Sat, 7 May 2005 18:14:23 -0400 (EDT) (envelope-from andy@siliconlandmark.com) Received: from localhost (andy@localhost)j47MEN2H094777; Sat, 7 May 2005 18:14:23 -0400 (EDT) (envelope-from andy@siliconlandmark.com) X-Authentication-Warning: lexi.siliconlandmark.com: andy owned process doing -bs Date: Sat, 7 May 2005 18:14:23 -0400 (EDT) From: Andre Guibert de Bruet To: sos@freebsd.org In-Reply-To: <20050505142850.S55534@lexi.siliconlandmark.com> Message-ID: <20050507180636.U55534@lexi.siliconlandmark.com> References: <20050505142850.S55534@lexi.siliconlandmark.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Information: Please contact the ISP for more information X-SL-MailScanner: Found to be clean X-SL-SpamCheck: not spam, SpamAssassin (score=-2.543, required 6, autolearn=not spam, AWL 0.06, BAYES_00 -2.60) X-MailScanner-From: andy@siliconlandmark.com cc: current@freebsd.org Subject: Re: ata-related panic 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: Sat, 07 May 2005 22:14:30 -0000 [Replying to myself...] On Thu, 5 May 2005, Andre Guibert de Bruet wrote: > em0: link state changed to UP > unknown: WARNING - ATA_IDENTIFY requeued due to channel reset LBA=0 > lock order reversal > 1st 0xc50ae6e0 ATA state lock (ATA state lock) @ > /usr/src/sys/kern/kern_timeout.c:263 > 2nd 0xc4f73344 user map (user map) @ /usr/src/sys/vm/vm_map.c:2997 > KDB: stack backtrace: > kdb_backtrace(c06dbd1b,c4f73344,c06eb71c,c06eb71c,c06eb79c) at > kdb_backtrace+0x2f > witness_checkorder(c4f73344,9,c06eb79c,bb5,12b) at witness_checkorder+0x6d0 > _sx_xlock(c4f73344,c06eb79c,bb5,bd5,e900cac8) at _sx_xlock+0x7f > _vm_map_lock_read(c4f73300,c06eb79c,bb5,100018a,deadc000) at > _vm_map_lock_read+0x4a > vm_map_lookup(e900cb60,deadc000,1,e900cb64,e900cb54) at vm_map_lookup+0x2e > vm_fault(c1059000,deadc000,1,0,c5015d80) at vm_fault+0x7f > trap_pfault(e900cc2c,0,deadc126,e900cc0c,deadc126) at trap_pfault+0x166 > trap(c0550008,c0780028,28,c5365d48,c5365d48) at trap+0x350 > calltrap() at calltrap+0x5 > --- trap 0xc, eip = 0xc0541af4, esp = 0xe900cc6c, ebp = 0xe900cc6c --- > device_get_softc(deadc0de,107,1,c50ae6e0,c50ae6e0) at device_get_softc+0x6 > ata_timeout(c5365d48,0,c06d90a7,107,c046cb91) at ata_timeout+0x1d > softclock(0,0,c06d585c,256,c0735d60) at softclock+0x242 > ithread_loop(c5019400,e900cd38,c06d5647,30d,c5019400) at ithread_loop+0x159 > fork_exit(c0513923,c5019400,e900cd38) at fork_exit+0xc2 > fork_trampoline() at fork_trampoline+0x8 > --- trap 0x1, eip = 0, esp = 0xe900cd6c, ebp = 0 --- > > > Fatal trap 12: page fault while in kernel mode > cpuid = 0; apic id = 00 > fault virtual address = 0xdeadc126 > fault code = supervisor read, page not present > instruction pointer = 0x20:0xc0541af4 > stack pointer = 0x28:0xe900cc6c > frame pointer = 0x28:0xe900cc6c > 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 = 85 (swi4: clock sio) > [thread pid 85 tid 100076 ] > Stopped at device_get_softc+0x6: movl 0x48(%eax),%eax This turned out to be caused by a jumper misconfiguration on the only IDE device on this system. It was connected to the first connector on the cable and set as Slave. I am baffled at how it worked before. From the boot -v that I managed to get, it appeared that the ata code detected a 40-wire cable (Not the case) and caused a bus reset only to panic because of a timeout. My ata-fu is nill but I am willing to try different things to track down what happened, in order to handle this case better. The motherboard all of this fun stuff happened on is an Intel SE7520BD2V. More info, including kernel config file can be found at http://bling.properkernel.com/freebsd/ Cheers, Andy /* Andre Guibert de Bruet * 6f43 6564 7020 656f 2e74 4220 7469 6a20 */ /* Code poet / Sysadmin * 636f 656b 2e79 5320 7379 6461 696d 2e6e */ /* GSM: +1 734 846 8758 * 5520 494e 2058 6c73 7565 6874 002e 0000 */ /* WWW: siliconlandmark.com * Tormenting bytes since 1980. */