(Illustration by Gaich Muramatsu)
With venus sources from yesterday (I think), I found venus wedged in an apparent tight loop (R, with tons of cpu time). gdb showed it to be in KillMgrps; it seemed that mgrpents had both prev and next 0. I really don't know what I'm doing here, but I put in the following and I'll see what happens. Perhaps some more asserts are needed. This seems to have something to with tokens expiring - it happened on my coda server, through whose venus I backup stuff using amanda/gnutar after amanda acquires tokens. Index: venusvol.cc =================================================================== RCS file: /coda-src/coda/coda-src/venus/venusvol.cc,v retrieving revision 4.60 diff -u -r4.60 venusvol.cc --- venusvol.cc 2000/10/25 11:57:46 4.60 +++ venusvol.cc 2000/10/28 13:36:56 @@ -1808,6 +1808,10 @@ LOG(10, ("repvol::KillMgrps volume = %x\n", vid)); for (p = mgrpents.next; p != &mgrpents;) { + if ( p == NULL ) { + LOG(0, ("repvol::KillMgrps null pointer")); + break; + } mgrpent *m = list_entry(p, mgrpent, volhandle); p = m->volhandle.next; m->Suicide(1);Received on 2000-10-28 09:56:52