Date: Tue, 28 Oct 1997 12:39:48 -0800 From: Bill Trost <trost@cloud.rain.com> To: stable@freebsd.org Subject: aic0 hanging on tape access Message-ID: <m0xQIRh-0002VsC@jli.com>
next in thread | raw e-mail | index | archive | help
I have been seeing a problem with tape hangs on certain tape operations. To be specific: 1. OS was sup'ped to stable as of Oct 26 16:53 (from the timestamp on .../etc/cvsup/src-sys/checkouts.cvs:RELENG_2_2). 2. The tape drive probes as "ARCHIVE Python XXXXX-XXX 4.AF" type 1 removable SCSI 2. 3. The SCSI controller is an Adaptec 1515, which probes as aic0 at 0x340-0x35f irq 11 on isa. 4. Most tape operations (e.g., dump, restore, tar) work without problems. However the operation "dd bs=8k of=/dev/nrst0" with a single partial block of ASCII text on its stdin sometimes(?) causes the system to hang (no keyboard response, ctl-alt-F2 does nothing, I haven't tried ping). This has happened on a variety of different tapes, including a fresh-out-of-the-box one. 5. DDB (sorry, no GDB at the moment) usually says something like the following when interrupted: [break handling] --- int, eip = 0xf01c8fe0, esp = 0xf01e5f20, ebp = oxf01e5f58 --- _aic_dataout (f0428000, f06b5200, f06af60, 0, 0) at _aic_dataout+0x4f _aicintr(6, 80000000, 10, 10, 0) at _aicintr+0x6de [...] but sometimes it appears to be interrupted in the idle loop. I assume that the problem is actually somewhere else (how do I inspect the current interrupt mask from within ddb?). Any clues, suggestions as to where I should poke and prod, or kernel config options to help localize the problem? ("Buy a 2942", while it would fix my problem, won't help the driver any (-: ) Oh, kernel config follows: machine "i386" cpu "I486_CPU" cpu "I586_CPU" cpu "I686_CPU" ident GREY maxusers 8 options KTRACE options INET options MROUTING #multicast options FFS #Berkeley Fast Filesystem options NFS # maybe this will make amd work options LFS #log-structured options MFS #VM filesystem options "COMPAT_43" #Compatible with BSD 4.3 options "SCSI_DELAY=3" #Be pessimistic about Joe SCSI device options BOUNCE_BUFFERS #include support for DMA bounce buffers options "AUTO_EOI_1" #Supposedly makes interrupts faster, but breaks suspend on some laptops. options UCONSOLE #Allow users to grab the console options USERCONFIG #options FAILSAFE options DDB # options DDB_UNATTENDED # prevents ddb-on-panic #options __SGNXPRO__ # Sounds galaxy stuff -- why out? options SYSVSHM options SYSVSEM options SYSVMSG # WINE support options USER_LDT #allow user-level control of i386 ldt config kernel root on wd0 config sdkernel root on sd0 controller pci0 controller isa0 # floating point -- mandatory device npx0 at isa? port "IO_NPX" irq 13 vector npxintr 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 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 # Works with Adaptec 1515! controller aic0 at isa? port 0x340 bio irq 11 vector aicintr controller scbus0 device sd0 device st0 device cd0 #Only need one of these, the code dynamically grows # 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.1 #options XSERVER # include code for XFree86 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 joy0 at isa? port "IO_GAME" device lpt0 at isa? port? tty irq 7 vector lptintr 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 # Disable sb0 in case it is causing problems at irq 2. #controller snd0 # controls all sound devices #device sb0 at isa? port 0x220 irq 2 drq 1 vector sbintr # device sbxvi0 at isa? drq 5 # sb16 # device sbmidi0 at isa? port 0x330 pseudo-device loop pseudo-device ether pseudo-device log pseudo-device ppp 1 pseudo-device tun 2 pseudo-device bpfilter 6 #Berkeley packet filter pseudo-device disc # discard device pseudo-device pty 32 pseudo-device gzip # Exec gzipped a.out's pseudo-device ccd 2
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?m0xQIRh-0002VsC>