Subject: Re: ogle
To: None <tech-pkg@NetBSD.org, tech-kern@NetBSD.org>
From: Patrick Welche <prlw1@newn.cam.ac.uk>
List: tech-pkg
Date: 07/18/2003 16:17:49
On Fri, Jul 18, 2003 at 04:00:20PM +0200, Thomas Klausner wrote:
> Hi!
> 
> Watching DVDs with ogle under current seems broken,
> but I'm not exactly sure which part to blame.
> 
> All DVDs I tried stop playing at some particular point,
> always the same point for each DVD, with:
> #!FATAL[ogle_mpeg_ps]: dvdreadblocks failed
> 
> I'm currently running 1.6R from April 22,
> and I tried downgrading libdvdcss, libdvdread, and
> ogle to versions from January (1.2.4, 0.9.3, and
> 0.8.5nb1 respectively, compiled against April 22
> userland), but it still happens there.
> 
> I think it worked in 1.6L (January 9) with the
> package versions mentioned above, but I'm not sure.
> 
> I can't boot the 1.6R userland with older kernels
> to test, though, since it 1.6F and 1.6O for example
> both die with:
> warning: lookup /dev/console: error 20
> exec /sbin/init: error 20
> exec /sbin/oinit: error 20
> exec /sbin/init.bak: error 20
> init: not found
> panic: no init
> 
> Even when I replace /sbin/init with /rescue/init.
> Errno 20 is ENOTDIR, so I'm a bit confused.
> I didn't change my root filesystem in the last 7 months.
> 
> Any clues?


Yes - I had to comment out

    /*
     * Do bounds checking, adjust transfer. if error, process.
     * If end of partition, just return.
     */
    if (CDPART(bp->b_dev) == RAW_PART) {
        if (bounds_check_with_mediasize(bp, DEV_BSIZE,
            cd->params.disksize512) <= 0)
            goto done;
    } else {
        if (bounds_check_with_label(&cd->sc_dk, bp,
            (cd->flags & (CDF_WLABEL|CDF_LABELLING)) != 0) <= 0)
            goto done;
    }

from /sys/dev/scsipi/cd.c to get it work: the bounds are never read in!
I don't have the laptop I did this on anymore, but it should be in the
mail archives - I was wondering about EINVAL on read at the time..
More next week.. (I think its the _with_mediasize bit that had the problem
as the params weren't filled in..)

Cheers,

Patrick