Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Mar 2001 17:57:49 -0800 (PST)
From:      John Polstra <jdp@polstra.com>
To:        stable@freebsd.org
Subject:   Repeatable panic copying ATAPI audio CD to SCSI disk
Message-ID:  <XFMail.010311175749.jdp@polstra.com>

next in thread | raw e-mail | index | archive | help
With a 4.3-BETA kernel from today (and also with one from a month or
two ago) I can easily induce a panic by trying to copy an audio CD
from an ATAPI drive to a SCSI disk on an ahc controller using this
command:

    dd if=/dev/acd0c of=image1 bs=23520

I have no idea if this is a reasonable way to copy the image.  I never
tried it before today.  It shouldn't cause a panic, of course.

Using remote kgdb I got a stack trace:

Program received signal SIGTRAP, Trace/breakpoint trap.
Debugger (msg=0xc02c60a3 "panic") at ../../i386/i386/db_interface.c:319
319                 in_Debugger = 0;
(kgdb) where
#0  Debugger (msg=0xc02c60a3 "panic") at ../../i386/i386/db_interface.c:319
#1  0xc016eb7c in panic (fmt=0xc02bf2ea "for safety")
    at ../../kern/kern_shutdown.c:554
#2  0xc013e6d4 in ahc_handle_seqint (ahc=0xc0ec8800, intstat=113)
    at ../../dev/aic7xxx/aic7xxx.c:407
#3  0xc0148edd in ahc_platform_intr (arg=0xc0ec8800)
    at ../../dev/aic7xxx/aic7xxx_inline.h:472
#4  0xc02ab8c5 in intr_mux (arg=0xc072b760)
    at ../../i386/isa/intr_machdep.c:582
#5  0xc0282226 in atapi_read (request=0xc0ffcd00, length=23520)
    at machine/cpufunc.h:222
#6  0xc0281cc7 in atapi_interrupt (request=0xc0ffcd00)
    at ../../dev/ata/atapi-all.c:385
#7  0xc027b7e6 in ata_intr (data=0xc0ebed80) at ../../dev/ata/ata-all.c:1150

The panics always involve the ahc device interrupting in the middle of
an ata interrupt.  (Is that even supposed to happen, ever?)

The console prints this (copied by hand):

ahc1:A:2: ahc_intr - referenced scb not valid during seqint 0x71 scb(0)
ahc1: Dumping Card State at SEQADDR 0x18f
SCB count = 20
Kernel NEXTQSCB = 14
Card NEXTQSCB = 14
QINFIFO entries: 0
Waiting Queue entries:
Disconnected Queue entries: 5:14
QOUTFIFO entries:
Sequencer Free SCB List: 2 0 1 3 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
24 25 26 27 28 29 30 31
Pending list:
Kernel Free SCB list: 0 16 19 17 7 18 15 1 2 3 4 5 6 8 9 13 12 11 10
panic: for safety
Debugger("panic")

The ATAPI drive is a Plextor 1610A CD-RW, and I am running it in PIO
mode.  It also panics the same way in DMA mode.

The destination filesystem has soft-updates turned on.  I have never
seen any problems with this machine's SCSI subsystem.

The dmesg output and kernel config file are at the end of this mail.

John
--
  John Polstra                                               jdp@polstra.com
  John D. Polstra & Co., Inc.                        Seattle, Washington USA
  "Disappointment is a good sign of basic intelligence."  -- Chögyam Trungpa

Copyright (c) 1992-2001 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 4.3-BETA #6: Sun Mar 11 17:14:38 PST 2001
    jdp@vashon.polstra.com:/c/src/sys/compile/VASHON
Timecounter "i8254"  frequency 1193041 Hz
Timecounter "TSC"  frequency 400861711 Hz
CPU: Pentium II/Pentium II Xeon/Celeron (400.86-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,CMOV,PAT,
PSE36,MMX,FXSR>
real memory  = 134217728 (131072K bytes)
sio1: gdb debugging port
avail memory = 126648320 (123680K bytes)
Preloaded elf kernel "kernel.new" at 0xc03cb000.
Pentium Pro MTRR support enabled
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Intel 82443BX (440 BX) host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <Intel 82443BX (440 BX) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA Millennium II 2164WA-B AG graphics accelerator> at 0.0 irq 0
isab0: <Intel 82371AB PCI to ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 ATA33 controller> port 0xffa0-0xffaf at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
pci0: <Intel 82371AB/EB (PIIX4) USB controller> at 7.2
chip1: <Intel 82371AB Power management controller> port 0x440-0x44f at device 7.3 on
pci0
pcib2: <DEC 21152 PCI-PCI bridge> at device 16.0 on pci0
pci2: <PCI bus> on pcib2
fxp0: <Intel Pro 10/100B/100+ Ethernet> port 0xef40-0xef5f mem
0xfea00000-0xfeafffff,0xfd0ff000-0xfd0fffff irq 11 at device 17.
0 on pci0
fxp0: Ethernet address 00:e0:81:10:09:c2
ahc0: <Adaptec aic7895 Ultra SCSI adapter> port 0xe400-0xe4ff mem
0xfebfe000-0xfebfefff irq 10 at device 18.0 on pci0
aic7895C: Wide Channel A, SCSI Id=7, 32/255 SCBs
ahc1: <Adaptec aic7895 Ultra SCSI adapter> port 0xe800-0xe8ff mem
0xfebff000-0xfebfffff irq 10 at device 18.1 on pci0
aic7895C: Wide Channel B, SCSI Id=7, 32/255 SCBs
fxp1: <Intel Pro 10/100B/100+ Ethernet> port 0xef80-0xef9f mem
0xfe800000-0xfe8fffff,0xfd0fe000-0xfd0fefff irq 9 at device 20.0
 on pci0
fxp1: Ethernet address 00:a0:c9:b0:13:df
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 flags 0x80 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
plip0: <PLIP network interface> on ppbus0
sbc0: <Creative ViBRA16X> at port 0x220-0x22f,0x330-0x331,0x388-0x38b irq 5 drq 1,3
on isa0
pcm1: <SB16 DSP 4.16 (ViBRA16X)> on sbc0
IPsec: Initialized Security Association Processing.
acd0: CD-RW <PLEXTOR CD-R PX-W1610A> at ata0-master using PIO4
Waiting 2 seconds for SCSI devices to settle
Mounting root from ufs:/dev/da0s1a
da1 at ahc0 bus 0 target 1 lun 0
da1: <IBM DNES-309170W SA30> Fixed Direct Access SCSI-3 device 
da1: 40.000MB/s transfers (20.000MHz, offset 8, 16bit), Tagged Queueing Enabled
da1: 8748MB (17916240 512 byte sectors: 255H 63S/T 1115C)
da2 at ahc1 bus 0 target 2 lun 0
da2: <IBM DDRS-34560W S97B> Fixed Direct Access SCSI-2 device 
da2: 40.000MB/s transfers (20.000MHz, offset 8, 16bit), Tagged Queueing Enabled
da2: 4357MB (8925000 512 byte sectors: 255H 63S/T 555C)
da0 at ahc0 bus 0 target 0 lun 0
da0: <IBM DDRS-34560W S92A> Fixed Direct Access SCSI-2 device 
da0: 40.000MB/s transfers (20.000MHz, offset 8, 16bit), Tagged Queueing Enabled
da0: 4357MB (8925000 512 byte sectors: 255H 63S/T 555C)
WARNING: / was not properly dismounted


#
# VASHON config file.
#

machine         i386
cpu             I686_CPU
ident           VASHON
maxusers        128

options         CLK_USE_I8254_CALIBRATION
options         CLK_USE_TSC_CALIBRATION
options         COMPAT_43
options         USER_LDT                # used by WINE
options         SYSVSHM
options         SYSVSEM
options         SYSVMSG
options         DDB
# options               DDB_UNATTENDED
options         KTRACE                  #kernel tracing
options         UCONSOLE
options         INET                    #Internet communications protocols
options         INET6                   #IPv6
options         USERCONFIG              #boot -c editor
options         VISUAL_USERCONFIG       #visual boot -c editor

pseudo-device   bpf                     #Berkeley packet filter
pseudo-device   ether                   #Generic Ethernet
pseudo-device   loop                    #Network loopback device
pseudo-device   pty                     #Pseudo ttys - can go as high as 256
pseudo-device   snp             3       #Snoop device - to look at pty/vty/etc.
pseudo-device   tun                     #Tunnel driver (user process ppp)
pseudo-device   vn                      #Turns a file into a device

options         IPSEC
options         IPSEC_ESP
pseudo-device   gif             4

options         FFS                     #Fast filesystem
options         FFS_ROOT
options         SOFTUPDATES
options         MFS                     #Memory filesystem
options         NFS                     #Network File System
options         CD9660                  #ISO 9660 filesystem
options         EXT2FS
options         MSDOSFS                 #MS DOS File System
options         PROCFS                  #Process filesystem

options         NSWAPDEV=4

# For ntpd:
options         P1003_1B
options         _KPOSIX_PRIORITY_SCHEDULING

device          pci
device          fxp

device          ahc
options         AHC_ALLOW_MEMIO         #Memory-mapped I/O
device          ahc0
device          ahc1
device          scbus0 at ahc0          #base SCSI code
device          scbus1 at ahc1          #base SCSI code
device          da
device          da0 at scbus0 target 0 unit 0   #SCSI disks
device          da1 at scbus0 target 1 unit 0   #SCSI disks
device          da2 at scbus1 target 2 unit 0   #SCSI disks

device          sa                      #SCSI tapes
device          cd                      #SCSI CD-ROMs
device          pass                    #SCSI pass-thru device

device          isa
options         AUTO_EOI_1

# Keyboard, mouse, display.
device          atkbdc0 at isa? port IO_KBD
device          atkbd0  at atkbdc? irq 1 flags 0x1
device          psm0    at atkbdc? irq 12

device          vga0    at isa?

device          sc0     at isa? flags 0x100
pseudo-device   splash

device          npx0    at nexus? port IO_NPX irq 13

device          ata     # PCI device
device          ata0    at isa? port IO_WD1 irq 14
device          ata1    at isa? port IO_WD2 irq 15
device          atadisk
device          atapicd
#options        ATA_ENABLE_ATAPI_DMA

device          fdc0    at isa? port IO_FD1 irq 6 drq 2
device          fd0     at fdc0 drive 0

device          sio0    at isa? port IO_COM1 flags 0x10 irq 4
device          sio1    at isa? port IO_COM2 flags 0x80 irq 3

device          ppc0    at isa? irq 7
device          ppbus
device          plip

# Luigi's sound driver
device          pcm0    at isa? port? irq 10 drq 1


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




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