From owner-freebsd-current@FreeBSD.ORG Sun Apr 22 10:51:08 2007 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E5CA216A401; Sun, 22 Apr 2007 10:51:08 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.freebsd.org (Postfix) with ESMTP id EB35613C458; Sun, 22 Apr 2007 10:51:05 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from phobos.samsco.home (phobos.samsco.home [192.168.254.11]) (authenticated bits=0) by pooker.samsco.org (8.13.8/8.13.8) with ESMTP id l3MAp0oo074663; Sun, 22 Apr 2007 04:51:01 -0600 (MDT) (envelope-from scottl@samsco.org) Message-ID: <462B3E00.1070001@samsco.org> Date: Sun, 22 Apr 2007 04:50:40 -0600 From: Scott Long User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.2pre) Gecko/20070111 SeaMonkey/1.1 MIME-Version: 1.0 To: Ollivier Robert References: <20070422102834.GA39121@keltia.freenix.fr> In-Reply-To: <20070422102834.GA39121@keltia.freenix.fr> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (pooker.samsco.org [168.103.85.57]); Sun, 22 Apr 2007 04:51:01 -0600 (MDT) X-Spam-Status: No, score=-1.4 required=5.5 tests=ALL_TRUSTED autolearn=failed version=3.1.8 X-Spam-Checker-Version: SpamAssassin 3.1.8 (2007-02-13) on pooker.samsco.org Cc: freebsd-fs@freebsd.org, FreeBSD Current Users' list , pjd@freebsd.org Subject: Re: ZFS/UMA panic under Parallels 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: Sun, 22 Apr 2007 10:51:09 -0000 This is actually a problem with the ATA driver, not ZFS. I think people are also seeing it under VMWare. The ATA driver is misusing semaphores in a way that isn't reliable in the emulated environment. Scott Ollivier Robert wrote: > Hello, > > I'm running CURRENT inside a Parallels VM and I am getting regular panic > when writing to a ZFS raidz pool. UMA is complaining and panic(). > > It is rather easy to reproduce (cvs update, rsync all generates such > panics). Another interesing point is that it always occurs after > FLUSHCACHE TIMEOUT messages. > > The pool is made of 3 slices ad0s2 ad0s3 from the first virtual disk and > ad2s1 from a second virtual disk (to get 3 "disks" for raidz). > > Filesystem 1024-blocks Used Avail Capacity Mounted on > /dev/ad0s1a 9647558 2708134 6167620 31% / > devfs 1 1 0 100% /dev > tank/home 19787392 128 19787264 0% /home > tank 19787264 0 19787264 0% /tank > tank/usr 19902336 115072 19787264 1% /tank/usr > tank/usr/obj 19787264 0 19787264 0% /tank/usr/obj > tank/usr/ports 19796224 8960 19787264 0% /tank/usr/ports > tank/usr/ports/distfiles 19787264 0 19787264 0% /tank/usr/ports/distfiles > tank/usr/src 19983360 196096 19787264 1% /tank/usr/src > > ----- > GNU gdb 6.1.1 [FreeBSD] > Copyright 2004 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-marcel-freebsd". > > Unread portion of the kernel message buffer: > ad0: FAILURE - FLUSHCACHE timed out > ad2: FAILURE - FLUSHCACHE timed out > Slab at 0xc2b90f70, freei 18 = 0. > panic: Duplicate free of item 0xc2b90948 from zone 0xc1061780(g_bio) > > cpuid = 0 > KDB: enter: panic > panic: from debugger > cpuid = 0 > Uptime: 7m28s > Physical memory: 503 MB > Dumping 172 MB: 157 141 125 109 93 77 61 45 29 13 > > #0 doadump () at pcpu.h:172 > 172 __asm __volatile("movl %%fs:0,%0" : "=r" (td)); > (kgdb) where > #0 doadump () at pcpu.h:172 > #1 0xc0525a40 in boot (howto=260) at ../../../kern/kern_shutdown.c:409 > #2 0xc0525d4a in panic (fmt=0xc0680204 "from debugger") > at ../../../kern/kern_shutdown.c:563 > #3 0xc044a13e in db_panic (addr=-1068219313, have_addr=0, count=-1, > modif=0xdceb09e0 "") at ../../../ddb/db_command.c:433 > #4 0xc044a0d7 in db_command (last_cmdp=0xc0705f64, cmd_table=0x0) > at ../../../ddb/db_command.c:401 > #5 0xc044a192 in db_command_loop () at ../../../ddb/db_command.c:453 > #6 0xc044bddd in db_trap (type=3, code=0) at ../../../ddb/db_main.c:222 > #7 0xc0544728 in kdb_trap (type=3, code=0, tf=0xdceb0b78) > at ../../../kern/subr_kdb.c:502 > #8 0xc0658871 in trap (frame=0xdceb0b78) at ../../../i386/i386/trap.c:621 > #9 0xc064319b in calltrap () at ../../../i386/i386/exception.s:139 > #10 0xc054444f in kdb_enter (msg=0x12
) > at cpufunc.h:60 > #11 0xc0525cfc in panic ( > fmt=0xc06ac621 "Duplicate free of item %p from zone %p(%s)\n") > at ../../../kern/kern_shutdown.c:547 > #12 0xc06118f4 in uma_dbg_free (zone=0xc1061780, slab=0xc2b90f70, > item=0xc2b90948) at ../../../vm/uma_dbg.c:302 > #13 0xc06100f3 in uma_zfree_arg (zone=0xc1061780, item=0xc2b90948, udata=0x0) > at ../../../vm/uma_core.c:2261 > #14 0xc04f207b in g_destroy_bio (bp=0xc2b90948) at uma.h:305 > #15 0xc04f090a in g_disk_done (bp=0xc2b90948) at ../../../geom/geom_disk.c:209 > #16 0xc05736e0 in biodone (bp=0xc2b90948) at ../../../kern/vfs_bio.c:3006 > #17 0xc045f8c2 in ad_done (request=0xc2b7b480) > at ../../../dev/ata/ata-disk.c:304 > #18 0xc0464f50 in ata_completed (context=0xc2b7b480, dummy=0) > at ../../../dev/ata/ata-queue.c:479 > #19 0xc054bd0c in taskqueue_run (queue=0xc2a0a080) > at ../../../kern/subr_taskqueue.c:255 > #20 0xc054bea2 in taskqueue_swi_run (dummy=0x0) > at ../../../kern/subr_taskqueue.c:297 > #21 0xc0510f19 in ithread_execute_handlers (p=0xc299e240, ie=0xc2a0a000) > at ../../../kern/kern_intr.c:682 > #22 0xc0511047 in ithread_loop (arg=0xc2a12010) > at ../../../kern/kern_intr.c:766 > #23 0xc0510018 in fork_exit (callout=0xc0510fe0 , > arg=0xc2a12010, frame=0xdceb0d38) at ../../../kern/kern_fork.c:814 > #24 0xc0643210 in fork_trampoline () at ../../../i386/i386/exception.s:205 > ----- > > dmesg > ----- > Copyright (c) 1992-2007 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 7.0-CURRENT #0: Sun Apr 22 11:05:32 CEST 2007 > roberto@vm1.keltia.net:/usr/osrc/sys/i386/compile/VM7 > Timecounter "i8254" frequency 1193182 Hz quality 0 > CPU: Intel(R) Core(TM)2 CPU T7600 @ 2.33GHz (1524.50-MHz 686-class CPU) > Origin = "GenuineIntel" Id = 0x6f6 Stepping = 6 > Features=0xf80b9b9 > Features2=0x1 > real memory = 536870912 (512 MB) > avail memory = 515600384 (491 MB) > kbd1 at kbdmux0 > cpu0 on motherboard > pcib0: pcibus 0 on motherboard > pir0: on motherboard > pci0: on pcib0 > vgapci0: port 0x4000-0x40ff,0x4400-0x441f mem 0xc0000000-0xc0ffffff at device 2.0 on pci0 > pci0: at device 3.0 (no driver attached) > ed0: port 0x4c00-0x4c1f irq 10 at device 5.0 on pci0 > ed0: [ITHREAD] > ed0: using obsoleted if_watchdog interface > ed0: Ethernet address: 00:ee:42:8a:ed:eb > uhci0: port 0x5000-0x501f irq 11 at device 29.0 on pci0 > uhci0: [GIANT-LOCKED] > uhci0: [ITHREAD] > usb0: on uhci0 > usb0: USB revision 1.0 > uhub0: on usb0 > uhub0: 2 ports with 2 removable, self powered > ehci0: mem 0xc1000000-0xc10003ff irq 9 at device 29.7 on pci0 > ehci0: [GIANT-LOCKED] > ehci0: [ITHREAD] > usb1: EHCI version 1.0 > usb1: wrong number of companions (0 != 1) > usb1: on ehci0 > usb1: USB revision 2.0 > uhub1: on usb1 > uhub1: 8 ports with 8 removable, self powered > agp0: on hostb0 > isab0: at device 31.0 on pci0 > isa0: on isab0 > atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x6c00-0x6c0f at device 31.1 on pci0 > ata0: on atapci0 > ata0: [ITHREAD] > ata1: on atapci0 > ata1: [ITHREAD] > pci0: at device 31.5 (no driver attached) > pmtimer0 on isa0 > orm0: at iomem 0xc0000-0xc9fff pnpid ORM0000 on isa0 > sc0: at flags 0x100 on isa0 > sc0: VGA <16 virtual consoles, flags=0x300> > vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 > atkbdc0: at port 0x60,0x64 on isa0 > atkbd0: irq 1 on atkbdc0 > kbd0 at atkbd0 > atkbd0: [GIANT-LOCKED] > atkbd0: [ITHREAD] > psm0: irq 12 on atkbdc0 > psm0: [GIANT-LOCKED] > psm0: [ITHREAD] > psm0: model IntelliMouse Explorer, device ID 4 > sio0: configured irq 4 not in bitmap of probed irqs 0 > sio0: port may not be enabled > sio0: configured irq 4 not in bitmap of probed irqs 0 > sio0: port may not be enabled > sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 > sio0: type 8250 or not responding > sio0: [FILTER] > sio1: configured irq 3 not in bitmap of probed irqs 0 > sio1: port may not be enabled > Timecounter "TSC" frequency 1524502532 Hz quality 800 > Timecounters tick every 1.000 msec > ad0: 32000MB at ata0-master UDMA100 > acd0: CDROM at ata0-slave PIO4 > ad2: 10000MB at ata1-master UDMA100 > WARNING: ZFS is considered to be an experimental feature in FreeBSD. > Trying to mount root from ufs:/dev/ad0s1a > ZFS filesystem version 6 > ZFS storage pool version 6 > ----- > > VM7 > ----- > # > # VM7 -- Generic kernel configuration file for FreeBSD/i386 > # > # $FreeBSD: src/sys/i386/conf/GENERIC,v 1.460 2006/12/13 03:41:47 yongari Exp $ > > cpu I686_CPU > ident VM7 > > > makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols > > options SCHED_4BSD # 4BSD scheduler > options PREEMPTION # Enable kernel thread preemption > options INET # InterNETworking > options INET6 # IPv6 communications protocols > options FFS # Berkeley Fast Filesystem > options SOFTUPDATES # Enable FFS soft updates support > options UFS_ACL # Support for access control lists > options UFS_DIRHASH # Improve performance on big directories > options COMPAT_43TTY # BSD 4.3 TTY compat [KEEP THIS!] > options COMPAT_FREEBSD4 # Compatible with FreeBSD4 > options COMPAT_FREEBSD5 # Compatible with FreeBSD5 > options COMPAT_FREEBSD6 # Compatible with FreeBSD6 > options KTRACE # ktrace(1) support > options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions > options KBD_INSTALL_CDEV # install a CDEV entry in /dev > options ADAPTIVE_GIANT # Giant mutex is adaptive. > options STOP_NMI # Stop CPUS using NMI instead of IPI > > # Debugging for use in -current > options KDB # Enable kernel debugger support. > options DDB # Support DDB. > options INVARIANTS # Enable calls of extra sanity checking > options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS > > # To make an SMP kernel, the next two lines are needed > options SMP # Symmetric MultiProcessor Kernel > device apic # I/O APIC > > # Bus support. > device pci > > # Floppy drives > device fdc > > # ATA and ATAPI devices > device ata > device atadisk # ATA disk drives > device ataraid # ATA RAID drives > device atapicd # ATAPI CDROM drives > options ATA_STATIC_ID # Static device numbering > > # SCSI peripherals > device scbus # SCSI bus (required for SCSI) > device da # Direct Access (disks) > device cd # CD > device pass # Passthrough device (direct SCSI access) > > # atkbdc0 controls both the keyboard and the PS/2 mouse > device atkbdc # AT keyboard controller > device atkbd # AT keyboard > device psm # PS/2 mouse > > device kbdmux # keyboard multiplexer > > device vga # VGA video card driver > > device splash # Splash screen and screen saver support > > # syscons is the default console driver, resembling an SCO console > device sc > > device agp # support several AGP chipsets > > # Power management support (see NOTES for more options) > #device apm > # Add suspend/resume support for the i8254. > device pmtimer > > # Serial (COM) ports > device sio # 8250, 16[45]50 based serial ports > device uart # Generic UART driver > > # PCI Ethernet NICs. > device de # DEC/Intel DC21x4x (``Tulip'') > device em # Intel PRO/1000 adapter Gigabit Ethernet Card > device ixgb # Intel PRO/10GbE Ethernet Card > device le # AMD Am7900 LANCE and Am79C9xx PCnet > device txp # 3Com 3cR990 (``Typhoon'') > device vx # 3Com 3c590, 3c595 (``Vortex'') > > # PCI Ethernet NICs that use the common MII bus controller code. > # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! > device miibus # MII bus support > device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards > > device loop # Network loopback > device random # Entropy device > device ether # Ethernet support > device tun # Packet tunnel. > device pty # Pseudo-ttys (telnet etc) > > # The `bpf' device enables the Berkeley Packet Filter. > # Be aware of the administrative consequences of enabling this! > # Note that 'bpf' is required for DHCP. > device bpf # Berkeley packet filter > > # USB support > device uhci # UHCI PCI->USB interface > device ohci # OHCI PCI->USB interface > device ehci # EHCI PCI->USB interface (USB 2.0) > device usb # USB Bus (required) > device ugen # Generic > device ukbd # Keyboard > device umass # Disks/Mass storage - Requires scbus and da > device ums # Mouse > > # FireWire support > device firewire # FireWire bus code > device sbp # SCSI over FireWire (Requires scbus and da) > device fwe # Ethernet over FireWire (non-standard!) > -----