*BSD News Article 96673


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!munnari.OZ.AU!spool.mu.edu!uwm.edu!feeder.chicago.cic.net!chi-news.cic.net!mr.net!news.mr.net!news
From: Scott Fritchie <fritchie@mr.net>
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Occasionally evil: 2.2.1 + aic7880 + 2 x ahc2940?
Date: 01 Jun 1997 02:43:31 -0500
Organization: Minnesota Regional Network
Lines: 319
Sender: fritchie@data
Message-ID: <ytloh9qlqe4.fsf@mr.net>
NNTP-Posting-Host: data.mr.net
X-Newsreader: Gnus v5.3/Emacs 19.34
Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:42010

First I thought that it was one bad drive on the ahc0 controller, but
I'm *still* seeing panic-style instability after I yanked that drive.

Summary:
	single PPro-200, Intel "Natoma" Motherboard, 256MB RAM
	Intel EtherExpress Pro 10/100B (built-in)
	Adaptec aic7880 Ultra SCSI host adapter
		1 4GB Barracuda, 2 2GB Barracudas
	Two Adaptec 2940A Ultra SCSI host adapters
		Each have 3 4GB Barracudas
	(All of the 'Cudas are relatively-new, about 3 months old)

Before removing one of the 2GB 'Cudas (sd1), when I exercised all 6
drives on ahc1 and ahc2 using "dd", similar "dd" stress on sd1 would
cause "panic: Couldn't find busy SCB" panics within 30 seconds.  If I
exercised all 6 drives on hac1 and ahc2 and did the same thing to sd2,
no problem.  Reseating/replacing ahc0's cable, etc. didn't make a
difference.

So I removed sd1 and labelled it "Icky 'Cuda" for its trip back to the
factory ... But then further stress, this time 12 dd's on three drives
on ahc1 and ahc2 (I'm a glutton for punishment), caused the following:

	sd1(ahc0:2:0): SCB 0x2 - timed out in data out phase, SCSISIGI == 0x4
	SEQADDR == 0x126
	sd1(ahc0:2:0): abort message in message buffer
	sd1(ahc0:2:0): SCB 3 - Abort Completed
	panic: Couldn't find busy SCB
	ahc0: Unexpected bus free. LASTPHASE == 0xa0
	SEQADDR == 0x99
	sd1(ahc0:2:0): SCB 0x2 - timed out in data out phase, SCSISIGI == 0x0
	SEQADDR == 0x0

sd1, this time, was *idle*.  Well, OK, it held the cwd for each dd &
the shell which spawned them.  {sigh}  This was very unexpected.

The mailing list archives as www.freebsd.org seem to show
somewhat-similar problems with 2.2 and previous 2.x releases, but
little info on fixes or workarounds.  I'll include dmesg & kernel
config info following my .sig.

Since this box is supposed to be a Usenet News server and is
guaranteed to have its disks pounded into dust, any advice would be
greatly appreciated.

-Scott
---
Scott Lystig Fritchie, Network Engineer          MRNet Internet Services, Inc.
fritchie@mr.net, PGP key #152B8725               Minnesota Regional Network
v: 612/362.5820, p: 612/637.9547                 2829 University Ave SE
http://www.mr.net/~fritchie/                     Minneapolis, MN  55414

--- snip --- snip --- snip --- snip --- snip --- snip --- snip --- 

Copyright (c) 1992-1996 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California.  All rights reserved.

FreeBSD 2.2.1-RELEASE #0: Fri May 30 19:11:13 CDT 1997
    root@news3.mr.net:/usr/src/sys/compile/PPNEWS
CPU: Pentium Pro (199.90-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x619  Stepping=9
  Features=0xfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,<b11>,MTRR,PGE,MCA,CMOV>
real memory  = 268435456 (262144K bytes)
avail memory = 259964928 (253872K bytes)
Probing for devices on PCI bus 0:
chip0 <Intel 82440FX (Natoma) PCI and memory controller> rev 2 on pci0:0
fxp0 <Intel EtherExpress Pro 10/100B Ethernet> rev 1 int a irq 10 on pci0:10
fxp0: Ethernet address 00:a0:c9:06:aa:f8
ahc0 <Adaptec aic7880 Ultra SCSI host adapter> rev 0 int a irq 11 on pci0:13
ahc0: Using left over BIOS settings
ahc0: aic7880 Wide Channel, SCSI Id=7, 16 SCBs
ahc0 waiting for scsi devices to settle
(ahc0:0:0): "SEAGATE ST34371N 0484" type 0 fixed SCSI 2
sd0(ahc0:0:0): Direct-Access 4148MB (8496884 512 byte sectors)
(ahc0:2:0): "SEAGATE ST32171N 0280" type 0 fixed SCSI 2
sd1(ahc0:2:0): Direct-Access 2061MB (4222640 512 byte sectors)
ahc1 <Adaptec 2940A Ultra SCSI host adapter> rev 1 int a irq 9 on pci0:14
ahc1: aic7860 Single Channel, SCSI Id=7, 3 SCBs
ahc1 waiting for scsi devices to settle
(ahc1:0:0): "SEAGATE ST34371N 0484" type 0 fixed SCSI 2
sd2(ahc1:0:0): Direct-Access 4148MB (8496884 512 byte sectors)
(ahc1:1:0): "SEAGATE ST34371N 0484" type 0 fixed SCSI 2
sd3(ahc1:1:0): Direct-Access 4148MB (8496884 512 byte sectors)
(ahc1:2:0): "SEAGATE ST34371N 0484" type 0 fixed SCSI 2
sd4(ahc1:2:0): Direct-Access 4148MB (8496884 512 byte sectors)
ahc2 <Adaptec 2940A Ultra SCSI host adapter> rev 1 int a irq 11 on pci0:15
ahc2: aic7860 Single Channel, SCSI Id=7, 3 SCBs
ahc2 waiting for scsi devices to settle
(ahc2:0:0): "SEAGATE ST34371N 0484" type 0 fixed SCSI 2
sd5(ahc2:0:0): Direct-Access 4148MB (8496884 512 byte sectors)
(ahc2:1:0): "SEAGATE ST34371N 0484" type 0 fixed SCSI 2
sd6(ahc2:1:0): Direct-Access 4148MB (8496884 512 byte sectors)
(ahc2:2:0): "SEAGATE ST34371N 0484" type 0 fixed SCSI 2
sd7(ahc2:2:0): Direct-Access 4148MB (8496884 512 byte sectors)
chip1 <Intel 82371SB PCI-ISA bridge> rev 1 on pci0:18:0
chip2 <Intel 82371SB IDE interface> rev 0 on pci0:18:1
vga0 <VGA-compatible display device> rev 34 on pci0:20
Probing for devices on the ISA bus:
sc0 at 0x60-0x6f irq 1 on motherboard
sc0: VGA color <16 virtual consoles, flags=0x0>
ed0: disabled, not probed.
ed1: disabled, not probed.
fe0: disabled, not probed.
sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
sio2: disabled, not probed.
sio3: disabled, not probed.
lpt0 at 0x378-0x37f irq 7 on isa
lpt0: Interrupt-driven port
lp0: TCP/IP capable interface
lpt1: disabled, not probed.
mse0: disabled, not probed.
psm0: disabled, not probed.
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: NEC 72065B
fd0: 1.44MB 3.5in
wdc0 at 0x1f0-0x1f7 irq 14 on isa
wdc0: unit 0 (atapi): <CD-ROM CDU311/3.0j>, removable, accel, dma, iordis
wdc1: disabled, not probed.
bt0: disabled, not probed.
uha0: disabled, not probed.
aha0: disabled, not probed.
aic0: disabled, not probed.
nca0: disabled, not probed.
nca1: disabled, not probed.
sea0: disabled, not probed.
wt0: disabled, not probed.
mcd0: disabled, not probed.
matcdc0: disabled, not probed.
scd0: disabled, not probed.
ie0: disabled, not probed.
ep0 not found at 0x300
ex0: disabled, not probed.
ix0: disabled, not probed.
le0: disabled, not probed.
lnc0: disabled, not probed.
ze0: disabled, not probed.
zp0: disabled, not probed.
npx0 on motherboard
npx0: INT 16 interface
apm0: disabled, not probed.
changing root device to sd0a
ccd0-3: Concatenated disk drivers
WARNING: / was not properly dismounted.

--- snip --- snip --- snip --- snip --- snip --- snip --- snip --- 

news3.mr.net# cat /usr/src/sys/i386/conf/PPNEWS
#
# GENERIC -- Generic machine with WD/AHx/NCR/BTx family disks
#
# For more information read the handbook part System Administration -> 
# Configuring the FreeBSD Kernel -> The Configuration File. 
# The handbook is available in /usr/share/doc/handbook or online as
# latest version from the FreeBSD World Wide Web server 
# <URL:http://www.FreeBSD.ORG/>
#
# An exhaustive list of options and more detailed explanations of the 
# device lines is present in the ./LINT configuration file. If you are 
# in doubt as to the purpose or necessity of a line, check first in LINT.
#
#       $Id: GENERIC,v 1.77.2.4 1997/02/22 20:31:24 joerg Exp $

machine         "i386"
cpu             "I386_CPU"
cpu             "I486_CPU"
cpu             "I586_CPU"
cpu             "I686_CPU"
ident           PPNEWS
maxusers        128
# 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
options         "CHILD_MAX=128"
options         "OPEN_MAX=256"
options         "MAXMEM=262144"
# MAXDSIZ, DFLDSIZ, & NBUF necessary?  See Dejanews <5jj8jm$auf$1@news.gamma.ru>
# Damn, they don't fix the "bounce buffers out of range" boot error
options         "MAXDSIZ=(256*1024*1024)"
options         "DFLDSIZ=(256*1024*1024)"
options         "NBUF=6144"
# XXX options           BOUNCE_BUFFERS          #include support for DMA bounce buffers
pseudo-device   ccd     4

# options               MATH_EMULATE            #Support for x87 emulation
options         INET                    #InterNETworking
options         FFS                     #Berkeley Fast Filesystem
options         NFS                     #Network Filesystem
options         MSDOSFS                 #MSDOS Filesystem
options         "CD9660"                #ISO 9660 Filesystem
options         PROCFS                  #Process filesystem
options         "COMPAT_43"             #Compatible with BSD 4.3 [KEEP THIS!]
options         SCSI_DELAY=15           #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

configkernelroot on wd0

controller      isa0
controller      eisa0
controller      pci0

controller      fdc0    at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk            fd0     at fdc0 drive 0
disk            fd1     at fdc0 drive 1
tape            ft0     at fdc0 drive 2

controller      wdc0    at isa? port "IO_WD1" bio irq 14 vector wdintr
disk            wd0     at wdc0 drive 0
disk            wd1     at wdc0 drive 1

controller      wdc1    at isa? port "IO_WD2" bio irq 15 vector wdintr
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          wcd0    #IDE CD-ROM

# A single entry for any of these controllers (ncr, ahb, ahc, amd) is
# sufficient for any number of installed devices.
controller      ncr0
controller      amd0
controller      ahb0
controller      ahc0
controller      bt0     at isa? port "IO_BT0" bio irq ? vector bt_isa_intr
controller      uha0    at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr
controller      aha0    at isa? port "IO_AHA0" bio irq ? drq 5 vector ahaintr
controller      aic0    at isa? port 0x340 bio irq 11 vector aicintr
controller      nca0    at isa? port 0x1f88 bio irq 10 vector ncaintr
controller      nca1    at isa? port 0x350 bio irq 5 vector ncaintr
controller      sea0    at isa? bio irq 5 iomem 0xc8000 iosiz 0x2000 vector seaintr

controller      scbus0

device          sd0

device          od0     #See LINT for possible `od' options.

device          st0

device          cd0     #Only need one of these, the code dynamically grows

device          wt0     at isa? port 0x300 bio irq 5 drq 1 vector wtintr
device          mcd0    at isa? port 0x300 bio irq 10 vector mcdintr

controller      matcd0  at isa? port 0x230 bio

device          scd0    at isa? port 0x230 bio

# syscons is the default console driver, resembling an SCO console
device          sc0     at isa? port "IO_KBD" tty irq 1 vector scintr
# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device         vt0     at isa? port "IO_KBD" tty irq 1 vector pcrint
#options                PCVT_FREEBSD=210        # pcvt running on FreeBSD >= 2.0.5
#options                XSERVER                 # include code for XFree86
#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

# Mandatory, don't remove
device          npx0    at isa? port "IO_NPX" irq 13 vector npxintr

#
# Laptop support (see LINT for more options)
#
device          apm0    at isa? disable # Advanced Power Management
options         APM_BROKEN_STATCLOCK    # Workaround some buggy APM BIOS
# PCCARD (PCMCIA) support
#controller     crd0
#device         pcic0   at crd?
#device         pcic1   at crd?

device          sio0    at isa? port "IO_COM1" tty irq 4 vector siointr
device          sio1    at isa? port "IO_COM2" tty irq 3 vector siointr
device          sio2    at isa? disable port "IO_COM3" tty irq 5 vector siointr
device          sio3    at isa? disable port "IO_COM4" tty irq 9 vector siointr

device          lpt0    at isa? port? tty irq 7 vector lptintr
device          lpt1    at isa? port? tty
device          mse0    at isa? port 0x23c tty irq 5 vector mseintr

device          psm0    at isa? disable port "IO_KBD" conflicts tty irq 12 vector psmintr

# 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 de0
device fxp0
device vx0
 
device ed0 at isa? port 0x280 net irq  5 iomem 0xd8000 vector edintr
device ed1 at isa? port 0x300 net irq  5 iomem 0xd8000 vector edintr
device ie0 at isa? port 0x360 net irq  7 iomem 0xd0000 vector ieintr
device ep0 at isa? port 0x300 net irq 10 vector epintr
device ex0 at isa? port 0x300 net irq 10 iomem 0xd0000 vector exintr
device fe0 at isa? port 0x300 net irq ? vector feintr
device ix0 at isa? port 0x300 net irq 10 iomem 0xd0000 iosiz 32768 vector ixintr
device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr
device lnc0 at isa? port 0x280 net irq 10 drq 0 vector lncintr
device ze0 at isa? port 0x300 net irq 5 iomem 0xd8000 vector zeintr
device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr
 
pseudo-device   loop
pseudo-device   ether
pseudo-device   log
pseudo-device   sl      1
# ijppp uses tun instead of ppp device
#pseudo-device  ppp     1
pseudo-device   tun     1
pseudo-device   pty     16
pseudo-device   gzip            # Exec gzipped a.out's