Date: Tue, 11 Sep 2012 20:40:42 GMT From: "Paul G Webster 'daemon'" <paul.g.webster@googlemail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/171557: rtorrent + ZFS 200% WCPU/kqread deadlock Message-ID: <201209112040.q8BKegWx001915@red.freebsd.org> Resent-Message-ID: <201209112050.q8BKo1wt018444@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 171557 >Category: ports >Synopsis: rtorrent + ZFS 200% WCPU/kqread deadlock >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Sep 11 20:50:01 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Paul G Webster 'daemon' >Release: 9.0-RELEASE >Organization: CloudCow >Environment: FreeBSD web.interflective.com 9.0-RELEASE-p3 FreeBSD 9.0-RELEASE-p3 #0: Mon Jun 18 10:38:19 UTC 2012 sysadmin@container.interflective.com:/usr/obj/usr/src/sys/KERN0 amd64 >Description: System spec: Supermicro 8/core, container# cat /var/run/dmesg.boot | grep -i cpu CPU: Intel(R) Xeon(R) CPU X3450 @ 2.67GHz (2666.72-MHz K8-class CPU) FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs container# cat /var/run/dmesg.boot | grep -i mem real memory = 17179869184 (16384 MB) avail memory = 16509493248 (15744 MB) Filesystem: ZFS (THIS IS IMPORTANT, This bug does not appear to occur on ufs!) rtorrent is compiled with default options as is libtorrent. upon entering the magnet: information and loading the torrent the following will occur: 92582 paul 3 21 0 61228K 9864K kqread 0 1:52 200.00% rtorrent rtorrent will be unresponsive for a time of 2-5 minutes, then will appear to be functioning correctly, the download begins. After a random time 2-3 minutes it will re enter a deadlock kqread/200% state and be unresponsive once again. In this state rtorrent will not function at all to any keyboard commands and kill -9 will be required to abort it, a standard kill will not be sufficient. I have also tried compiling libtorrent without KQREAD, it shows the same behavior. This issue is not isolated either, I have been speaking with others in the same boat on irc.freenode.net ##freebsd, they got around the problem by downgrading to the 8.x branch of rtorrent. >How-To-Repeat: install rtorrent & libtorrent on a ZFS based 9.0-release system and download anything. >Fix: Patch attached with submission follows: Copyright (c) 1992-2012 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-RELEASE-p3 #0: Mon Jun 18 10:38:19 UTC 2012 sysadmin@container.interflective.com:/usr/obj/usr/src/sys/KERN0 amd64 CPU: Intel(R) Xeon(R) CPU X3450 @ 2.67GHz (2666.72-MHz K8-class CPU) Origin = "GenuineIntel" Id = 0x106e5 Family = 6 Model = 1e Stepping = 5 Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> Features2=0x98e3fd<SSE3,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,POPCNT> AMD Features=0x28100800<SYSCALL,NX,RDTSCP,LM> AMD Features2=0x1<LAHF> TSC: P-state invariant, performance statistics real memory = 17179869184 (16384 MB) avail memory = 16509493248 (15744 MB) Event timer "LAPIC" quality 400 ACPI APIC Table: <052710 APIC1452> FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs FreeBSD/SMP: 1 package(s) x 4 core(s) x 2 SMT threads cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 cpu2 (AP): APIC ID: 2 cpu3 (AP): APIC ID: 3 cpu4 (AP): APIC ID: 4 cpu5 (AP): APIC ID: 5 cpu6 (AP): APIC ID: 6 cpu7 (AP): APIC ID: 7 ioapic0: Changing APIC ID to 8 ioapic0 <Version 2.0> irqs 0-23 on motherboard kbd1 at kbdmux0 acpi0: <SMCI > on motherboard acpi0: Power Button (fixed) Timecounter "ACPI-fast" frequency 3579545 Hz quality 900 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0 cpu0: <ACPI CPU> on acpi0 ACPI Warning: Incorrect checksum in table [OEMB] - 0xA2, should be 0x9F (20110527/tbutils-282) cpu1: <ACPI CPU> on acpi0 cpu2: <ACPI CPU> on acpi0 cpu3: <ACPI CPU> on acpi0 cpu4: <ACPI CPU> on acpi0 cpu5: <ACPI CPU> on acpi0 cpu6: <ACPI CPU> on acpi0 cpu7: <ACPI CPU> on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 pcib1: <ACPI PCI-PCI bridge> irq 16 at device 3.0 on pci0 pci1: <ACPI PCI bus> on pcib1 pci0: <base peripheral> at device 8.0 (no driver attached) pci0: <base peripheral> at device 8.1 (no driver attached) pci0: <base peripheral> at device 8.2 (no driver attached) pci0: <base peripheral> at device 8.3 (no driver attached) pci0: <base peripheral> at device 16.0 (no driver attached) pci0: <base peripheral> at device 16.1 (no driver attached) ehci0: <Intel PCH USB 2.0 controller USB-B> mem 0xfb4fc000-0xfb4fc3ff irq 21 at device 26.0 on pci0 usbus0: EHCI version 1.0 usbus0: <Intel PCH USB 2.0 controller USB-B> on ehci0 pcib2: <ACPI PCI-PCI bridge> irq 17 at device 28.0 on pci0 pci2: <ACPI PCI bus> on pcib2 pcib3: <ACPI PCI-PCI bridge> irq 17 at device 28.4 on pci0 pci3: <ACPI PCI bus> on pcib3 em0: <Intel(R) PRO/1000 Network Connection 7.2.3> port 0xdc00-0xdc1f mem 0xfb5e0000-0xfb5fffff,0xfb5dc000-0xfb5dffff irq 16 at device 0.0 on pci3 em0: Using MSIX interrupts with 3 vectors em0: Ethernet address: 00:25:90:35:49:e4 pcib4: <ACPI PCI-PCI bridge> irq 16 at device 28.5 on pci0 pci4: <ACPI PCI bus> on pcib4 em1: <Intel(R) PRO/1000 Network Connection 7.2.3> port 0xec00-0xec1f mem 0xfb6e0000-0xfb6fffff,0xfb6dc000-0xfb6dffff irq 17 at device 0.0 on pci4 em1: Using MSIX interrupts with 3 vectors em1: Ethernet address: 00:25:90:35:49:e5 ehci1: <Intel PCH USB 2.0 controller USB-A> mem 0xfb4fa000-0xfb4fa3ff irq 23 at device 29.0 on pci0 usbus1: EHCI version 1.0 usbus1: <Intel PCH USB 2.0 controller USB-A> on ehci1 pcib5: <ACPI PCI-PCI bridge> at device 30.0 on pci0 pci5: <ACPI PCI bus> on pcib5 vgapci0: <VGA-compatible display> mem 0xfa000000-0xfaffffff,0xfb7fc000-0xfb7fffff,0xfb800000-0xfbffffff irq 23 at device 3.0 on pci5 isab0: <PCI-ISA bridge> at device 31.0 on pci0 isa0: <ISA bus> on isab0 ahci0: <Intel 5 Series/3400 Series AHCI SATA controller> port 0xc400-0xc407,0xcc00-0xcc03,0xc880-0xc887,0xc800-0xc803,0xc480-0xc49f mem 0xfb4f8000-0xfb4f87ff irq 19 at device 31.2 on pci0 ahci0: AHCI v1.30 with 6 3Gbps ports, Port Multiplier not supported ahcich0: <AHCI channel> at channel 0 on ahci0 ahcich1: <AHCI channel> at channel 1 on ahci0 ahcich2: <AHCI channel> at channel 2 on ahci0 ahcich3: <AHCI channel> at channel 3 on ahci0 ahcich4: <AHCI channel> at channel 4 on ahci0 ahcich5: <AHCI channel> at channel 5 on ahci0 pci0: <serial bus, SMBus> at device 31.3 (no driver attached) acpi_button0: <Power Button> on acpi0 attimer0: <AT timer> port 0x40-0x43 irq 0 on acpi0 Timecounter "i8254" frequency 1193182 Hz quality 0 Event timer "i8254" frequency 1193182 Hz quality 100 atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0 Event timer "RTC" frequency 32768 Hz quality 0 uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0 uart2: <16550 or compatible> port 0x3e8-0x3ef irq 5 on acpi0 hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0 Timecounter "HPET" frequency 14318180 Hz quality 950 Event timer "HPET" frequency 14318180 Hz quality 550 orm0: <ISA Option ROM> at iomem 0xc0000-0xc7fff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] ppc0: cannot reserve I/O port range est0: <Enhanced SpeedStep Frequency Control> on cpu0 est: CPU supports Enhanced Speedstep, but is not recognized. est: cpu_vendor GenuineIntel, msr 14 device_attach: est0 attach returned 6 p4tcc0: <CPU Frequency Thermal Control> on cpu0 est1: <Enhanced SpeedStep Frequency Control> on cpu1 est: CPU supports Enhanced Speedstep, but is not recognized. est: cpu_vendor GenuineIntel, msr 14 device_attach: est1 attach returned 6 p4tcc1: <CPU Frequency Thermal Control> on cpu1 est2: <Enhanced SpeedStep Frequency Control> on cpu2 est: CPU supports Enhanced Speedstep, but is not recognized. est: cpu_vendor GenuineIntel, msr 14 device_attach: est2 attach returned 6 p4tcc2: <CPU Frequency Thermal Control> on cpu2 est3: <Enhanced SpeedStep Frequency Control> on cpu3 est: CPU supports Enhanced Speedstep, but is not recognized. est: cpu_vendor GenuineIntel, msr 14 device_attach: est3 attach returned 6 p4tcc3: <CPU Frequency Thermal Control> on cpu3 est4: <Enhanced SpeedStep Frequency Control> on cpu4 est: CPU supports Enhanced Speedstep, but is not recognized. est: cpu_vendor GenuineIntel, msr 14 device_attach: est4 attach returned 6 p4tcc4: <CPU Frequency Thermal Control> on cpu4 est5: <Enhanced SpeedStep Frequency Control> on cpu5 est: CPU supports Enhanced Speedstep, but is not recognized. est: cpu_vendor GenuineIntel, msr 14 device_attach: est5 attach returned 6 p4tcc5: <CPU Frequency Thermal Control> on cpu5 est6: <Enhanced SpeedStep Frequency Control> on cpu6 est: CPU supports Enhanced Speedstep, but is not recognized. est: cpu_vendor GenuineIntel, msr 14 device_attach: est6 attach returned 6 p4tcc6: <CPU Frequency Thermal Control> on cpu6 est7: <Enhanced SpeedStep Frequency Control> on cpu7 est: CPU supports Enhanced Speedstep, but is not recognized. est: cpu_vendor GenuineIntel, msr 14 device_attach: est7 attach returned 6 p4tcc7: <CPU Frequency Thermal Control> on cpu7 Timecounters tick every 1.000 msec usbus0: 480Mbps High Speed USB v2.0 usbus1: 480Mbps High Speed USB v2.0 ugen0.1: <Intel> at usbus0 uhub0: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0 ugen1.1: <Intel> at usbus1 uhub1: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1 ada0 at ahcich0 bus 0 scbus0 target 0 lun 0 ada0: <WDC WD3200AAKS-00F0A0 12.01B02> ATA-8 SATA 2.x device ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes) ada0: Command Queueing enabled ada0: 305245MB (625142448 512 byte sectors: 16H 63S/T 16383C) ada0: Previously was known as ad4 ada1 at ahcich1 bus 0 scbus1 target 0 lun 0 ada1: <WDC WD3200AAKS-00F0A0 12.01B02> ATA-8 SATA 2.x device ada1: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes) ada1: Command Queueing enabled ada1: 305245MB (625142448 512 byte sectors: 16H 63S/T 16383C) ada1: Previously was known as ad6 ada2 at ahcich2 bus 0 scbus2 target 0 lun 0 cd0 at ahcich5 bus 0 scbus5 target 0 lun 0 cd0: <TSSTcorp CDDVDW SN-S083F SB01> Removable CD-ROM SCSI-0 device cd0: 150.000MB/s transfers (SATA 1.x, UDMA5, ATAPI 12bytes, PIO 8192bytes) cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed ada2: <WDC WD5003ABYX-01WERA1 01.01S02> ATA-8 SATA 2.x device ada2: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes) ada2: Command Queueing enabled ada2: 476940MB (976773168 512 byte sectors: 16H 63S/T 16383C) ada2: Previously was known as ad8 ada3 at ahcich3 bus 0 scbus3 target 0 lun 0 ada3: <WDC WD5003ABYX-01WERA1 01.01S02> ATA-8 SATA 2.x device ada3: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes) ada3: Command Queueing enabled ada3: 476940MB (976773168 512 byte sectors: 16H 63S/T 16383C) ada3: Previously was known as ad10 SMP: AP CPU #1 Launched! SMP: AP CPU #6 Launched! SMP: AP CPU #7 Launched! SMP: AP CPU #3 Launched! SMP: AP CPU #4 Launched! SMP: AP CPU #2 Launched! SMP: AP CPU #5 Launched! GEOM_STRIPE: Device st0 created (id=1787956235). GEOM_STRIPE: Disk ada1 attached to st0. Root mount waiting for: usbus1 usbus0 uhub0: 2 ports with 2 removable, self powered uhub1: 2 ports with 2 removable, self powered Root mount waiting for: usbus1 usbus0 ugen0.2: <vendor 0x8087> at usbus0 uhub2: <vendor 0x8087 product 0x0020, class 9/0, rev 2.00/0.00, addr 2> on usbus0 ugen1.2: <vendor 0x8087> at usbus1 uhub3: <vendor 0x8087 product 0x0020, class 9/0, rev 2.00/0.00, addr 2> on usbus1 Root mount waiting for: usbus1 usbus0 uhub2: 6 ports with 6 removable, self powered uhub3: 8 ports with 8 removable, self powered Root mount waiting for: usbus1 usbus0 ugen0.3: <Winbond Electronics Corp> at usbus0 ums0: <Winbond Electronics Corp Hermon USB hidmouse Device, class 0/0, rev 1.10/0.01, addr 3> on usbus0 ums0: 3 buttons and [Z] coordinates ID=0 ukbd0: <Winbond Electronics Corp Hermon USB hidmouse Device, class 0/0, rev 1.10/0.01, addr 3> on usbus0 kbd2 at ukbd0 Root mount waiting for: usbus1 ugen1.3: <USB 2.0> at usbus1 umass0: <USB 2.0 Flash Disk, class 0/0, rev 2.00/1.00, addr 3> on usbus1 umass0: SCSI over Bulk-Only; quirks = 0x4100 umass0:6:0:-1: Attached to scbus6 da0 at umass-sim0 bus 0 scbus6 target 0 lun 0 da0: <USB 2.0 Flash Disk 5.00> Removable Direct Access SCSI-2 device da0: 40.000MB/s transfers da0: 7930MB (16240640 512 byte sectors: 255H 63S/T 1010C) Trying to mount root from ufs:/dev/da0p2 [rw]... ZFS filesystem version 5 ZFS storage pool version 28 GEOM_STRIPE: Disk ada1 removed from st0. GEOM_STRIPE: Device st0 destroyed. >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201209112040.q8BKegWx001915>