Date: Tue, 8 Apr 2008 18:06:24 +1000 From: Aristedes Maniatis <ari@ish.com.au> To: FreeBSD Stable <freebsd-stable@freebsd.org> Cc: bzeeb+freebsd+lor@zabbadoz.net, Jurgen Weber <jurgen@ish.com.au> Subject: LOR sleepq/scrlock Message-ID: <77E81AD6-FBCC-4D30-A5CB-A9B918D4793F@ish.com.au>
next in thread | raw e-mail | index | archive | help
FreeBSD dash.ish.com.au 7.0-RELEASE FreeBSD 7.0-RELEASE #10 i386 with PAE (5Gb RAM) We've had fairly reproducible freezes. After several hours of stress testing or even overnight not doing anything, everything locks up including the console. We then installed a debugging kernel (without INVARIANTS since that prevented the kernel from compiling at all) and obtained this LOR when it froze: LOR: 1st 0x807d3d90 sleepq chain (sleepq chain) @/usr/src/sys/kern/ subr_sleepqueue.c:773 2nd 0x807c8110 scrlock (scrlock) @/usr/src/sys/dev/syscons/syscons.c: 2526 I have taken photographs of the KDB output following this but have not transcribed it until someone says that it will be useful to them. I could put it up as slightly fuzzy screen photographs on our web site. I am somewhat concerned about the combination of PAE (being slightly old technology now) and zfs (being cutting edge), not having a huge amount of testing against each other. However nothing in this lock seems to suggest zfs to me. The only unusual thing on this box is this: hw.physmem: 1063911424 actual memory is half that, but I thought this might be a side effect of PAE. Then, restarting the machine and it hit a couple of LOR errors in quick succession. I can't see any exact matches to http://sources.zabbadoz.net/freebsd/lor.html However the box boots normally after these LOR, so they may not be fatal and may not be related to the above, but just in case... lock order reversal: 1st 0x862f9204 inp (udpinp) @ /usr/src/sys/netinet/udp_usrreq.c:843 2nd 0x8081f498 PFil hook read/write mutex (PFil hook read/write mutex) @ /usr/src/sys/net/pfil.c:73 KDB: stack backtrace: db_trace_self_wrapper(807430c0,c3d639fc, 80438ff5,80744463,8081f498,...) at db_trace_self_wrapper+0x26 kdb_backtrace(80744463,8081f498,8074a8c5,8074a8c5,8074a8ad,...) at kdb_backtrace+0x29 witness_checkorder(8081f498,1,8074a8ad,49,807528d7,...) at witness_checkorder+0x5e5 _rw_rlock(8081f498,8074a8ad,49,0,c3d63ab8,...) at _rw_rlock+0x2a pfil_run_hooks(8081f480,c3d63ad8,83931800,2,862f9168,...) at pfil_run_hooks+0x35 ip_output(867ea700,0,c3d63a9c,0,0,...) at ip_output+0x86f udp_send(862f77bc,0,867ea700,83c91bb0,0,...) at udp_send+0x57b sosend_dgram(862f77bc,83c91bb0,c3d63bd4,867ea700,0,...) at sosend_dgram +0x356 sosend(862f77bc,83c91bb0,c3d63bd4,0,0,...) at sosend+0x3f kern_sendit(84cad660,1e,c3d63c58,0,0,...) at kern_sendit+0x106 sendit(0,1,c3d63c54,28,83c91c60,...) at sendit+0xb1 sendmsg(84cad660,c3d63cfc,c,84cad660,807845c0,...) at sendmsg+0x71 syscall(c3d63d38) at syscall+0x2b3 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (28, FreeBSD ELF32, sendmsg), eip = 0x2842415b, esp = 0x7f3fc7fc, ebp = 0x7f3fc818 --- lock order reversal: 1st 0x8082010c tcp (tcp) @ /usr/src/sys/netinet/tcp_input.c:400 2nd 0x8081f498 PFil hook read/write mutex (PFil hook read/write mutex) @ /usr/src/sys/net/pfil.c:73 KDB: stack backtrace: db_trace_self_wrapper(807430c0,c16039ec, 80438ff5,80744463,8081f498,...) at db_trace_self_wrapper+0x26 kdb_backtrace(80744463,8081f498,8074a8c5,8074a8c5,8074a8ad,...) at kdb_backtrace+0x29 witness_checkorder(8081f498,1,8074a8ad,49,807528d7,...) at witness_checkorder+0x5e5 _rw_rlock(8081f498,8074a8ad,49,0,c1603aa8,...) at _rw_rlock+0x2a pfil_run_hooks(8081f480,c1603ac8,83935000,2,0,...) at pfil_run_hooks +0x35 ip_output(8394ed00,0,c1603a8c, 0,0,0,80796f90,0,0,0,804b2971,80796f94,80796f9c,c8) at ip_output+0x86f tcp_respond(0,83984830,83984844,8394ed00,46ca580,...) at tcp_respond +0x395 tcp_dropwithreset(1,3,99e2,873e1dcb,1600,...) at tcp_dropwithreset+0x126 tcp_input(8394ed00,14,83935000,1,0,...) at tcp_input+0xcf9 ip_input(8394ed00,14e,800,83935000,800,...) at ip_input+0x64a netisr_dispatch(2,8394ed00,10,3,0,...) at netisr_dispatch+0x55 ether_demux(83935000,8394ed00,3,0,3,...) at ether_demux+0x1c1 ether_input(83935000,8394ed00,8072d03c,6a9,83922014,...) at ether_input +0x323 fxp_intr(83922000,0,8073e924,471,8384a764,...) at fxp_intr+0x237 ithread_loop(839219b0,c1603d38,8073e756,305,838fc804,...) at ithread_loop+0x145 fork_exit(803ee250,839219b0,c1603d38) at fork_exit+0x94 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc1603d70, ebp = 0 --- lock order reversal: 1st 0x86c5809c inp (tcpinp) @ /usr/src/sys/netinet/tcp_usrreq.c:470 2nd 0x8081f498 PFil hook read/write mutex (PFil hook read/write mutex) @ /usr/src/sys/net/pfil.c:73 KDB: stack backtrace: db_trace_self_wrapper (807430c0,c39d7a30,80438ff5,80744463,8081f498,...) at db_trace_self_wrapper+0x26 kdb_backtrace(80744463,8081f498,8074a8c5,8074a8c5,8074a8ad,...) at kdb_backtrace+0x29 witness_checkorder(8081f498,1,8074a8ad,49,807528d7,...) at witness_checkorder+0x5e5 _rw_rlock(8081f498,8074a8ad,49,0,c39d7aec,...) at _rw_rlock+0x2a pfil_run_hooks(8081f480,c39d7b0c,839d3400,2,86c58000,...) at pfil_run_hooks+0x35 ip_output(867ce300,0,c39d7ad0,0,0,...) at ip_output+0x86f tcp_output(86c59000,0,8074feb4,1d6,86c5809c,...) at tcp_output+0x12dc tcp_usr_connect(862f7ad4,86572bd0,83d5b000,25,c39d7c60,...) at tcp_usr_connect+0xf4 soconnect(862f7ad4,86572bd0,83d5b000,10,16,...) at soconnect+0x52 kern_connect(83d5b000,5a,86572bd0,86572bd0,282cd72c,...) at kern_connect+0x59 connect(83d5b000,c39d7cfc,c,80744e40,80784c50,...) at connect+0x46 syscall(c39d7d38) at syscall+0x2b3 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (98, FreeBSD ELF32, connect), eip = 0x2838a11b, esp = 0x7f7fda4c, ebp = 0x7f7fda68 --- dmesg: 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 7.0-RELEASE #10: Tue Apr 8 12:54:38 EST 2008 root@dash.ish.com.au:/usr/obj/usr/src/sys/PAE WARNING: WITNESS option enabled, expect reduced performance. Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel(R) XEON(TM) CPU 2.40GHz (2395.92-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf24 Stepping = 4 Features = 0x3febfbff < 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> Logical CPUs per core: 2 real memory = 1073741824 (1024 MB) avail memory = 1038790656 (990 MB) MPTable: < Kings Canyon> FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 cpu2 (AP): APIC ID: 6 cpu3 (AP): APIC ID: 7 WITNESS: spin lock intrcnt not in order list ioapic0: Assuming intbase of 0 ioapic1: Assuming intbase of 24 ioapic2: Assuming intbase of 48 ioapic0 <Version 2.0> irqs 0-23 on motherboard ioapic1 <Version 2.0> irqs 24-47 on motherboard ioapic2 <Version 2.0> irqs 48-71 on motherboard registered firmware set <isp_1040> registered firmware set <isp_1040_it> registered firmware set <isp_1080> registered firmware set <isp_1080_it> registered firmware set <isp_12160> registered firmware set <isp_12160_it> registered firmware set <isp_2100> registered firmware set <isp_2200> registered firmware set <isp_2300> registered firmware set <isp_2322> registered firmware set <isp_2400> kbd1 at kbdmux0 cryptosoft0: <software crypto> on motherboard cpu0 on motherboard cpu1 on motherboard cpu2 on motherboard cpu3 on motherboard pcib0: <MPTable Host-PCI bridge> pcibus 0 on motherboard pci0: <PCI bus> on pcib0 pci0: <unknown> at device 0.1 (no driver attached) pcib1: <PCI-PCI bridge> at device 2.0 on pci0 pci1: <PCI bus> on pcib1 pcib2: <MPTable PCI-PCI bridge> at device 29.0 on pci1 pci2: <PCI bus> on pcib2 pci2: <network, ethernet> at device 1.0 (no driver attached) pcib3: <MPTable PCI-PCI bridge> at device 31.0 on pci1 pci3: <PCI bus> on pcib3 ahc0: <Adaptec aic7899 Ultra160 SCSI adapter> port 0x4000-0x40ff mem 0xfc300000-0xfc300fff irq 28 at device 2.0 on pci3 ahc0: [ITHREAD] aic7899: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs ahc1: <Adaptec aic7899 Ultra160 SCSI adapter> port 0x4400-0x44ff mem 0xfc301000-0xfc301fff irq 29 at device 2.1 on pci3 ahc1: [ITHREAD] aic7899: Ultra160 Wide Channel B, SCSI Id=7, 32/253 SCBs em0: <Intel(R) PRO/1000 Network Connection Version - 6.7.3> port 0x4800-0x481f mem 0xfc340000-0xfc35ffff,0xfc320000-0xfc33ffff irq 31 at device 4.0 on pci3 em0: Ethernet address: 00:30:48:24:aa:6f em0: [FILTER] pci0: <serial bus, USB> at device 29.0 (no driver attached) pci0: <serial bus, USB> at device 29.1 (no driver attached) pci0: <serial bus, USB> at device 29.2 (no driver attached) pcib4: <MPTable PCI-PCI bridge> at device 30.0 on pci0 pci4: <PCI bus> on pcib4 vgapci0: <VGA-compatible display> port 0x5000-0x50ff mem 0xfd000000-0xfdffffff,0xfc400000-0xfc400fff irq 16 at device 1.0 on pci4 fxp0: <Intel 82550 Pro/100 Ethernet> port 0x5400-0x543f mem 0xfc401000-0xfc401fff,0xfc420000-0xfc43ffff irq 17 at device 2.0 on pci4 miibus0: <MII bus> on fxp0 inphy0: <i82555 10/100 media interface> PHY 1 on miibus0 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fxp0: Ethernet address: 00:30:48:24:aa:70 fxp0: [ITHREAD] isab0: <PCI-ISA bridge> at device 31.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel ICH3 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x2060-0x206f at device 31.1 on pci0 ata0: <ATA channel 0> on atapci0 ata0: [ITHREAD] ata1: <ATA channel 1> on atapci0 ata1: [ITHREAD] pci0: <serial bus, SMBus> at device 31.3 (no driver attached) pmtimer0 on isa0 orm0: <ISA Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xc8fff, 0xdc000-0xdffff,0xe0000-0xe3fff pnpid ORM0000 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] atkbd0: [ITHREAD] fdc0: <Enhanced floppy controller> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: [FILTER] fd0: <1440-KB 3.5" drive> on fdc0 drive 0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio0: [FILTER] sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A sio1: [FILTER] vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 unknown: <PNP0c02> can't assign resources (memory) unknown: <PNP0c01> can't assign resources (memory) unknown: <PNP0303> can't assign resources (port) unknown: <PNP0c02> can't assign resources (memory) unknown: <PNP0c02> can't assign resources (memory) unknown: <PNP0c02> can't assign resources (memory) unknown: <PNP0501> can't assign resources (port) unknown: <PNP0501> can't assign resources (port) unknown: <PNP0700> can't assign resources (port) WARNING: ZFS is considered to be an experimental feature in FreeBSD. Timecounters tick every 1.000 msec Fast IPsec: Initialized Security Association Processing. ZFS filesystem version 6 ZFS storage pool version 6 acd0: CDROM <MATSHITA CR-177/7T0D> at ata1-master UDMA33 Waiting 5 seconds for SCSI devices to settle ses0 at ahc0 bus 0 target 6 lun 0 ses0: <SDR GEM318 0> Fixed Processor SCSI-2 device ses0: 3.300MB/s transfers ses0: SAF-TE Compliant Device da0 at ahc0 bus 0 target 0 lun 0 da0: <FUJITSU MAW3073NC 0104> Fixed Direct Access SCSI-3 device da0: 160.000MB/s transfers (80.000MHz DT, offset 127, 16bit) da0: Command Queueing Enabled da0: 70136MB (143638992 512 byte sectors: 255H 63S/T 8941C) da1 at ahc0 bus 0 target 1 lun 0 da1: <FUJITSU MAW3073NC 0104> Fixed Direct Access SCSI-3 device da1: 160.000MB/s transfers (80.000MHz DT, offset 127, 16bit) da1: Command Queueing Enabled da1: 70136MB (143638992 512 byte sectors: 255H 63S/T 8941C) da2 at ahc0 bus 0 target 2 lun 0 da2: <FUJITSU MAP3367NC 0108> Fixed Direct Access SCSI-3 device da2: 160.000MB/s transfers (80.000MHz DT, offset 127, 16bit) da2: Command Queueing Enabled da2: 35046MB (71775284 512 byte sectors: 255H 63S/T 4467C) SMP: AP CPU #2 Launched! SMP: AP CPU #1 Launched! SMP: AP CPU #3 Launched! WARNING: WITNESS option enabled, expect reduced performance. Trying to mount root from zfs:tank/root WARNING: /mnt/otherhdd was not properly dismounted --------------------------> ish http://www.ish.com.au Level 1, 30 Wilson Street Newtown 2042 Australia phone +61 2 9550 5001 fax +61 2 9550 4001 GPG fingerprint CBFB 84B4 738D 4E87 5E5C 5EFA EF6A 7D2E 3E49 102A
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?77E81AD6-FBCC-4D30-A5CB-A9B918D4793F>