milko

ben fleis lbf at umich.edu
Fri Feb 18 21:42:43 CET 2000


Hi --

I am a CS grad student involved in file-system research project.  We are
looking at using arla/milko as a code base for our system, because afs
is the closest match [in spirit and function] to the system we'll be
writing.  (Our initial prototype was NFS based, and terrible :)

Arla itself is giving my no problems.  Milko [the afs server name, yes?]
is another issue.  Although it compiles, the `fileserver' executable
seems unwilling to run.  Tracing through the code and gdb, it fails an
assertion when trying to create hash tables during the ropa_init.  The
code snippets in question [arla-2000-02-15 snapshot] follow.  

The failling assertion is right below:  (sz > 0)

util/hash.c:
------------

Hashtab *
hashtabnew(int sz,
           int (*cmp) (void *, void *),
           unsigned (*hash) (void *))
{
    Hashtab *htab;
    int i;

    assert(sz > 0);

...
}

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

milko/lib/ropa/ropa.c:
-------

static unsigned long num_callbacks = 0;

...

void
create_callbacks (void)
{

...

    num_callbacks += NUM_CALLBACKS;
}

...

/*
 * init the ropa-module
 */

int
ropa_init (unsigned long num_callback, unsigned long num_clients)
{
    ht_callbacks = hashtabnew (num_callbacks, callbacks_cmp, callbacks_hash);

...

    create_callbacks();

...

    return 0;
}

------


num_callbacks is init'd to 0, and never gets updated until after
hashtabnew is called.  However, hashtabnew expects (sz > 0), so this
seems destined to fail.  Am I missing something, or is this a known
problem?  thanks.

ben fleis





More information about the Arla-drinkers mailing list