[7798] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

SCSI CDROM problem freezes system

daemon@ATHENA.MIT.EDU (Paul W. Abrahams)
Tue Jan 4 12:04:43 2000

Message-ID: <38722243.7CB359B2@mbs.valinet.com>
Date:   Tue, 04 Jan 2000 11:39:31 -0500
From: "Paul W. Abrahams" <abrahams@mbs.valinet.com>
Reply-To: abrahams@acm.org
MIME-Version: 1.0
To: linux-scsi@vger.rutgers.edu
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I have a SCSI CDROM drive (NEC 466) that apparently had a dirty lens.
The result was that when I attempted to read from it, at some point my
system (SuSE Linux 6.2 with kernel 2.2.13) would freeze totally, with
both mouse and keyboard dead.  I was able to get this behavior, among
other ways, by logging in as root (not within X) and typing

      dd if=/dev/scd0 of=/dev/null

The drive light would flash for a little bit and then go out.  The
machine was then fully hung; even CapsLock had no effect (that's my
usual test for a hung keyboard).   Only a hard reboot would restart
it.   Interestingly, if I mounted the drive and then attempted to read
from it, I would encounter the same problem -- but then I would be
able to eject the disk, which normally I can't do with a mounted
drive.

I was able to get the drive running again by using a cleaning CDROM in
it, in audio mode.

So what's the problem, you may ask?

The problem is that although a malfunctioning drive certainly can't be
expected to yield data it can't read, the malfunction should not
freeze the system entirely; it should just produce some kind of error
message.  Fortunately I'm not running a system in a critical
environment; but if I was, this kind of misbehavior would be a serious
hazard.  What's needed, I think, is some kind of time-out test; if the
test times out, then the operation is cleanly aborted.

Paul Abrahams
abrahams@acm.org



-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.rutgers.edu

home help back first fref pref prev next nref lref last post