Date: Tue, 1 Jun 1999 09:10:03 -0700 (PDT) From: "Kenneth D. Merry" <ken@plutotech.com> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/11969: VM_fault with mmap'd CDROM data. Message-ID: <199906011610.JAA63235@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/11969; it has been noted by GNATS. From: "Kenneth D. Merry" <ken@plutotech.com> To: rivers@dignus.com Cc: FreeBSD-gnats-submit@FreeBSD.ORG Subject: Re: kern/11969: VM_fault with mmap'd CDROM data. Date: Tue, 1 Jun 1999 10:02:20 -0600 (MDT) Thomas David Rivers wrote... > > >Number: 11969 > >Category: kern > >Synopsis: VM_fault with mmap'd CDROM data. > >Confidential: no > >Severity: serious > >Priority: medium > >Responsible: freebsd-bugs > >State: open > >Quarter: > >Keywords: > >Date-Required: > >Class: sw-bug > >Submitter-Id: current-users > >Arrival-Date: Mon May 31 18:20:01 PDT 1999 > >Closed-Date: > >Last-Modified: > >Originator: Thomas David Rivers > >Release: FreeBSD 3.1-RELEASE i386 > >Organization: > Dignus, LLC > >Environment: > > FreeBSD lakes.dignus.com 3.1-RELEASE FreeBSD 3.1-RELEASE #0: Sat Mar 6 17:34:47 EST 1999 rivers@lakes.dignus.com:/usr/src/sys/compile/LAKES i386 > > Pentium 150 - 32 meg of memory, AHA2940 SCSI card, HP 6020i CDROM. > > > >Description: > > Sometimes, when using cmp(1) or cp(1) on data read from a CD, I > encounter the following: > > May 31 21:07:20 lakes su: rivers to root on /dev/ttyp2 > (cd0:ahc0:0:4:0): READ(10). CDB: 28 0 0 2 9b dc 0 0 1 0 > (cd0:ahc0:0:4:0): VOLUME OVERFLOW info:29bdc asc:aa,0 > (cd0:ahc0:0:4:0): Vendor Specific ASC > (cd0:ahc0:0:4:0): cddone: got error 0x5 back > vm_fault: pager read error, pid 388 (cmp) > May 31 21:07:33 lakes /kernel: pid 388 (cmp), uid 500: exited on signal 11 > > However, cat(1) will read the data just fine, and it seems to be > correct. > > I believe cmp(1) and cp(1) both mmap() the source files, whilc cat(1) > does not - does this imply mmap()ing CD-ROM data has a problem? > > Also - after encountering this, an umount of the CD-ROM will > panic and crash the system. The problem here may be two-fold. First, your CDROM drive is barfing on the read command above. I don't know why that's happening, especially since there's a vendor-specific ASC and ASCQ. If you can get the SCSI specs for that drive, you may be able to figure out what's going on. The second problem is that the upper level code may not be handling the error from the CD driver when it gets a bad block. For what it's worth, the CD driver doesn't handle the mmaping of the files on the filesystem. That's handled by the upper-level code somewhere. (You can tell I'm an expert on that code, can't you? :) If you can get a stack trace from the panic, someone might be interested in taking a look at it. Ken -- Kenneth Merry ken@plutotech.com 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?199906011610.JAA63235>