as a salute to the days of typing in machine code from smalltalk
magazine.  (wasted youth!)  here is the backtrace complete with
errors introduced by a faulty connection between the image and
keyboard.

abort+0x0 /sys/src/libc/9sys/abort.c:6
freezblock(b=0x17d1f90)+0x38 /sys/src/cmd/venti/srv/zblock.c:63
freeifile(f=0xa4918)+0x12 /sys/src/cmd/venti/srv/ifile.c:67
runconfig(file=0xdfffef92,config=0xa496c)+0x8e 
/sys/src/cmd/venti/srv/config.c:188
        f=0xdfffef92
        ok=0x0
        line=0x0
        s=0x17cff8e
        flds=0x17cff8e
        i=0x2
        sv-0x17cfe68
        av=0x17cfe88
initventi(file=0xdfffef92,conf=0xa496c)+0x3f /sys/src/cmd/venti/srv/config.c:21
threadmain(argv=0xdfffef70,argc=0x0)+0x139) /sys/src/cmd/venti/srv/venti.c:113
        vaddr=0xdfffefa6
        haddr=0xdfffefb9
        configfile=0xdfffef92
        webroot=0x0
        mem=0x0
        icmem=0x0
        bcmem=0x0
        _argc=0xfefe0068
        _args-0x4e474
        config=0x17cfea8
[...]

could you send the output of venti/config? and what does acid
say to this

        acid: *(0x17cff8e\s)

you might also get more information by inspecting how zmagic
is corrupt, e.g. replace freezblock with something like this.
(may or may not compile.)

void
freezblock(ZBlock *b)
{
        if(b){
                if(memcmp(b->data+b->_size, zmagic, OverflowCheck) != 0){
                        int i;
                        uchar *s;
                        char *fmt;

                        s = (uchar*)(b->data+b->_size);
                        fmt = "  %.2x %.2x %.2x %.2x %.2x %.2x %.2x %.2x\n";

                        fprint(2, "corrupt zblock: %p b->_size=%d", b, 
b->_size);
                        for(i = 0; i < OverflowCheck; i += 8, s += 8)
                                fprint(2, fmt, s[0], s[1], s[2], s[3], s[4], 
s[5], s[6], s[7]);
                        abort();
                }
                memset(b->data+b->_size, 0, OverflowCheck);
                free(b->free);
        }
}

- erik

> Hi everyone!
> I'm trying to configure a new cpu+auth server using the instructions in the 
> wiki, and I've crossed a problem with venti.
> Here is what I did:
> 1, downloaded the sept. 6th iso from plan9 download site
> 2, installed a fossil+venti system (default setup)
> 3, followed the wiki instructions to set up a cpu+auth server (compiled my 
> own 9pccpuf kernel with default config)
> then I rebooted my computer (luckily set up a menu with options to start the 
> old terminal kernel),
> and got venti suicide, here is a screenshot of the crash: 
> http://jsoros.free.fr/CIMG5212.JPG , after this the computer reboots. We did 
> a little debugging with cinap on irc, here is how we did it:
> 1, copy /386/bin/venti/venti to 9fat
> 2, boot into the live-cd
> 3, run /n/9fat/venti -s -c /dev/sdC0/arenas -a 'tcp!127.1!17034' -h 
> 'tcp!127.1!8000'
> it suicides here too
> 4, run acid on the crashed venti, here is the output of acid: 
> http://jsoros.free.fr/CIMG5213.JPG
> Thanks for any insite on what could be wrong and what I could do to fix it.
> 
> Regards
> John

Reply via email to