>> lock 0xf0c77cf8 loop key 0xdeaddead pc 0xf01c846f held by pc 0xf01c846f proc 
>> 307
>> 295:     venti pc f01da773 dbgpc    203db     Pread (Running) ut 1 st 537 
>> bss 4342000 qpc f01be14f nl 0 nd 0 lpc f01c57a1 pri 3
>> 307:     venti pc f01cded7 dbgpc    203db     Pread (Ready) ut 332 st 1137 
>> bss 4342000 qpc f013ea9a nl 2 nd 0 lpc f01c1026 pri 0
>> lock 0xf0c77cf8 loop key 0xdeaddead pc 0xf01c846f held by pc 0xf01c846f proc 
>> 307
>> 297:     venti pc f01cda6c dbgpc    203db     Pread (Running) ut 79 st 553 
>> bss 4342000 qpc f01c8d59 nl 0 nd 0 lpc f01c57a1 pri 3
>> 307:     venti pc f01cded7 dbgpc    203db     Pread (Ready) ut 332 st 1137 
>> bss 4342000 qpc f013ea9a nl 2 nd 0 lpc f01c108e pri 0
> 
> Can you run:
> 
>       % acid /path/to/your/kernel
>       acid: src(0xf01c846f)
> 
> and let us know what that prints?

cpu% acid /386/9pc
/386/9pc:386 plan 9 boot image

/sys/lib/acid/port
/sys/lib/acid/386
acid: src(0xf01c846f)
/sys/src/9/port/sysfile.c:129
 124            Fgrp *f;
 125    
 126            c = 0;
 127            f = up->fgrp;
 128    
>129            lock(f);
 130            if(fd<0 || f->nfd<=fd || (c = f->fd[fd])==0) {
 131                    unlock(f);
 132                    error(Ebadfd);
 133            }
 134            if(iref)
acid: 

That's in function

Chan*
fdtochan(int fd, int mode, int chkmnt, int iref)



> 
>> 2007/1204 22:24:20 err 4: write /dev/sdC0/isect offset 0x293ae000 count 
>> 65536 buf 337e000 returned -1: i/o error
>> venti/venti: part /dev/sdC0/isect addr 0x2922e000: icachewritesect 
>> writepart: write /dev/sdC0/isect offset 0x293ae000 count 65536 buf 337e000 
>> returned -1: i/o error
>> 2007/1204 22:24:21 err 4: read /dev/sdC0/isect offset 0x29a2e000 count 65536 
>> buf 31fe000 returned -1: i/o error
> 
> It looks very much like your disk has bad sectors or something like that.
> Try running:
> 
>       dd -bs 65536 < /dev/sdC0/isect >/dev/null
>       dd -bs 65536 < /dev/zero >/dev/sdC0/isect
>       dd -bs 65536 < /dev/sdC0/isect >/dev/null

I did try the first line line earlier without any issues, but not
immediately after I get the failure.  I'll try that.


> It's also possible that your disk cables can't handle the dma speeds
> that Plan 9 is trying or that they are otherwise just not good enough.
> The SP1613N looks like a laptop-sized disk, though, so maybe 
> there isn't even a cable!

As far as I can see, the dma is off on my setup.  The hardware is a
VIA EPIA-5000 (oldish, plain, not M or MII or ...) with a broken audio
component (only one channel working), with two 128MB PC100 SDRAM
sticks (checked fully with memtest86), and the SP1613N connected with
a short IDE cable (5cm or so), it's a standard 3.5" sized 160MB disk.
I did run a full hardware diagnostic and disk test from Samsung, and
no problems were reported at all.Only other connections are the LAN
and the power.

The other thing I will try is to swap the IDE cable for a different one.

Thank you for the ideas,
Robby


Reply via email to