Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 May 1999 10:04:58 -0700 (PDT)
From:      cliff@steam.com
To:        freebsd-gnats-submit@freebsd.org
Subject:   kern/11692: 3.1-stable deadlock
Message-ID:  <19990513170458.B096414C47@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CM
OV,PAT,PSE36,MMX,<b24>>
real memory  = 134217728 (131072K bytes)
avail memory = 127610880 (124620K bytes)
Preloaded elf kernel "kernel" at 0xc02c7000.
Probing for devices on PCI bus 0:
chip0: <Intel 82443BX host to PCI bridge> rev 0x02 on pci0.0.0
chip1: <Intel 82443BX host to AGP bridge> rev 0x02 on pci0.1.0
chip2: <Intel 82371AB PCI to ISA bridge> rev 0x02 on pci0.7.0
chip3: <Intel 82371AB Power management controller> rev 0x02 on pci0.7.3
ahc0: <Adaptec 2940 Ultra SCSI adapter> rev 0x01 int a irq 10 on pci0.16.0
ahc0: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
chip4: <PCI to PCI bridge (vendor=1011 device=0024)> rev 0x01 on pci0.17.0
chip5: <PCI to PCI bridge (vendor=1011 device=0024)> rev 0x02 on pci0.19.0
fxp0: <Intel EtherExpress Pro 10/100B Ethernet> 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: <ATI model 4742 graphics accelerator> rev 0x5c on pci1.0.0
Probing for devices on PCI bus 2:
ahc1: <Adaptec 3940 Ultra SCSI host adapter> rev 0x00 int a irq 11 on pci2.4.0
ahc1: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
ahc2: <Adaptec 3940 Ultra SCSI host adapter> 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: <Digital 21140A Fast Ethernet> 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: <Digital 21140A Fast Ethernet> 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: <Digital 21140A Fast Ethernet> 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: <Digital 21140A Fast Ethernet> 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: <PLIP network interface> 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: <HP C1537A L708> Removable Sequential Access SCSI-2 device
sa0: 3.300MB/s transfers
da0 at ahc0 bus 0 target 0 lun 0
da0: <SEAGATE ST32272W 0784> 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: <SEAGATE ST34572W 0784> 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: <SEAGATE ST39173W 4290> 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: <SEAGATE ST39173W 4290> 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: <SEAGATE ST39173W 4290> 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: <SEAGATE ST34572W 0876> 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: <TOSHIBA CD-ROM XM-6201TA 1037> 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990513170458.B096414C47>