Subject: Re: strange cdrom behaviour
To: None <current-users@netbsd.org>
From: Patrick Welche <prlw1@newn.cam.ac.uk>
List: current-users
Date: 12/20/2004 18:46:55
On Thu, Dec 16, 2004 at 07:47:55PM +0000, Patrick Welche wrote:
> This has now happened to me on current/i386 with 2 cdrom drives and
> 2 different makes of recordable cd, so maybe something is up afterall - does
> anyone else see the following?
> 
> mount /cdrom
> ls /cdrom/*/*.ps
> 
> everything freezes - need a reboot. Otherwise
> 
> mount /cdrom
> cd /cdrom/CourseD
> ls *.ps                 all OK, and now from memory
> cd ..
> ls */*.ps               still OK, but not if one did that first before the
>                         ls that worked..

Finally managed to get a nice panic:

panic: kernel diagnostic assertion "fn[fnlen] == 0" failed: file "../../../../fs/cd9660/cd9660_util.c", line 110

This was with an i386 kernel from today's code, DEBUG, DIAGNOSTIC, 


    /* fn should always contain standard C string, and wget() needs it */
    KASSERT(fn[fnlen] == 0);

The CD I was looking at had been created on MacOS X - I don't know what
flags it used.. (I think that is irrelevant assuming it's the same error
as on another computer with another CD I created with mkisofs -l -J -R -L)

bt:
...
isofncmp(c6b25007,   a,         c6ff5021,      1,          1)
        (u_char* fn, int fnlen, u_char* isofn, int isolen, int joliet_level)
cd9660_lookup
VOP_LOOKUP
lookup
namei
vn_open
sys_open
syscall_plain (number 5)


db> examine/b c6b25007,10
netbsd:acpi_softc+0x64f99f7:
db>

?

Thoughts?

Cheers,

Patrick