From owner-freebsd-stable Tue Mar 26 7:34:51 2002 Delivered-To: freebsd-stable@freebsd.org Received: from msgbas2.cos.agilent.com (msgbas2x.cos.agilent.com [192.25.240.37]) by hub.freebsd.org (Postfix) with ESMTP id 0221537B416 for ; Tue, 26 Mar 2002 07:34:11 -0800 (PST) Received: from msgrel1.cos.agilent.com (msgrel1.cos.agilent.com [130.29.152.77]) by msgbas2.cos.agilent.com (Postfix) with ESMTP id 43B1EA1F for ; Tue, 26 Mar 2002 08:34:11 -0700 (MST) Received: from mina.soco.agilent.com (mina.soco.agilent.com [141.121.54.157]) by msgrel1.cos.agilent.com (Postfix) with ESMTP id D5E894EB for ; Tue, 26 Mar 2002 08:34:10 -0700 (MST) Received: from mina.soco.agilent.com (darrylo@localhost [127.0.0.1]) by mina.soco.agilent.com (8.9.3 (PHNE_22672)/8.9.3 SMKit7.1.1_Agilent) with ESMTP id HAA28161 for ; Tue, 26 Mar 2002 07:34:10 -0800 (PST) Message-Id: <200203261534.HAA28161@mina.soco.agilent.com> To: freebsd-stable@freebsd.org Subject: USB double panic Reply-To: Darryl Okahata Mime-Version: 1.0 (generated by tm-edit 1.7) Content-Type: multipart/mixed; boundary="Multipart_Tue_Mar_26_07:34:09_2002-1" Content-Transfer-Encoding: 7bit Date: Tue, 26 Mar 2002 07:34:10 -0800 From: Darryl Okahata Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --Multipart_Tue_Mar_26_07:34:09_2002-1 Content-Type: text/plain; charset=US-ASCII FYI, I sent this yesterday to the usb-bsd list, thinking that this was an USB problem. However, with all of the ATA issues, I'm not so sure. The first panic is from USB, and the second appears to be in softupdates. -- Darryl Okahata darrylo@soco.agilent.com DISCLAIMER: this message is the author's personal opinion and does not constitute the support, opinion, or policy of Agilent Technologies, or of the little green men that have been following him all day. --Multipart_Tue_Mar_26_07:34:09_2002-1 Content-Type: message/rfc822 To: usb-bsd@yahoogroups.com Subject: USB double panic Date: Mon, 25 Mar 2002 18:40:41 -0800 From: Darryl Okahata FYI (sigh), If anyone's interested, I just got a double panic when attaching an usb hard disk. It appears that something's trashing memory (below, note the "(null)" in the dmesg where a device name should be), but I really don't know. Gory details attached. A contributing factor may have been that I was slow in plugging in the USB cable into the USB hard drive (contact may have been made/broken/make/broken quickly once or twice as I was fumbling to connect the cable); note the BBB transfer errors before the crash. [ Out of curiosity, does usb have any kind of "debounce" delay when a connection is made? ] This is from FreeBSD-STABLE, cvsup'd as of Sunday, March 24, around 3AM PST. Local kernel changes are only: * DA_Q_NO_6_BYTE quirk entry in "da_quirk_table" for USB hard disk. * Ian Dowse's recent patch to fix laptop panic upon resume: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=832933+0+archive/2002/fre= ebsd-stable/20020324.freebsd-stable This is running on an old Dell Inspriron 7500 laptop. -- Darryl Okahata darrylo@soco.agilent.com DISCLAIMER: this message is the author's personal opinion and does not constitute the support, opinion, or policy of Agilent Technologies, or of the little green men that have been following him all day. ############################################################################### GNU gdb 4.18 Copyright 1998 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-unknown-freebsd"... IdlePTD at phsyical address 0x00427000 initial pcb at physical address 0x00374640 panicstr: page fault panic messages: --- Fatal trap 12: page fault while in kernel mode fault virtual address = 0x30 fault code = supervisor read, page not present instruction pointer = 0x8:0xc02675b1 stack pointer = 0x10:0xc0325b78 frame pointer = 0x10:0xc0325b94 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 = Idle interrupt mask = bio trap number = 12 panic: page fault syncing disks... Fatal trap 12: page fault while in kernel mode fault virtual address = 0x30 fault code = supervisor read, page not present instruction pointer = 0x8:0xc0243d38 stack pointer = 0x10:0xc03259a0 frame pointer = 0x10:0xc03259a8 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 = Idle interrupt mask = bio trap number = 12 panic: page fault Uptime: 2h16m10s dumping to dev #ad/0x30001, offset 782464 dump ata0: resetting devices .. done 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 --- #0 dumpsys () at ../../kern/kern_shutdown.c:487 487 if (dumping++) { (kgdb) set height 0 (kgdb) where #0 dumpsys () at ../../kern/kern_shutdown.c:487 #1 0xc01776c3 in boot (howto=260) at ../../kern/kern_shutdown.c:316 #2 0xc0177b01 in panic (fmt=0xc031ca6c "%s") at ../../kern/kern_shutdown.c:595 #3 0xc02c77d3 in trap_fatal (frame=0xc0325960, eva=48) at ../../i386/i386/trap.c:966 #4 0xc02c7481 in trap_pfault (frame=0xc0325960, usermode=0, eva=48) at ../../i386/i386/trap.c:859 #5 0xc02c6ffb in trap (frame={tf_fs = -1072103408, tf_es = 6815760, tf_ds = -1070465008, tf_edi = 0, tf_esi = -1056419840, tf_ebp = -1070442072, tf_isp = -1070442100, tf_ebx = -1070349412, tf_edx = 6864992, tf_ecx = -923158656, tf_eax = 0, tf_trapno = 12, tf_err = 0, tf_eip = -1071366856, tf_cs = 8, tf_eflags = 66054, tf_esp = -1056419840, tf_ss = -1056419840}) at ../../i386/i386/trap.c:458 #6 0xc0243d38 in acquire_lock (lk=0xc033c39c) at ../../ufs/ffs/ffs_softdep.c:266 #7 0xc0247e38 in softdep_update_inodeblock (ip=0xc1085000, bp=0xc3888a10, waitfor=0) at ../../ufs/ffs/ffs_softdep.c:3813 #8 0xc0242e6d in ffs_update (vp=0xc8f9b780, waitfor=0) at ../../ufs/ffs/ffs_inode.c:106 #9 0xc024b2aa in ffs_sync (mp=0xc101f800, waitfor=2, cred=0xc0b33880, p=0xc038efa0) at ../../ufs/ffs/ffs_vfsops.c:1022 #10 0xc01a71db in sync (p=0xc038efa0, uap=0x0) at ../../kern/vfs_syscalls.c:569 #11 0xc017745e in boot (howto=256) at ../../kern/kern_shutdown.c:235 #12 0xc0177b01 in panic (fmt=0xc031ca6c "%s") at ../../kern/kern_shutdown.c:595 #13 0xc02c77d3 in trap_fatal (frame=0xc0325b38, eva=48) at ../../i386/i386/trap.c:966 #14 0xc02c7481 in trap_pfault (frame=0xc0325b38, usermode=0, eva=48) at ../../i386/i386/trap.c:859 #15 0xc02c6ffb in trap (frame={tf_fs = 16, tf_es = 16, tf_ds = 16, tf_edi = -1055193600, tf_esi = 0, tf_ebp = -1070441580, tf_isp = -1070441628, tf_ebx = -1055193600, tf_edx = 0, tf_ecx = -1055193600, tf_eax = 0, tf_trapno = 12, tf_err = 0, tf_eip = -1071221327, tf_cs = 8, tf_eflags = 66118, tf_esp = -1055193600, tf_ss = 9}) at ../../i386/i386/trap.c:458 #16 0xc02675b1 in usbd_transfer (xfer=0xc11b0600) at ../../dev/usb/usbdi.c:285 #17 0xc0270807 in umass_setup_ctrl_transfer (sc=0xc10a5a00, udev=0xc119a9c0, req=0xc10a5a76, buffer=0x0, buflen=0, flags=0, xfer=0xc11b0600) at ../../dev/usb/umass.c:1061 #18 0xc0270879 in umass_clear_endpoint_stall (sc=0xc10a5a00, endpt=1, pipe=0xc11b0880, state=9, xfer=0xc11b0600) at ../../dev/usb/umass.c:1094 #19 0xc0270ec1 in umass_bbb_state (xfer=0xc11ba880, priv=0xc10a5a00, err=USBD_IOERROR) at ../../dev/usb/umass.c:1530 #20 0xc0267d2f in usb_transfer_complete (xfer=0xc11ba880) at ../../dev/usb/usbdi.c:839 #21 0xc0264b47 in uhci_idone (ii=0xc10f67e0) at ../../dev/usb/uhci.c:1159 #22 0xc0264a20 in uhci_check_intr (sc=0xc0fb0000, ii=0xc10f67e0) at ../../dev/usb/uhci.c:1053 #23 0xc026498b in uhci_intr (arg=0xc0fb0000) at ../../dev/usb/uhci.c:990 #24 0xc02d34a5 in intr_mux (arg=0xc0b2c700) at ../../i386/isa/intr_machdep.c:582 (kgdb) f 16 #16 0xc02675b1 in usbd_transfer (xfer=0xc11b0600) at ../../dev/usb/usbdi.c:285 285 err = pipe->methods->transfer(xfer); (kgdb) p pipe $1 = 0x0 (kgdb) p *xfer $2 = {pipe = 0x0, priv = 0xc10a5a00, buffer = 0x0, length = 0, actlen = 0, flags = 0, timeout = 5000, status = USBD_NOT_STARTED, callback = 0xc0270a68 , done = 0 '\000', request = { bmRequestType = 2 '\002', bRequest = 1 '\001', wValue = "\000", wIndex = "\001", wLength = "\000"}, frlengths = 0x0, nframes = 0, device = 0xc0fad100, dmabuf = 0x0, rqflags = 1, next = { stqe_next = 0xc11ba880}, hcpriv = 0x0, hcprivint = 0, timo_handle = { callout = 0x0}} (kgdb) up #17 0xc0270807 in umass_setup_ctrl_transfer (sc=0xc10a5a00, udev=0xc119a9c0, req=0xc10a5a76, buffer=0x0, buflen=0, flags=0, xfer=0xc11b0600) at ../../dev/usb/umass.c:1061 1061 err = usbd_transfer(xfer); (kgdb) p udev $3 = 0xc119a9c0 (kgdb) p *udev $4 = {bus = 0xc119ae80, default_pipe = 0x0, address = 153 '\231', config = 212 'Ô', depth = 10 '\n', lowspeed = 193 'Á', self_powered = 0 '\000', power = 0, langid = -11104, cookie = {cookie = 0}, powersrc = 0xc0b2ce60, def_ep = {edesc = 0x0, refcnt = -1057292288}, def_ep_desc = {bLength = 0 '\000', bDescriptorType = 126 '~', bEndpointAddress = 251 'û', bmAttributes = 192 'À', wMaxPacketSize = "\000?", bInterval = 20 '\024'}, ifaces = 0xc1143f00, ddesc = {bLength = 0 '\000', bDescriptorType = 0 '\000', bcdUSB = "\000", bDeviceClass = 112 'p', bDeviceSubClass = 100 'd', bDeviceProtocol = 15 '\017', bMaxPacketSize = 193 'Á', idVendor = "¸ü", idProduct = "\205Ã", bcdDevice = "\000", iManufacturer = 0 '\000', iProduct = 0 '\000', iSerialNumber = 192 'À', bNumConfigurations = 100 'd'}, cdesc = 0xc117bb38, quirks = 0xd000a, hub = 0x0, subdevs = 0xc114c23c} (kgdb) up #18 0xc0270879 in umass_clear_endpoint_stall (sc=0xc10a5a00, endpt=1, pipe=0xc11b0880, state=9, xfer=0xc11b0600) at ../../dev/usb/umass.c:1094 1094 umass_setup_ctrl_transfer(sc, udev, &sc->request, NULL, 0, 0, xfer); (kgdb) p *sc $5 = {sc_dev = 0xc106b300, sc_udev = 0xc11b0c80, flags = 1 '\001', drive = 1 '\001', quirks = 1 '\001', proto = 257, iface = 0xc119a880, ifaceno = 0, bulkin = 130 '\202', bulkout = 1 '\001', intrin = 0 '\000', bulkin_pipe = 0xc11b0e80, bulkout_pipe = 0xc11b0880, intrin_pipe = 0x0, reset = 0xc02708a8 , transfer = 0xc0270918 , state = 0xc0270a68 , transform = 0xc0271ba8 , cbw = { dCBWSignature = "USBC", dCBWTag = "\005\000\000", dCBWDataTransferLength = "$\000\000", bCBWFlags = 128 '\200', bCBWLUN = 0 '\000', bCDBLength = 6 '\006', CBWCDB = "\022\000\000\000$\000\000\000\000\000\000\000\000\000\000"}, csw = {dCSWSignature = "\000\000\000", dCSWTag = "\000\000\000", dCSWDataResidue = "\000\000\000", bCSWStatus = 0 '\000'}, cbl = '\000' , sbl = {common = {type = 0 '\000', value = 0 '\000'}, ufi = {asc = 0 '\000', ascq = 0 '\000'}}, request = { bmRequestType = 2 '\002', bRequest = 1 '\001', wValue = "\000", wIndex = "\001", wLength = "\000"}, transfer_xfer = {0xc0fb7e00, 0xc11b0800, 0xc10b2600, 0xc11c5700, 0xc10c3d00, 0xc11ba780, 0xc11b0680, 0xc11ba880, 0xc11b0600}, transfer_dir = 1, transfer_data = 0xc119ba84, transfer_datalen = 36, transfer_actlen = 0, transfer_cb = 0xc0271a00 , transfer_priv = 0xc11b3c00, transfer_status = 3, transfer_state = 9, cam_scsi_command = '\000' , cam_scsi_sense = { opcode = 3 '\003', byte2 = 0 '\000', unused = "\000", length = 0 '\000', control = 0 '\000'}, transfer_speed = 650, maxlun = 0} (kgdb) p sc->iface $6 = 0xc119a880 (kgdb) p *sc->iface $7 = {device = 0xc119a9c0, idesc = 0xc10ad489, index = 0, altindex = 0, endpoints = 0xc119a9c0, priv = 0x0, pipes = {lh_first = 0x0}} (kgdb) p udev $8 = 0xc119a9c0 (kgdb) p *udev $9 = {bus = 0xc119ae80, default_pipe = 0x0, address = 153 '\231', config = 212 'Ô', depth = 10 '\n', lowspeed = 193 'Á', self_powered = 0 '\000', power = 0, langid = -11104, cookie = {cookie = 0}, powersrc = 0xc0b2ce60, def_ep = {edesc = 0x0, refcnt = -1057292288}, def_ep_desc = {bLength = 0 '\000', bDescriptorType = 126 '~', bEndpointAddress = 251 'û', bmAttributes = 192 'À', wMaxPacketSize = "\000?", bInterval = 20 '\024'}, ifaces = 0xc1143f00, ddesc = {bLength = 0 '\000', bDescriptorType = 0 '\000', bcdUSB = "\000", bDeviceClass = 112 'p', bDeviceSubClass = 100 'd', bDeviceProtocol = 15 '\017', bMaxPacketSize = 193 'Á', idVendor = "¸ü", idProduct = "\205Ã", bcdDevice = "\000", iManufacturer = 0 '\000', iProduct = 0 '\000', iSerialNumber = 192 'À', bNumConfigurations = 100 'd'}, cdesc = 0xc117bb38, quirks = 0xd000a, hub = 0x0, subdevs = 0xc114c23c} (kgdb) p sc->request $10 = {bmRequestType = 2 '\002', bRequest = 1 '\001', wValue = "\000", wIndex = "\001", wLength = "\000"} (kgdb) quit ############################################################################### # dmesg ############################################################################### Copyright (c) 1992-2002 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 4.5-STABLE #1: Mon Mar 25 13:46:26 PST 2002 darrylo@zotz:/misc/usr/src/sys/compile/zotz Timecounter "i8254" frequency 1193182 Hz CPU: Pentium II/Pentium II Xeon/Celeron (466.67-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x66a Stepping = 10 Features=0x183f9ff real memory = 134152192 (131008K bytes) avail memory = 126435328 (123472K bytes) Preloaded elf kernel "kernel" at 0xc0408000. module_register_init: MOD_LOAD (vesa, c02d7cd8, 0) error 6 Pentium Pro MTRR support enabled md0: Malloc disk Using $PIR table, 7 entries at 0xc00fdf50 apm0: on motherboard apm: found APM BIOS v1.2, connected at v1.2 npx0: on motherboard npx0: INT 16 interface pcib0: on motherboard pci0: on pcib0 pcib1: at device 1.0 on pci0 pci1: on pcib1 pci1: at 0.0 irq 11 pci_cfgintr_linked: linked (60) to hard-routed irq 11 pci_cfgintr: 0:4 INTA routed to irq 11 pcic0: mem 0x44000000-0x44000fff irq 11 at device 4.0 on pci0 pcic0: TI12XX PCI Config Reg: [ring enable][speaker enable][pwr save][FUNC pci int + CSC serial isa irq] pccard0: on pcic0 pci_cfgintr_linked: linked (60) to hard-routed irq 11 pci_cfgintr: 0:4 INTA routed to irq 11 pcic1: mem 0x44001000-0x44001fff irq 11 at device 4.1 on pci0 pcic1: TI12XX PCI Config Reg: [ring enable][speaker enable][pwr save][FUNC pci int + CSC serial isa irq] pccard1: on pcic1 isab0: at device 7.0 on pci0 isa0: on isab0 atapci0: port 0x1050-0x105f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0: port 0x1060-0x107f irq 5 at device 7.2 on pci0 usb0: on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered chip1: port 0x1040-0x104f at device 7.3 on pci0 pcm0: port 0x1400-0x14ff irq 5 at device 8.0 on pci0 orm0: