Coda File System

Re: Hoard Problem: Device not configured

From: Steffen Neumann <sneumann_at_TechFak.Uni-Bielefeld.DE>
Date: 22 May 2001 12:00:14 +0200
Jan Harkes <jaharkes_at_cs.cmu.edu> writes:

> On Mon, May 21, 2001 at 03:33:33PM +0200, Steffen Neumann wrote:
[...]
> >  cat /tmp/gdb.trace 
> > #0  0x80764e9 in namectxt::printsuspect (this=0x9161798, fd=12, verbosity=0)    at hdb.cc:2472
> ...
> > #15 0x8076629 in namectxt::printsuspect (this=0x94fe600, fd=12, verbosity=0)    at hdb.cc:2505
> > #16 0x8074731 in hdbent::printsuspect (this=0x2507fa88, afd=12, verbosity=0)    at hdb.cc:1394
> 
> 
> Ok, we recursed 16 deep into namectxt::printsuspect, each of which puts
[...]
> by using up over 64KB of stackspace.
[...]
> Quick patch that leaves the recursion, but significantly lowers the
> stack usage is attached. (I have only tested that it compiles)

Well, it does compile. Nevertheless, the problem remains,
with the same depth of recursion than before.
Anything else I can check ?

Yours,
Steffen

-----------------------------------------------------

Program received signal SIGSEGV, Segmentation fault.
0x8074ea9 in namectxt::printsuspect (this=0x8a9acb8, fd=12, verbosity=0) at hdb.cc:2445
(gdb) where
#0  0x8074ea9 in namectxt::printsuspect (this=0x8a9acb8, fd=12, verbosity=0) at hdb.cc:2445
#1  0x8074fe9 in namectxt::printsuspect (this=0x876d0d0, fd=12, verbosity=0) at hdb.cc:2478
#2  0x8074fe9 in namectxt::printsuspect (this=0x9072d80, fd=12, verbosity=0) at hdb.cc:2478
#3  0x8074fe9 in namectxt::printsuspect (this=0x8aeda60, fd=12, verbosity=0) at hdb.cc:2478
#4  0x8074fe9 in namectxt::printsuspect (this=0x849e948, fd=12, verbosity=0) at hdb.cc:2478
#5  0x8074fe9 in namectxt::printsuspect (this=0x913deb0, fd=12, verbosity=0) at hdb.cc:2478
#6  0x8074fe9 in namectxt::printsuspect (this=0x9516730, fd=12, verbosity=0) at hdb.cc:2478
#7  0x8074fe9 in namectxt::printsuspect (this=0x8309058, fd=12, verbosity=0) at hdb.cc:2478
#8  0x8074fe9 in namectxt::printsuspect (this=0x91cb628, fd=12, verbosity=0) at hdb.cc:2478
#9  0x8074fe9 in namectxt::printsuspect (this=0x94210a8, fd=12, verbosity=0) at hdb.cc:2478
#10 0x8074fe9 in namectxt::printsuspect (this=0x83695c8, fd=12, verbosity=0) at hdb.cc:2478
#11 0x8074fe9 in namectxt::printsuspect (this=0x8fb3f50, fd=12, verbosity=0) at hdb.cc:2478
#12 0x8074fe9 in namectxt::printsuspect (this=0x83991e8, fd=12, verbosity=0) at hdb.cc:2478
#13 0x8074fe9 in namectxt::printsuspect (this=0x8385348, fd=12, verbosity=0) at hdb.cc:2478
#14 0x8074fe9 in namectxt::printsuspect (this=0x9522c10, fd=12, verbosity=0) at hdb.cc:2478
#15 0x8074fe9 in namectxt::printsuspect (this=0x9502600, fd=12, verbosity=0) at hdb.cc:2478
#16 0x8073051 in hdbent::printsuspect (this=0x2507b748, afd=12, verbosity=0) at hdb.cc:1394
#17 0x8072946 in hdb::Verify (this=0x25089d48, m=0x94ea394, local_id=10157) at hdb.cc:1225
#18 0x80756ae in HDBD_HandleRequests () at hdb_daemon.cc:207
#19 0x8075269 in HDBDaemon () at hdb_daemon.cc:115
#20 0x80a8285 in vproc::main (this=0x94e4ae8) at vproc.cc:429
#21 0x80a7a72 in VprocPreamble (init_lock=0x94e4b28) at vproc.cc:146
#22 0x4008d2d0 in Create_Process_Part2 () at lwp.c:792


  2445  void namectxt::printsuspect(int fd, int verbosity) {
  2446      /* verbosity = 0            silence except for errors
  2447         0 < verbosity <= 100     errors and confirmation of items in hoard database
  2448         100 < verbosity          errors and confirmation of all expanded items
  2449      */
  2450      char fullpath[MAXPATHLEN+1];
  2451      const char *modifier = expand_descendents ? "d+" :
  2452                            (expand_children    ? "c+" : "  ");
  2453  
  2454      /* Deal with this node first */
  2455      dlink *d = expansion.last();
  2456      if (d == 0){
  2457          PUTMSG("*** Not bound ***", 1);
  2458          return;
  2459      }
...
  2470      if (verbosity) PUTMSG("OK", 0);
  2471  
  2472      /* Then recursively deal with children */
  2473      if (children) {
  2474          dlist_iterator cnext(*children);
  2475          dlink *d;
  2476          while ((d = cnext())) {
  2477              namectxt *child = strbase(namectxt, d, child_link);
  2478              child->printsuspect(fd, ((verbosity > 100) ? verbosity : 0));
  2479          }
  2480      }
  2481  }
  2482  #undef PUTMSG
Received on 2001-05-22 06:00:25