I may be one of the few with a still surviving Kirkwood dreamplugs,
though that could be tentative as who knows how long the hardware will
last.  After the thing was running relatively well for a long
period of time, I finally got around to changing some http settings,
rebuilt userland, and prepared to finally get some http requests
handled correctly.

Now, unfortunately, many processes don’t live so long.  The first
I noticed was httpd that would respond a few times, until:

        none            96    0:00   0:00     1436K Semacqui httpd

        dream% chmod +w /proc/96/mem
        dream% acid 96
        /proc/96/text:arm plan 9 executable
        /sys/lib/acid/port
        /sys/lib/acid/arm
        acid: stk()
        semacquire()+0xc /sys/src/libc/9syscall/semacquire.s:6
        lock(l=0x31208)+0x20 /sys/src/libc/port/lock.c:10
        plock()+0x8 /sys/src/libc/port/malloc.c:80
        poolalloc(p=0x35a4c,n=0x2c)+0xc /sys/src/libc/port/pool.c:1223
        mallocz(size=0x24,clr=0x1)+0x18 /sys/src/libc/port/malloc.c:221
        getnetconninfo(fd=0xffffffff,dir=0x5ffffeb4)+0x78 
/sys/src/libc/9sys/getnetconninfo.c:59
        dolisten(address=0xd1704)+0x134 /sys/src/cmd/ip/httpd/httpd.c:291
        main(argc=0x0,argv=0x5fffff74)+0x1c0 /sys/src/cmd/ip/httpd/httpd.c:138
        _main+0x28 /sys/src/libc/arm/main9.s:19
        acid: 



When I’d try and kill it, there’d be a likely chance that rc
would also get the same Semacquire deadlock.  This can also be seen
using broke to try and prune dead dns processes:

        dream% acid 158
        /proc/158/text:arm plan 9 executable
        /sys/lib/acid/port
        /sys/lib/acid/arm
        acid: stk()
        semacquire()+0xc /sys/src/libc/9syscall/semacquire.s:6
        lock(l=0x17104)+0x20 /sys/src/libc/port/lock.c:10
        plock()+0x8 /sys/src/libc/port/malloc.c:80
        poolalloc(p=0x18a8c,n=0x10)+0xc /sys/src/libc/port/pool.c:1223
        mallocz(size=0x8,clr=0x1)+0x18 /sys/src/libc/port/malloc.c:221
        Malloc()+0x8 /sys/src/cmd/rc/plan9.c:624
        emalloc(n=0x8)+0x4 /sys/src/cmd/rc/subr.c:9
        newword(wd=0x18e4e,next=0x202d0)+0x8 /sys/src/cmd/rc/exec.c:33
        pushword(wd=0x18e4e)+0x40 /sys/src/cmd/rc/exec.c:44
        execforkexec()+0x34 /sys/src/cmd/rc/havefork.c:223
        Xsimple()+0x170 /sys/src/cmd/rc/simple.c:62
        main(argv=0x5fffff94,argc=0x2)+0x320 /sys/src/cmd/rc/exec.c:184
        _main+0x28 /sys/src/libc/arm/main9.s:19
        acid: 



That all said, it could be the hardware about to finally die: reverting
all the userland and kernels back to an earlier version still shows the
same error.

But if it isn’t about to die, I’d like to solve this problem and figure
out how to put the nvram onto the fat32 usbdisk and get it to boot using
that.

-jas


Reply via email to