Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 May 1999 21:13:49 -0400 (EDT)
From:      Thomas David Rivers <rivers@dignus.com>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   kern/11969: VM_fault with mmap'd CDROM data.
Message-ID:  <199906010113.VAA00620@lakes.dignus.com>

next in thread | raw e-mail | index | archive | help

>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.



>How-To-Repeat:

  The easiest thing I've found for repeating this is to cut your
 own CD from a large file system.  Then, run the following shell
 script to compare all the files (<src> is the source directory
 of the written CD, /cdrom is where the CD-ROM is mounted):

	cd <src>
	for i in `find . -print`
	do
	   if test -f $i
	   then
		cmp $i /cdrom/$i
	   fi
	done

  Sometimes, you'll get a Segmentation Fault from cmp.  A cp(1)
 on the troublesome file will give you the error "Bad Address".

>Fix:
	
   ???

>Release-Note:
>Audit-Trail:
>Unformatted:


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?199906010113.VAA00620>