From owner-freebsd-current@FreeBSD.ORG Sat Apr 12 01:02:47 2008 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0FCA3106564A for ; Sat, 12 Apr 2008 01:02:47 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from smtpoutm.mac.com (smtpoutm.mac.com [17.148.16.82]) by mx1.freebsd.org (Postfix) with ESMTP id 024C08FC15 for ; Sat, 12 Apr 2008 01:02:46 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from mac.com (asmtp005-s [10.150.69.68]) by smtpoutm.mac.com (Xserve/smtpout019/MantshX 4.0) with ESMTP id m3C12kc0022794; Fri, 11 Apr 2008 18:02:46 -0700 (PDT) Received: from [192.168.1.100] (209-128-86-226.bayarea.net [209.128.86.226]) (authenticated bits=0) by mac.com (Xserve/asmtp005/MantshX 4.0) with ESMTP id m3C12hCq003076 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Fri, 11 Apr 2008 18:02:44 -0700 (PDT) Message-Id: <7E64A957-18C7-40A7-BB12-680BE5CB2470@mac.com> From: Marcel Moolenaar To: sos@freebsd.org Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v919.2) Date: Fri, 11 Apr 2008 18:02:43 -0700 X-Mailer: Apple Mail (2.919.2) Cc: "current@freebsd.org Current" Subject: ATA: promise: infinite recursion getting status 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, 12 Apr 2008 01:02:47 -0000 Soren, On my powerpc machine I run into the following infinite recursion with the latest ATA code: : firewire0: 2 nodes, maxhop <= 1, cable IRM = 1 (me) firewire0: bus manager 1 (me) [thread pid 11 tid 100026 ] Stopped at 0x253480: stwu r1, r1, -0x10 db> bt Tracing pid 11 tid 100026 td 0xc77840 0xdc180028: at ata_promise_tx2_status+0x7c 0xdc180048: at ata_promise_tx2_status+0x7c 0xdc180068: at ata_promise_tx2_status+0x7c 0xdc180088: at ata_promise_tx2_status+0x7c 0xdc1800a8: at ata_promise_tx2_status+0x7c 0xdc1800c8: at ata_promise_tx2_status+0x7c : 0xdc183c88: at ata_promise_tx2_status+0x7c 0xdc183ca8: at ata_promise_tx2_status+0x7c 0xdc183cc8: at ata_promise_tx2_status+0x7c 0xdc183ce8: at ata_promise_tx2_status+0x7c 0xdc183d08: at ata_interrupt+0x54 0xdc183d28: at ata_generic_intr+0x4c 0xdc183d48: at ithread_loop+0x220 0xdc183da8: at fork_exit+0xb4 0xdc183dc8: at fork_trampoline+0xc db> Previously ata_promise_tx2_status() called ata_pci_status(), but now it dereferences ch->hw.status(), which is itself. Is this a known issue? The boot log of the previous kernel follows: Copyright (c) 1992-2008 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 8.0-CURRENT #2: Thu Apr 10 18:24:08 PDT 2008 marcel@xserve.xcllnt.net:/usr/obj/nfs/freebsd/8.x/src/sys/XSERVE WARNING: WITNESS option enabled, expect reduced performance. cpu0: Motorola PowerPC 7455 revision 2.1, 1000.00 MHz cpu0: HID0 8450c0bc real memory = 527376384 (502 MB) avail memory = 510140416 (486 MB) nexus0: unin0: on nexus0 unin0: Version 36 pcib0: on nexus0 pci0: on pcib0 bge0: mem 0xa0000000-0xa000ffff irq 48 at device 16.0 on pci0 miibus0: on bge0 brgphy0: PHY 1 on miibus0 brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto bge0: Ethernet address: 00:03:93:c0:54:18 bge0: [ITHREAD] pcib1: on nexus0 pci1: on pcib1 pcib2: at device 13.0 on pci1 pci2: on pcib2 macio0: mem 0x80000000-0x8007ffff at device 7.0 on pci2 openpic0: mem 0x40000-0x7ffff on macio0 scc0: mem 0x13000-0x13fff,0x8400-0x84ff, 0x8500-0x85ff,0x8600-0x86ff,0x8700-0x87ff irq 22,23 on macio0 scc0: [FILTER] scc0: [FILTER] uart0: on scc0 uart0: [FILTER] uart0: console (57600,n,8,1) uart1: on scc0 uart1: [FILTER] ohci0: mem 0x80081000-0x80081fff irq 27 at device 8.0 on pci2 ohci0: [GIANT-LOCKED] ohci0: [ITHREAD] usb0: OHCI version 1.0 usb0: on ohci0 usb0: USB revision 1.0 uhub0: on usb0 uhub0: 2 ports with 2 removable, self powered ohci1: mem 0x80080000-0x80080fff irq 28 at device 9.0 on pci2 ohci1: [GIANT-LOCKED] ohci1: [ITHREAD] usb1: OHCI version 1.0 usb1: on ohci1 usb1: USB revision 1.0 uhub1: on usb1 uhub1: 2 ports with 2 removable, self powered pcib3: at device 17.0 on pci1 pci3: on pcib3 pcib1: failed to reserve resource for (null) vgapci0: port 0x1000-0x10ff mem 0x88000000-0x8fffffff,0x80100000-0x8010ffff irq 52 at device 2.0 on pci3 atapci0: port 0x1090-0x1097,0x1080-0x1083,0x1070-0x1077,0x1060-0x1063,0x1050-0x105f mem 0x90030000-0x9003ffff irq 58 at device 21.0 on pci1 atapci0: [ITHREAD] ata2: on atapci0 ata2: [ITHREAD] ata3: on atapci0 ata3: [ITHREAD] atapci1: port 0x1040-0x1047,0x1030-0x1033,0x1020-0x1027,0x1010-0x1013,0x1000-0x100f mem 0x90010000-0x9001ffff irq 63 at device 27.0 on pci1 atapci1: [ITHREAD] ata4: on atapci1 ata4: [ITHREAD] ata5: on atapci1 ata5: [ITHREAD] pcib4: on nexus0 pci4: on pcib4 pci4: at device 13.0 (no driver attached) fwohci0: mem 0xf5000000-0xf5000fff irq 40 at device 14.0 on pci4 fwohci0: [FILTER] fwohci0: OHCI version 1.10 (ROM=0) fwohci0: No. of Isochronous channels is 8. fwohci0: EUI64 00:03:93:ff:fe:a8:cc:16 fwohci0: Phy 1394a available S400, 3 ports. fwohci0: Link S400, max_rec 2048 bytes. firewire0: on fwohci0 sbp0: on firewire0 fwohci0: Initiate bus reset fwohci0: BUS reset fwohci0: node_id=0xc800ffc1, gen=2, CYCLEMASTER mode gem0: mem 0xf5200000-0xf53fffff irq 41 at device 15.0 on pci4 miibus1: on gem0 brgphy1: PHY 0 on miibus1 brgphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto gem0: 10kB RX FIFO, 4kB TX FIFO gem0: Ethernet address: 00:03:93:a8:cc:16 gem0: [ITHREAD] Timecounter "decrementer" frequency 33229718 Hz quality 0 Timecounters tick every 10.000 msec firewire0: 2 nodes, maxhop <= 1, cable IRM = 1 (me) firewire0: bus manager 1 (me) ad0: 117800MB at ata2-master UDMA100 ad1: 117800MB at ata3-master UDMA100 ad2: 58644MB at ata4-master UDMA100 WARNING: WITNESS option enabled, expect reduced performance. Trying to mount root from ufs:/dev/ad0s3 -- Marcel Moolenaar xcllnt@mac.com