Coda File System

venus segfault.

From: Phil Nelson <phil_at_cs.wwu.edu>
Date: Mon, 14 Sep 1998 08:41:35 -0700 (PDT)
------- Start of forwarded message -------

Hi,

   I had venus seg fault on me late last week.  I forgot to keep a copy
of the console file.  I didn't have codacon running at the time.  In
case this can help someone figure out what is going on, here is a 
gdb session that gives a little information about what caused the seg
fault.

Script started on Fri Sep 11 12:31:26 1998
bash-2.01# gdb /usr/local/sbin/venus
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.16 (i386--netbsd), Copyright 1996 Free Software Foundation, Inc...
(gdb) attach 250
Attaching to program `/usr/local/sbin/venus', process 250
Reading symbols from /usr/libexec/ld.so...done.
Reading symbols from /usr/lib/libstdc++.so.0.1...done.
Reading symbols from /usr/lib/libm.so.0.1...done.
Reading symbols from /usr/lib/libc.so.12.31...done.
0x402824cd in sigsuspend ()
(gdb) where
#0  0x402824cd in sigsuspend ()
#1  0xb5701 in FatalSignal (sig=11, code=6, contextPtr=0x4509b9c0)
    at ../../../coda-src/venus/sighand.cc:397
#2  0xb51c0 in SEGV (sig=11, code=6, contextPtr=0x4509b9c0)
    at ../../../coda-src/venus/sighand.cc:230
#3  <signal handler called>
#4  0x2b3a7 in fsobj::IsValid (this=0x5195bf0c, rcrights=3)
    at ../../../coda-src/venus/fso1.cc:939
#5  0x7b78b in hdb::ValidateCacheStatus (this=0x518b7c0c, vp=0x23d800, 
    interrupt_failures=0x4509bf20, statusBytesFetched=0x450a9600)
    at ../../../coda-src/venus/hdb.cc:652
#6  0x7c39a in hdb::StatusWalk (this=0x518b7c0c, vp=0x23d800, 
    TotalBytesToFetch=0x4509bf68) at ../../../coda-src/venus/hdb.cc:875
#7  0x7e29c in hdb::Walk (this=0x518b7c0c, m=0x4509bf98)
    at ../../../coda-src/venus/hdb.cc:1169
#8  0x8242f in HDBDaemon () at ../../../coda-src/venus/hdb_daemon.cc:142
#9  0x1148f9 in VprocPreamble (init_lock=0x23d86c)
    at ../../../coda-src/venus/vproc.cc:173
#10 0x15432d in Create_Process_Part2 () at ../../../lib-src/mlwp/lwp.c:1107
#11 0x156e1a in savecontext ()
#12 0x805304ec in ?? ()
Error accessing memory address 0x83e58955: Invalid argument.
(gdb) up
#1  0xb5701 in FatalSignal (sig=11, code=6, contextPtr=0x4509b9c0)
    at ../../../coda-src/venus/sighand.cc:397
397		    sigsuspend(&mask);
(gdb) up
#2  0xb51c0 in SEGV (sig=11, code=6, contextPtr=0x4509b9c0)
    at ../../../coda-src/venus/sighand.cc:230
230	    FatalSignal(sig, code, contextPtr);
(gdb) up
#3  <signal handler called>
(gdb) up
#4  0x2b3a7 in fsobj::IsValid (this=0x5195bf0c, rcrights=3)
    at ../../../coda-src/venus/fso1.cc:939
939		 vol->HaveCallBack()))
(gdb) list
934		  (vol->IsWriteDisconnected() && !flags.dirty)) &&
935		 !flags.readonly &&
936		 !IsMtPt() &&
937		 !IsFakeMTLink() &&
938		 !CheckRcRights(rcrights) &&
939		 vol->HaveCallBack()))
940		vol->VCBHits++;
941	
942	    return(haveit && 
943		   (Simulating || 
(gdb) print vol
$1 = (volent *) 0x0
(gdb) up
#5  0x7b78b in hdb::ValidateCacheStatus (this=0x518b7c0c, vp=0x23d800, 
    interrupt_failures=0x4509bf20, statusBytesFetched=0x450a9600)
    at ../../../coda-src/venus/hdb.cc:652
652	        if (STATUSVALID(f)) continue;
(gdb) list
647	    int validations = 0;
648	
649	    fso_iterator next(NL);
650	    fsobj *f, *g;
651	    while (f = next()) {
652	        if (STATUSVALID(f)) continue;
653	
654		/* Set up uarea. */
655		vp->u.Init();
656		vp->u.u_cred.cr_uid = (uid_t)f->HoardVuid;
(gdb) print f
$2 = (fsobj *) 0x5195bf0c
(gdb) print *f
$3 = {MagicNumber = 2687694, fid = {Volume = 2130707582, Vnode = 7198, 
    Unique = 10183}, comp = 0x5185d7cc "", vol = 0x0, primary_handle = {
    next = 0x51a11f24}, vol_handle = {next = 0x0, 
    _vptr$ = 0x12906c <olink virtual table>}, prio_handle = {mytree = 0x0, 
    parent = 0x0, leftchild = 0x0, rightchild = 0x0, 
    _vptr$ = 0x12a5f0 <bsnode virtual table>}, del_handle = {next = 0x0, 
    prev = 0x0, _vptr$ = 0x129904 <dlink virtual table>}, owrite_handle = {
    next = 0x0, _vptr$ = 0x12906c <olink virtual table>}, state = FsoDying, 
  stat = {VnodeType = File, LinkCount = 1 '\001', Length = 3404, 
    DataVersion = 1, VV = {Versions = {Site0 = 1, Site1 = 0, Site2 = 0, 
        Site3 = 0, Site4 = 0, Site5 = 0, Site6 = 0, Site7 = 0}, StoreId = {
        Host = 0, Uniquifier = 905450873}, Flags = 0}, Date = 905448997, 
    Author = 4294967295, Owner = 7738, Mode = 420}, RcRights = 0, AnyUser = {
    uid = 4294967295, rights = 0 '\000', inuse = 0, Segmentation fault (core dumped)
bash-2.01# exit
exit

Script done on Fri Sep 11 12:33:28 1998

-- 
Phil Nelson                    NetBSD: http://www.netbsd.org
e-mail: phil@cs.wwu.edu        !gifs: http://www.gnu.org/philosophy/gif.html
http://www.cs.wwu.edu/~phil    
Received on 1998-09-14 11:43:53