From owner-freebsd-bugs Thu May 13 10:10:23 1999 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 19E4915615 for ; Thu, 13 May 1999 10:10:01 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id KAA37854; Thu, 13 May 1999 10:10:01 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: by hub.freebsd.org (Postfix, from userid 32767) id B096414C47; Thu, 13 May 1999 10:04:58 -0700 (PDT) Message-Id: <19990513170458.B096414C47@hub.freebsd.org> Date: Thu, 13 May 1999 10:04:58 -0700 (PDT) From: cliff@steam.com To: freebsd-gnats-submit@freebsd.org X-Send-Pr-Version: www-1.0 Subject: kern/11692: 3.1-stable deadlock Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 11692 >Category: kern >Synopsis: 3.1-stable deadlock >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu May 13 10:10:00 PDT 1999 >Closed-Date: >Last-Modified: >Originator: Cliff Skolnick >Release: 3.1-stable, 3.2-beta >Organization: steam.com >Environment: FreeBSD lazlo.internal.steam.com 3.2-BETA FreeBSD 3.2-BETA #1: Wed May 12 22:00: 42 PDT 1999 >Description: Since commited patches fix 8416, this is a PR on it's own. My system is a PII 350 with 128MB of memory and 512MB swap, 3 SCSI buses (a 2940 and a 3940), an intel etherexpress 10/100, and a zynx 4 port 10/100 card. This problem started the begining of this month after an installworld and kernel update. This system had been running 3.1 since 3.1-release and 2.2.x since mid summer without a single crash, well except for that bad SCSI cable in september which was my fault. The problem does not occur until there is some paging activity. It also usually seems to happen when users with large mailboxes are writing to their mail spools. Usually there are 2-6 people reading mail on the machine at any given time, 15 active users in total. 20% of the users use PINE accessing the spool directly, 20% use pine but accessing the spool via IMAP, and 60% use IMAP only from other systems (at times also with a shell open on the system but not reading mail). It seems the first two pine categories are much more likely to cause the problem, but those users also are the ones with bigger spool files. The last deadlock was me running screen, pine, and compiling egcs. There was one other user logged into the system with an idle shell open, the other user was also reading mail via IMAP from netscape. This is not really a heavy load for this system, but with 128MB it will probably start to use swap at this point. The same machine runs: samba, active mounts - no tranfers in progress apache, no requests being served DNS, constant traffic, but not high volume sendmail, was attempting a few local and about 10 remote deliveries at the time. Procmail is used for local delivery. IMAP had two connections active, my pine session and the netscape session on a remote machine No X server is ever run on this machine, ssh, telnet and an occasional console login is how this machine is used. Routing, it's the router between a few very low use LANs and the firewall router. kernel config file and dmesg.boot follows: Copyright (c) 1992-1999 FreeBSD Inc. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. FreeBSD 3.2-BETA #1: Wed May 12 22:00:42 PDT 1999 cliff@lazlo.internal.steam.com:/usr/src/sys/compile/lazlo Timecounter "i8254" frequency 1193182 Hz CPU: Pentium II/Xeon/Celeron (350.80-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x651 Stepping=1 Features=0x183fbff> real memory = 134217728 (131072K bytes) avail memory = 127610880 (124620K bytes) Preloaded elf kernel "kernel" at 0xc02c7000. Probing for devices on PCI bus 0: chip0: rev 0x02 on pci0.0.0 chip1: rev 0x02 on pci0.1.0 chip2: rev 0x02 on pci0.7.0 chip3: rev 0x02 on pci0.7.3 ahc0: rev 0x01 int a irq 10 on pci0.16.0 ahc0: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs chip4: rev 0x01 on pci0.17.0 chip5: rev 0x02 on pci0.19.0 fxp0: rev 0x02 int a irq 10 on pci0.20 .0 fxp0: Ethernet address 00:a0:c9:8b:2e:60 Probing for devices on PCI bus 1: vga0: rev 0x5c on pci1.0.0 Probing for devices on PCI bus 2: ahc1: rev 0x00 int a irq 11 on pci2.4.0 ahc1: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs ahc2: rev 0x00 int a irq 9 on pci2.5.0 ahc2: aic7880 Wide Channel B, SCSI Id=7, 16/255 SCBs Probing for devices on PCI bus 3: de0: rev 0x22 int a irq 15 on pci3.4.0 de0: ZNYX ZX34X 21140A [10-100Mb/s] pass 2.2 de0: address 00:c0:95:e0:37:e8 de1: rev 0x22 int a irq 10 on pci3.5.0 de1: ZNYX ZX34X 21140A [10-100Mb/s] pass 2.2 de1: address 00:c0:95:e0:37:e9 de2: rev 0x22 int a irq 11 on pci3.6.0 de2: ZNYX ZX34X 21140A [10-100Mb/s] pass 2.2 de2: address 00:c0:95:e0:37:ea de3: rev 0x22 int a irq 9 on pci3.7.0 de3: ZNYX ZX34X 21140A [10-100Mb/s] pass 2.2 de3: address 00:c0:95:e0:37:eb Probing for devices on the ISA bus: sc0 on isa sc0: VGA color <16 virtual consoles, flags=0x0> atkbdc0 at 0x60-0x6f on motherboard atkbd0 irq 1 on isa psm0 not found sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa sio0: type 16550A sio1 at 0x2f8-0x2ff irq 3 on isa sio1: type 16550A fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa fdc0: FIFO enabled, 8 bytes threshold fd0: 1.44MB 3.5in ppc0 at 0x378 irq 7 on isa ppc0: Generic chipset (ECP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/8 bytes threshold plip0: on ppbus 0 vga0 at 0x3b0-0x3df maddr 0xa0000 msize 131072 on isa npx0 on motherboard npx0: INT 16 interface IP Filter: initialized. Default = pass all, Logging = enabled Waiting 5 seconds for SCSI devices to settle de0: enabling 100baseTX port de1: enabling 100baseTX port sa0 at ahc0 bus 0 target 4 lun 0 sa0: Removable Sequential Access SCSI-2 device sa0: 3.300MB/s transfers da0 at ahc0 bus 0 target 0 lun 0 da0: Fixed Direct Access SCSI-2 device da0: 20.000MB/s transfers (10.000MHz, offset 8, 16bit), Tagged Queueing Enabled da0: 2157MB (4419464 512 byte sectors: 255H 63S/T 275C) da1 at ahc1 bus 0 target 0 lun 0 da1: Fixed Direct Access SCSI-2 device da1: 20.000MB/s transfers (10.000MHz, offset 8, 16bit), Tagged Queueing Enabled da1: 4340MB (8888924 512 byte sectors: 255H 63S/T 553C) da3 at ahc2 bus 0 target 2 lun 0 da3: Fixed Direct Access SCSI-2 device da3: 20.000MB/s transfers (10.000MHz, offset 8, 16bit), Tagged Queueing Enabled da3: 8683MB (17783240 512 byte sectors: 255H 63S/T 1106C) da5 at ahc2 bus 0 target 4 lun 0 da5: Fixed Direct Access SCSI-2 device da5: 20.000MB/s transfers (10.000MHz, offset 8, 16bit), Tagged Queueing Enabled da5: 8683MB (17783240 512 byte sectors: 255H 63S/T 1106C) da4 at ahc2 bus 0 target 3 lun 0 da4: Fixed Direct Access SCSI-2 device da4: 20.000MB/s transfers (10.000MHz, offset 8, 16bit), Tagged Queueing Enabled da4: 8683MB (17783240 512 byte sectors: 255H 63S/T 1106C) da2 at ahc1 bus 0 target 1 lun 0 da2: Fixed Direct Access SCSI-2 device da2: 20.000MB/s transfers (10.000MHz, offset 8, 16bit), Tagged Queueing Enabled da2: 4340MB (8888924 512 byte sectors: 255H 63S/T 553C) changing root device to da0s1a cd0 at ahc0 bus 0 target 6 lun 0 cd0: Removable CD-ROM SCSI-2 device cd0: 10.000MB/s transfers (10.000MHz, offset 15) cd0: Attempt to query device size failed: NOT READY, Medium not present machine "i386" cpu "I686_CPU" ident GENERIC maxusers 64 options INET #InterNETworking options FFS #Berkeley Fast Filesystem options FFS_ROOT #FFS usable as root device [keep this!] options MFS #Memory Filesystem options MFS_ROOT #MFS usable as root device, "MFS" req'ed options NFS #Network Filesystem options NFS_ROOT #NFS usable as root device, "NFS" req'ed options MSDOSFS #MSDOS Filesystem options "CD9660" #ISO 9660 Filesystem options "CD9660_ROOT" #CD-ROM usable as root. "CD9660" req'ed options PROCFS #Process filesystem options "COMPAT_43" #Compatible with BSD 4.3 [KEEP THIS!] options SCSI_DELAY=5000 #Be pessimistic about Joe SCSI device options UCONSOLE #Allow users to grab the console options FAILSAFE #Be conservative #options USERCONFIG #boot -c editor #options VISUAL_USERCONFIG #visual boot -c editor options LKM options IPFILTER #kernel ipfilter support options IPFILTER_LOG #ipfilter logging options QUOTA #enable disk quotas # debugger stuff options DDB options DDB_UNATTENDED # do the panic thing, not just die config kernel root on da0 # To make an SMP kernel, the next two are needed #options SMP # Symmetric MultiProcessor Kernel #options APIC_IO # Symmetric (APIC) I/O # Optionally these may need tweaked, (defaults shown): #options NCPU=2 # number of CPUs #options NBUS=4 # number of busses #options NAPIC=1 # number of IO APICs #options NINTR=24 # number of INTs controller isa0 controller eisa0 controller pci0 controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 disk fd0 at fdc0 drive 0 disk fd1 at fdc0 drive 1 #options "CMD640" # work around CMD640 chip deficiency #controller wdc0 at isa? port "IO_WD1" bio irq 14 #disk wd0 at wdc0 drive 0 #disk wd1 at wdc0 drive 1 #controller wdc1 at isa? port "IO_WD2" bio irq 15 #disk wd2 at wdc1 drive 0 #disk wd3 at wdc1 drive 1 #options ATAPI #Enable ATAPI support for IDE bus #options ATAPI_STATIC #Don't do it as an LKM #device acd0 #IDE CD-ROM #device wfd0 #IDE Floppy (e.g. LS-120) # A single entry for any of these controllers (ncr, ahb, ahc) is # sufficient for any number of installed devices. #controller ncr0 #controller ahb0 controller ahc0 #controller isp0 # This controller offers a number of configuration options, too many to # document here - see the LINT file in this directory and look up the # dpt0 entry there for much fuller documentation on this. #controller dpt0 #controller adv0 at isa? port ? cam irq ? #controller adw0 #controller bt0 at isa? port ? cam irq ? #controller aha0 at isa? port ? cam irq ? controller scbus0 device da0 device sa0 device pass0 device cd0 #Only need one of these, the code dynamically grows #device wt0 at isa? port 0x300 bio irq 5 drq 1 #device mcd0 at isa? port 0x300 bio irq 10 #controller matcd0 at isa? port 0x230 bio #device scd0 at isa? port 0x230 bio # atkbdc0 controlls both the keyboard and the PS/2 mouse controller atkbdc0 at isa? port IO_KBD tty device atkbd0 at isa? tty irq 1 device psm0 at isa? tty irq 12 device vga0 at isa? port ? conflicts # splash screen/screen saver pseudo-device splash # syscons is the default console driver, resembling an SCO console device sc0 at isa? tty # Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver #device vt0 at isa? tty #options XSERVER # support for X server #options FAT_CURSOR # start with block cursor # If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines #options PCVT_SCANSET=2 # IBM keyboards are non-std device npx0 at isa? port IO_NPX irq 13 # # Laptop support (see LINT for more options) # device apm0 at isa? disable flags 0x31 # Advanced Power Management # PCCARD (PCMCIA) support #controller card0 #device pcic0 at card? #device pcic1 at card? device sio0 at isa? port "IO_COM1" flags 0x10 tty irq 4 device sio1 at isa? port "IO_COM2" tty irq 3 #device sio2 at isa? disable port "IO_COM3" tty irq 5 #device sio3 at isa? disable port "IO_COM4" tty irq 9 # Parallel port device ppc0 at isa? port? net irq 7 controller ppbus0 #device nlpt0 at ppbus? device plip0 at ppbus? #device ppi0 at ppbus? #controller vpo0 at ppbus? # Order is important here due to intrusive probes, do *not* alphabetize # this list of network interfaces until the probes have been fixed. # Right now it appears that the ie0 must be probed before ep0. See # revision 1.20 of this file. #device ax0 device de0 device fxp0 #device mx0 #device pn0 #device rl0 #device tl0 #device tx0 #device vr0 #device vx0 #device wb0 #device xl0 #device ed0 at isa? port 0x280 net irq 10 iomem 0xd8000 #device ie0 at isa? port 0x300 net irq 10 iomem 0xd0000 #device ep0 at isa? port 0x300 net irq 10 #device ex0 at isa? port? net irq? #device fe0 at isa? port 0x300 net irq ? #device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 #device lnc0 at isa? port 0x280 net irq 10 drq 0 #device ze0 at isa? port 0x300 net irq 10 iomem 0xd8000 #device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 #device cs0 at isa? port 0x300 net irq ? pseudo-device loop pseudo-device ether pseudo-device sl 2 pseudo-device ppp 2 pseudo-device tun 2 pseudo-device pty 64 pseudo-device gzip # Exec gzipped a.out's # KTRACE enables the system-call tracing facility ktrace(2). # This adds 4 KB bloat to your kernel, and slightly increases # the costs of each syscall. options KTRACE #kernel tracing # This provides support for System V shared memory and message queues. # options SYSVSHM options SYSVMSG options SYSVSEM # The `bpfilter' pseudo-device enables the Berkeley Packet Filter. Be # aware of the legal and administrative consequences of enabling this # option. The number of devices determines the maximum number of # simultaneous BPF clients programs runnable. pseudo-device bpfilter 16 #Berkeley packet filter # USB support #controller uhci0 #controller ohci0 #controller usb0 # # for the moment we have to specify the priorities of the device # drivers explicitly by the ordering in the list below. This will # be changed in the future. # #device ums0 #device ukbd0 #device ulpt0 #device uhub0 #device ucom0 #device umodem0 #device hid0 #device ugen0 # #options USB_DEBUG #options USBVERBOSE >How-To-Repeat: problem will usually deadlock the machine within 24 hours of use. >Fix: >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message