From owner-freebsd-arm@FreeBSD.ORG Sat Oct 29 22:50:08 2011 Return-Path: Delivered-To: freebsd-arm@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 32DE01065675 for ; Sat, 29 Oct 2011 22:50:08 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 0A4178FC1A for ; Sat, 29 Oct 2011 22:50:08 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p9TMo8Nc055901 for ; Sat, 29 Oct 2011 22:50:08 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p9TMo77L055900; Sat, 29 Oct 2011 22:50:08 GMT (envelope-from gnats) Resent-Date: Sat, 29 Oct 2011 22:50:08 GMT Resent-Message-Id: <201110292250.p9TMo77L055900@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-arm@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Jan Bramkamp Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D1441065670 for ; Sat, 29 Oct 2011 22:42:42 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22]) by mx1.freebsd.org (Postfix) with ESMTP id 7C4138FC14 for ; Sat, 29 Oct 2011 22:42:42 +0000 (UTC) Received: from red.freebsd.org (localhost [127.0.0.1]) by red.freebsd.org (8.14.4/8.14.4) with ESMTP id p9TMgfoa029022 for ; Sat, 29 Oct 2011 22:42:41 GMT (envelope-from nobody@red.freebsd.org) Received: (from nobody@localhost) by red.freebsd.org (8.14.4/8.14.4/Submit) id p9TMgf3J029021; Sat, 29 Oct 2011 22:42:41 GMT (envelope-from nobody) Message-Id: <201110292242.p9TMgf3J029021@red.freebsd.org> Date: Sat, 29 Oct 2011 22:42:41 GMT From: Jan Bramkamp To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: arm/162159: USB errors leading to panic on DockStar 9.0-RC1/arm X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 29 Oct 2011 22:50:08 -0000 >Number: 162159 >Category: arm >Synopsis: USB errors leading to panic on DockStar 9.0-RC1/arm >Confidential: no >Severity: critical >Priority: low >Responsible: freebsd-arm >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Oct 29 22:50:07 UTC 2011 >Closed-Date: >Last-Modified: >Originator: Jan Bramkamp >Release: 9.0-RC1 r226591 >Organization: >Environment: FreeBSD fb9ds.crest.dn42 9.0-RC1 FreeBSD 9.0-RC1 #5: Sat Oct 29 19:57:58 C EST 2011 root@t420.crest.dn42:/usr/obj/arm.arm/usr/src/sys/DOCKSTAR a rm >Description: FreeBSD 9.0-RC1 boots into Multiuser on DockStar. A few seconds of disk I/O on USB mass storage devices later "USB error: address decoding error (addr=$HEX)" floods the RS232 console. They are stop as soon as all disk I/O is stopped. syslogd turns this into a feedback loop. (Nearly?) each log write results in new log messages. A "portsnap fetch" is enough on a fresh installation triggered the panic below. console: fb9ds# portsnap fetch Looking up portsnap.FreeBSD.org mirrors... 5 mirrors found. Fetching snapshot tag from portsnap5.FreeBSD.org... done. Fetching snapshot metadata... done. Fetching snapshot generated at Sat Oct 29 00:11:11 UTC 2011: 0e7e93882dbe7d6994a5598cd1cb310ecc53958054d3df100% of 64 MB 778 kBps 00m00s Extracting snapshot... done. Verifying snapshot integrity... backtrace: db> bt Tracing pid 42848 tid 100070 td 0xc23ae000 kdb_enter() at kdb_enter+0x14 scp=0xc0a68174 rlv=0xc0a3da34 (panic+0xa0) rsp=0xc85129e0 rfp=0xc85129f4 r5=0xc0c4933c r4=0x00000100 panic() at panic+0x1c scp=0xc0a3d9b0 rlv=0xc0a75480 (turnstile_claim+0x204) rsp=0xc8512a08 rfp=0xc8512a20 turnstile_claim() at turnstile_claim+0x104 scp=0xc0a75380 rlv=0xc0a75608 (turnstile_wait+0x17c) rsp=0xc8512a24 rfp=0xc8512a48 r6=0xc182e2a0 r5=0xc23ae000 r4=0x00000000 turnstile_wait() at turnstile_wait+0x14 scp=0xc0a754a0 rlv=0xc0a30848 (_mtx_lock_sleep+0xbc) rsp=0xc8512a4c rfp=0xc8512a64 r10=0xc21a4990 r8=0x00000000 r7=0x00000000 r6=0xc23ae000 r5=0xc182e2a0 r4=0xc0d14780 _mtx_lock_sleep() at _mtx_lock_sleep+0x14 scp=0xc0a307a0 rlv=0xc0a30900 (_mtx_lock_flags+0x74) rsp=0xc8512a68 rfp=0xc8512a84 r6=0xc0d200c0 r5=0x00000000 r4=0x00000000 _mtx_lock_flags() at _mtx_lock_flags+0x10 scp=0xc0a3089c rlv=0xc0bd5a3c (vm_fault_hold+0x1548) rsp=0xc8512a88 rfp=0xc8512bb0 r6=0x0000029c r5=0x00000000 r4=0x0029c000 vm_fault_hold() at vm_fault_hold+0x10 scp=0xc0bd4504 rlv=0xc0bd6080 (vm_fault+0x38) rsp=0xc8512bb4 rfp=0xc8512bc8 r10=0x00000002 r9=0xc8512ef8 r8=0xc8512c70 r7=0xc23ae000 r6=0x20405000 r5=0x00000000 r4=0x00000002 vm_fault() at vm_fault+0x10 scp=0xc0bd6058 rlv=0xc0c02490 (data_abort_handler+0x1e8) rsp=0xc8512bcc rfp=0xc8512c6c r4=0xc23a3360 data_abort_handler() at data_abort_handler+0x10 scp=0xc0c022b8 rlv=0xc0bf4b38 (address_exception_entry+0x50) rsp=0xc8512c70 rfp=0x00000000 r10=0xc8512ef8 r9=0x00000000 r8=0x00000000 r7=0x00000000 r6=0x00000000 r5=0xffff1004 r4=0x656b614d dmesg.boot (after a reboot): KDB: debugger backends: ddb KDB: current backend: ddb Copyright (c) 1992-2011 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 9.0-RC1 #5: Sat Oct 29 19:57:58 CEST 2011 root@t420.crest.dn42:/usr/obj/arm.arm/usr/src/sys/DOCKSTAR arm CPU: Feroceon 88FR131 rev 1 (Marvell core) DC enabled IC enabled WB enabled EABT branch prediction enabled 16KB/32B 4-way Instruction cache 16KB/32B 4-way write-back-locking-C Data cache real memory = 134217728 (128 MB) avail memory = 125227008 (119 MB) SOC: Marvell 88F6281 rev A0, TClock 200MHz simplebus0: on fdtbus0 ic0: mem 0xf1020200-0xf102023b on simplebus0 timer0: mem 0xf1020300-0xf102032f irq 1 on simplebus0 Event timer "CPUTimer0" frequency 200000000 Hz quality 1000 Timecounter "CPUTimer1" frequency 200000000 Hz quality 1000 gpio0: mem 0xf1010100-0xf101011f irq 35,36,37,38,39,40,41 on simplebus0 rtc0: mem 0xf1010300-0xf1010307 on simplebus0 mge0: mem 0xf1072000-0xf1073fff irq 12,13,14,11,46 on simpl ebus0 mge0: Ethernet address: 02:50:43:91:f7:ea miibus0: on mge0 ukphy0: PHY 0 on miibus0 ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000b aseT-FDX, 1000baseT-FDX-master, auto uart0: <16550 or compatible> mem 0xf1012000-0xf101201f irq 33 on simplebus0 uart0: console (1056,n,8,1) uart1: <16550 or compatible> mem 0xf1012100-0xf101211f irq 34 on simplebus0 ehci0: mem 0xf1050000-0xf1050fff irq 48,19 on simplebus0 usbus0: EHCI version 1.0 usbus0: set host controller mode usbus0: on ehci0 cryptosoft0: on motherboard Timecounters tick every 1.000 msec IPsec: Initialized Security Association Processing. ipfw2 (+ipv6) initialized, divert enabled, nat loadable, rule-based forwarding enabled, default t o accept, logging disabled DUMMYNET 0 with IPv6 initialized (100409) load_dn_sched dn_sched FIFO loaded load_dn_sched dn_sched PRIO loaded load_dn_sched dn_sched QFQ loaded load_dn_sched dn_sched RR loaded load_dn_sched dn_sched WF2Q+ loaded usbus0: 480Mbps High Speed USB v2.0 Root mount waiting for: usbus0 ugen0.1: at usbus0 uhub0: on usbus0 uhub0: 1 port with 1 removable, self powered Root mount waiting for: usbus0 ugen0.2: at usbus0 uhub1: on usbus0 Root mount waiting for: usbus0 uhub1: 4 ports with 4 removable, self powered Root mount waiting for: usbus0 ugen0.3: at usbus0 umass0: on usbus0 da0 at umass-sim0 bus 0 scbus0 target 0 lun 0 da0: Removable Direct Access SCSI-0 device da0: 40.000MB/s transfers da0: 1912MB (3915776 512 byte sectors: 255H 63S/T 243C) ugen0.4: at usbus0 uaudio0: on usbus0 uaudio0: Play: 48000 Hz, 2 ch, 16-bit S-LE PCM format uaudio0: Record: 48000 Hz, 1 ch, 16-bit S-LE PCM format uaudio0: No midi sequencer pcm0: on uaudio0 Trying to mount root from ufs:/dev/ufs/root []... WARNING: / was not properly dismounted dmesg (problem reappears after a few seconds): USB error: address decoding error (addr=0x4190200) USB error: address decoding error (addr=0x4191000) USB error: address decoding error (addr=0x41981c0) USB error: address decoding error (addr=0x4199000) USB error: address decoding error (addr=0x41a0200) USB error: address decoding error (addr=0x41a1000) USB error: address decoding error (addr=0x41a8000) USB error: address decoding error (addr=0x41a9000) USB error: address decoding error (addr=0x41b0200) USB error: address decoding error (addr=0x41b1000) USB error: address decoding error (addr=0x41b8000) USB error: address decoding error (addr=0x41b9000) USB error: address decoding error (addr=0x41c0000) USB error: address decoding error (addr=0x41c1000) USB error: address decoding error (addr=0x41c8200) USB error: address decoding error (addr=0x41c9000) USB error: address decoding error (addr=0x41ca000) USB error: address decoding error (addr=0x41d11c0) USB error: address decoding error (addr=0x41d2000) USB error: address decoding error (addr=0x41d9100) USB error: address decoding error (addr=0x41c9000) USB error: address decoding error (addr=0x41c9000) ... more of the same format (/usr/src/sys/dev/usb/controller/ehci_mv.c kernel config: # # Custom kernel for Seagate DockStar (Marvell SheevaPlug based) devices. # # $FreeBSD: stable/9/sys/arm/conf/DOCKSTAR 224699 2011-08-07 20:16:46Z rmacklem $ # ident DOCKSTAR include "../mv/kirkwood/std.sheevaplug" options SOC_MV_KIRKWOOD makeoptions MODULES_OVERRIDE="" #makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols makeoptions WERROR="-Werror" options SCHED_4BSD #4BSD scheduler options INET #InterNETworking options INET6 #IPv6 communications protocols options FFS #Berkeley Fast Filesystem options NFSCL #New Network Filesystem Client options NFSLOCKD #Network Lock Manager options NFS_ROOT #NFS usable as /, requires NFSCL #options BOOTP #options BOOTP_NFSROOT #options BOOTP_NFSV3 #options BOOTP_COMPAT #options BOOTP_WIRED_TO=mge0 # Root fs on USB device options ROOTDEVNAME=\"ufs:/dev/ufs/root\" options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions options MUTEX_NOINLINE options RWLOCK_NOINLINE options NO_FFS_SNAPSHOT options NO_SWAPPING # Debugging options ALT_BREAK_TO_DEBUGGER options DDB options KDB # Pseudo devices device md device random device pty device loop # Serial ports device uart # Networking device ether device mge # Marvell Gigabit Ethernet controller device mii device bpf options HZ=1000 options DEVICE_POLLING device vlan # USB #options USB_DEBUG # enable debug msgs device usb device ehci device uhci device ohci device umass device scbus device pass device da # Flattened Device Tree options FDT options FDT_DTB_STATIC makeoptions FDT_DTS_FILE=dockstar.dts # Crypto device crypto options KGSSAPI # IPSec device enc options IPSEC options IPSEC_NAT_T # Disk Encryption options GEOM_ELI # IPFW support options IPFIREWALL options IPFIREWALL_DEFAULT_TO_ACCEPT options IPFIREWALL_FORWARD options IPFIREWALL_VERBOSE options IPFIREWALL_VERBOSE_LIMIT=100 options DUMMYNET options IPDIVERT # Partition support options GEOM_PART_BSD options GEOM_PART_GPT options GEOM_PART_MBR options GEOM_LABEL # UFS options UFS_ACL options UFS_DIRHASH options SOFTUPDATES # FAT support options MSDOSFS # Misc FSs options PROCFS options PSEUDOFS # Sound device sound device snd_uaudio >How-To-Repeat: cd /usr/src make buildworld buildkernel # tested on amd64 make buildworld buildkernel TARGET_ARCH=arm KERNCONF=DOCKSTAR gpart create -s mbr da0 # da0 is a umass dev gpart add -s 64M -t fat32 -i 1 && newfs_msdos -F 32 -L KERN da0s1 gpart add -t freebsd && newfs -jLroot mount -t msdosfs /dev/msdosfs/KERN # use jeff doozans u-boot to boot from fat32 cp /usr/obj/arm.arm/usr/src/sys/DOCKSTAR/kernel.bin /mnt umount /mnt mount /dev/ufs/root /mnt make installworld distribution TARGET_ARCH=arm DESTDIR=/mnt dd of=/mnt/etc/rc.conf <Fix: no known fix/workaround >Release-Note: >Audit-Trail: >Unformatted: >>EOF echo /dev/ufs/root / ufs rw,noatime,noclusterr,noclusterw 1 1 >/mnt/etc/fstab umount /mnt # insert usb stick/disk into dockstar, boot and start portsnap fetch extract.