From owner-freebsd-bugs Sun Apr 14 7:20:10 2002 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 07CD737B416 for ; Sun, 14 Apr 2002 07:20:02 -0700 (PDT) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g3EEK2601818; Sun, 14 Apr 2002 07:20:02 -0700 (PDT) (envelope-from gnats) Received: from krusty.e-technik.uni-dortmund.de (krusty.E-Technik.Uni-Dortmund.DE [129.217.163.1]) by hub.freebsd.org (Postfix) with ESMTP id 43E0737B405; Sun, 14 Apr 2002 07:12:22 -0700 (PDT) Received: from merlin.emma.line.org (localhost [127.0.0.1]) by krusty.e-technik.uni-dortmund.de (Postfix) with ESMTP id 9C104A3831; Sun, 14 Apr 2002 16:12:20 +0200 (CEST) Received: by merlin.emma.line.org (Postfix, from userid 500) id 2EAFE2C073; Sun, 14 Apr 2002 16:12:17 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by merlin.emma.line.org (Postfix) with ESMTP id CC5D3B763 for ; Sun, 14 Apr 2002 16:11:07 +0200 (CEST) Received: from pop3.web.de by localhost with POP3 (fetchmail-5.9.11) for emma@localhost (single-drop); Sun, 14 Apr 2002 16:11:07 +0200 (CEST) Received: from [217.81.248.165] (helo=merlin.emma.line.org) by mx05.web.de with esmtp (WEB.DE(Exim) 4.43 #48) id 16wkKk-0006k1-00 for matthias.andree@web.de; Sun, 14 Apr 2002 15:46:22 +0200 Received: (from emma@localhost) by merlin.emma.line.org (8.11.6/8.11.6) id g3EDk2G00380; Sun, 14 Apr 2002 15:46:02 +0200 (CEST) (envelope-from emma) Message-Id: <200204141346.g3EDk2G00380@merlin.emma.line.org> Date: Sun, 14 Apr 2002 15:46:02 +0200 (CEST) From: Matthias Andree Reply-To: Matthias Andree To: FreeBSD-gnats-submit@FreeBSD.org Cc: sos@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: kern/37060: kernel panic with hw.ata.tags=1 in ata-disk.c:710 Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >Number: 37060 >Category: kern >Synopsis: kernel panic with hw.ata.tags=1 in ata-disk.c:710 >Confidential: no >Severity: critical >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Apr 14 07:20:01 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Matthias Andree >Release: FreeBSD 4.5-STABLE i386 >Organization: >Environment: System: FreeBSD emma1.emma.line.org 4.5-STABLE FreeBSD 4.5-STABLE #1: Sun Apr 14 13:33:10 CEST 2002 root@emma1.emma.line.org:/usr/src/sys/compile/MA i386 >Description: FreeBSD 4-STABLE, checked out around local midnight, 2002-04-14. When I use 'set hw.ata.tags=1' in the FreeBSD loader, the kernel panics (or jumps into the debugger). Leaving hw.ata.tags alone (not setting it) is fine, the machine boots up and works properly. This may be related to the "tagged acting up" recently reported on freebsd-stable@freebsd.org The last boot -v message is: "Creating DISK ad2" (copied with pen & paper): Fault trap 12: page fault while in kernel mode. Fault virtual address:0x1c fault code: supervisor read, page not present current process: 0 (swapper) irq mask: bio DDB: Stopped at: ad_service+0x30 testb $0x8,0x1c(%eax) (Looks as though %eax is NULL) trace: ad_service +0x30 ad_transfer +0x253 ata_start +0x98 adstrategy ar_rw ar_promise_read_conf ata_raiddisk_attach ad_attach ata_boot_attach The offending line is 710 (as per gdb "info *(ad_service+0x30)"): 705 /* do we have to check the other device on this channel ? */ 706 if (adp->device->channel->flags & ATA_QUEUED && change) { 707 int device = adp->device->unit; 708 709 if (adp->device->unit == ATA_MASTER) { 710 if (adp->device->channel->devices & ATA_ATA_SLAVE && 711 ((struct ad_softc *) 712 (adp->device->channel-> 713 device[ATA_DEV(ATA_SLAVE)].driver))->flags&AD_F_TAG_ENABLED) 714 device = ATA_SLAVE; 715 } ata-related dmesg: atapci0: port 0xffa0-0xffaf at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 atacontrol list: ATA channel 0: Master: ad0 ATA/ATAPI rev 6 Slave: no device present ATA channel 1: Master: ad2 ATA/ATAPI rev 5 Slave: ad3 ATA/ATAPI rev 4 (all do UDMA66 -- yes I know DTLA are unreliable, two out of seven died here) FWIW, probably unrelated: the machine is to boot from ad3, which was ad0 before I bought the Maxtor drive and added a Fujitsu UWSCSI drive. The machine also has a Promise PDC-20265R chip (onboard), but it's switched off (jumper or BIOS, I don't recall) and does not show up in dmesg. I'm willing to help further, I can use gdb and have a machine that I can attach via null modem cable, if need be. However, I'm not acquainted with FreeBSD's kernel debugger (ddb), so any instructions as to the ddb use should be verbose. Thanks in advance. >How-To-Repeat: on my system, pressing any key in the loader, then entering: set hw.ata.tags=1 boot will cause the problem. Adding a line "hw.ata.tags=1" to /boot/loader.conf also triggers the problem. >Fix: Workaround: comment out hw.ata.tags line in /boot/loader.conf. Comes at the expense of tagged queueing, obviously. Fix: will probably require changes to the ata driver that I cannot do. >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message