Coda File System

coda crash

From: Eduard Frese <efrese_at_techfak.uni-bielefeld.de>
Date: Tue, 07 Oct 2003 19:42:15 +0200
Hallo,
we haw a venus crash every day in last days :-(

what i can do?

best regards
Eduard.



---------------------------------------------------------------------------
console.log:
Coda Venus, version 6.0.2

23:50:16 fatal error -- Assertion failed: file "fso_cfscalls2.cc", line 281

23:50:32 RecovTerminate: clean shutdown
Assertion failed: 0, file "fso_cfscalls2.cc", line 281
Sleeping forever.  You may use gdb to attach to process 12324.
-------------------------------------------------------------------------------------------------------------
venus.log:
Coda Venus, version 6.0.2

[ H(07) : 0421 : 23:50:15 ] fsdb::FreeFsoCount: counts disagree (20833 - 19738 != 1094)
[ H(07) : 0421 : 23:50:15 ] fsdb::FreeFsoCount: counts disagree (20833 - 19738 != 1094)
[ H(07) : 0421 : 23:50:15 ] fsdb::FreeFsoCount: counts disagree (20833 - 19531 != 1301)
[ H(07) : 0421 : 23:50:15 ] fsdb::FreeFsoCount: counts disagree (20833 - 19531 != 1301)
[ H(07) : 0421 : 23:50:15 ] fsdb::FreeFsoCount: counts disagree (20833 - 19531 != 1301)
[ H(07) : 0421 : 23:50:16 ] fsdb::Create: (529d80c8.7f000004.115c2.510c3, 25) failed
[ H(07) : 0421 : 23:50:16 ] Hoard Walk interrupted -- object missing! <529d80c8.7f000004.115c2.510c3>
[ H(07) : 0421 : 23:50:16 ] Number of interrupt failures = 1
[ H(07) : 0421 : 23:50:16 ] WAITING(MATRICULATION): count = 2030262
[ H(07) : 0421 : 23:50:16 ] WAIT OVER, elapsed = 0.5
[ H(07) : 0421 : 23:50:16 ] DataWalk:  Restarting Iterator!!!!  Reset availability status information.
[ H(07) : 0421 : 23:50:16 ] Tally for uid=0:
[ H(07) : 0421 : 23:50:16 ] BeginRvmFlush (1, 1233064, F)
[ H(07) : 0421 : 23:50:16 ] EndRvmFlush
[ H(07) : 0421 : 23:50:16 ] Tally for uid=0:

[ H(07) : 0422 : 23:50:16 ] HDBDaemon about to sleep on hdbdaemon_sync
0x53186548 : fid = (529d80c8.7f000036.25f.a3bd), comp = , vol = 529d1508
        state = Normal, stat = { 2048, 4, 998483158, 10104, 0755, 2, Directory }, rc rights = 15
        VV = {[ 4 0 0 0 0 0 0 0 ] [ 0x3c760d92 2827 ] [ 0 ]}
        ac rights = { [9 11] [-1 0 00] [-1 0 00] [-1 0 00] [-1 0 00] [-1 0 00] [-1 0 00] [-1 0 00] [0 9 11] }
        voltype = [0 1 0], fake = 0, fetching = 0 local = 0
        rep = 0, data = 1, owrite = 0, dirty = 0, shadow = 0
        mvstat = Normal
        parent = (529d80c8.7f000036.251.a3b6, 52fc8688), children = 1
        priority = 25000 (3693), hoard = [0, -2, 0], lastref = 8057706
        mle_bindings = (0, 0), cleanstat = [-1, -1]
        cachefile = [ 00/00/0B/51, 358508, 512/512 ]
        directory = 513936c8, udcf = [531866b4, 1]
        pages = -1, malloc bitmap = [ data at 0x520d63c8 ]
        refs = [1 0 1], openers = [0 0 0]       lastresolved = 0
*****  VenusPrint  *****
-------------------------------------------------------------------------------------------------------------

gdb /usr/local/sbin/venus
attach 12324


(gdb) bt
#0  0x401b2c41 in __libc_nanosleep () at __libc_nanosleep:-1
#1  0x401b2bd6 in __sleep (seconds=1) at ../sysdeps/unix/sysv/linux/sleep.c:85
#2  0x080d343a in coda_assert (pred=0x80e956b "0", file=0x80deefb "fso_cfscalls2.cc", line=281)
    at coda_assert.c:46
#3  0x0808b341 in choke (file=0x80deefb "fso_cfscalls2.cc", line=281,
    fmt=0x80def40 "Assertion failed: file \"%s\", line %d\n") at venusutil.cc:210
#4  0x0806f18e in fsobj::Release (this=0x53186548, writep=0, execp=0) at fso_cfscalls2.cc:281
#5  0x0806f3cf in fsobj::Close (this=0x53186548, writep=0, execp=0, uid=0) at fso_cfscalls2.cc:332
#6  0x080ac70c in vproc::close (this=0x82fb2e8, cp=0x15367e20, flags=1) at vproc_vfscalls.cc:274
#7  0x080b0da7 in worker::main (this=0x82fb2e8) at worker.cc:1171
#8  0x080a72a2 in VprocPreamble (init_lock=0x82fb328) at vproc.cc:146
#9  0x400882f0 in Create_Process_Part2 () at lwp.c:796



gdb:
#0  0x401b2c41 in __libc_nanosleep () at __libc_nanosleep:-1
-1      __libc_nanosleep: No such file or directory.
        in __libc_nanosleep
(gdb) up
#1  0x401b2bd6 in __sleep (seconds=1) at ../sysdeps/unix/sysv/linux/sleep.c:85
85      ../sysdeps/unix/sysv/linux/sleep.c: No such file or directory.
        in ../sysdeps/unix/sysv/linux/sleep.c
(gdb) up
#2  0x080d343a in coda_assert (pred=0x80e956b "0", file=0x80deefb "fso_cfscalls2.cc", line=281)
    at coda_assert.c:46
46      coda_assert.c: No such file or directory.
        in coda_assert.c
(gdb) up
#3  0x0808b341 in choke (file=0x80deefb "fso_cfscalls2.cc", line=281,
    fmt=0x80def40 "Assertion failed: file \"%s\", line %d\n") at venusutil.cc:210
210     venusutil.cc: No such file or directory.
        in venusutil.cc
Current language:  auto; currently c++
(gdb) up
#4  0x0806f18e in fsobj::Release (this=0x53186548, writep=0, execp=0) at fso_cfscalls2.cc:281
281     fso_cfscalls2.cc: No such file or directory.
        in fso_cfscalls2.cc
(gdb) up
#5  0x0806f3cf in fsobj::Close (this=0x53186548, writep=0, execp=0, uid=0) at fso_cfscalls2.cc:332
332     in fso_cfscalls2.cc
(gdb) up
#6  0x080ac70c in vproc::close (this=0x82fb2e8, cp=0x15367e20, flags=1) at vproc_vfscalls.cc:274
274     vproc_vfscalls.cc: No such file or directory.
        in vproc_vfscalls.cc
(gdb) up
#7  0x080b0da7 in worker::main (this=0x82fb2e8) at worker.cc:1171
1171    worker.cc: No such file or directory.
        in worker.cc
(gdb) up
#8  0x080a72a2 in VprocPreamble (init_lock=0x82fb328) at vproc.cc:146
146     vproc.cc: No such file or directory.
        in vproc.cc
(gdb) up
#9  0x400882f0 in Create_Process_Part2 () at lwp.c:796
796     lwp.c: No such file or directory.
        in lwp.c
Current language:  auto; currently c
-------------------------------------------------------------------------------------------------------------
./coda-src/venus/fso_cfscalls2.cc lines 281-335/670:

/* Call with object write-locked. */
/* We CANNOT return ERETRY from this routine! */
void fsobj::Release(int writep, int execp)
{
    LOG(10, ("fsobj::Release: (%s, %d, %d)\n", comp, writep, execp));

    FSO_ASSERT(this, openers != 0);

    openers--;

    if (execp) {
        if (!EXECUTING(this))
            { print(logFile); CHOKE("fsobj::Release: !EXECUTING"); }
        Execers--;
    }

    if (writep) {
        PromoteLock();

        if (!WRITING(this))
            { print(logFile); CHOKE("fsobj::Release: !WRITING"); }
        Writers--;

        /* The object only gets removed from the owrite queue if we were the
         * last writer to close. */
        if (!WRITING(this)) {
            Recov_BeginTrans();
            /* Last writer: remove from owrite queue. */
            if (FSDB->owriteq->remove(&owrite_handle) != &owrite_handle)
            { print(logFile); CHOKE("fsobj::Release: owriteq remove"); }
            RVMLIB_REC_OBJECT(flags);
            flags.owrite = 0;

            /* Fudge size of files that were deleted while open. */
            if (DYING(this)) {
                LOG(0, ("fsobj::Release: last writer && dying (%s)\n",
                        FID_(&fid)));
                RVMLIB_REC_OBJECT(stat.Length);
                stat.Length = 0;            /* Necessary for blocks maintenance! */
            }
            Recov_EndTrans(((EMULATING(this) || LOGGING(this)) ? DMFP : CMFP));
        }
    }

    FSO_RELE(this);         /* Unpin object. */
    EnableReplacement();    /* Won't enable as long as object is in use */
    return;
}

int fsobj::Close(int writep, int execp, uid_t uid)
{
    int code = 0;

    /* The object only is sent to the server(s) if we are the last writer
     * to close. */
    if (writep && Writers == 1)
        code = Sync(uid);
    Release(writep, execp);
    return code;
}
-------------------------------------------------------------------------------------------------------------
Received on 2003-10-07 13:44:11