Coda File System

cvs Coda on Darwin

From: Ivan Popov <pin_at_medic.chalmers.se>
Date: Wed, 6 Oct 2004 15:09:24 +0200
Hello,

tried to compile a Coda client for Darwin from recent cvs sources.

I'm a bit puzzled, as cvs Coda needs more tweaks on Darwin than 6.0.6 and
yet has more problems :)

6.0.6 needed:

echo "#define __BSD44__" >>coda-src/venus/worker.h
echo "#define HAVE_RESOLV_H 1" >>config.h
echo 'LIBS:= $(LIBS) -lresolv' >>Makeconf

and then it seems to work.

The cvs version from 23 Sep (did not test later ones)
needs Stephen Turnbull's patches
(http://www.coda.cs.cmu.edu/maillists/codalist/codalist-2004/6695.html)
and while I can run it the first time and access files,

the next time it does start but stops with
----------------------------------------------------------
 ... the first run, accessing files ...
[ T(01) : 0001 : 12:10:33 ] BeginRvmFlush (1, 6720, T)
[ T(01) : 0001 : 12:10:33 ] EndRvmFlush

[ W(20) : 0000 : 12:10:34 ] Cachefile::SetLength 512
[ W(20) : 0000 : 12:10:45 ] userent::Connect: ViceGetAttrPlusSHA(XX.chalmers.se)
[ W(20) : 0000 : 12:10:45 ] userent::Connect: ViceGetAttrPlusSHA() -> 22
[ W(20) : 0000 : 12:10:45 ] userent::Connect: VGAPlusSHA_Supported -> 1
[ W(20) : 0000 : 12:10:45 ] userent::Connect: ViceGetAttrPlusSHA(XX.chalmers.se)
[ W(20) : 0000 : 12:10:45 ] userent::Connect: ViceGetAttrPlusSHA() -> 22
[ W(20) : 0000 : 12:10:45 ] userent::Connect: VGAPlusSHA_Supported -> 1

[ T(01) : 0004 : 12:10:50 ] BeginRvmFlush (1, 8456, T)
[ T(01) : 0004 : 12:10:50 ] EndRvmFlush

[ W(20) : 0000 : 12:11:00 ] Cachefile::SetLength 512

[ X(00) : 0000 : 12:11:05 ] TERM: About to terminate venus  <<<< venus shutdown
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ X(00) : 0000 : 12:11:05 ] BeginRvmFlush (1, 4224, F)
[ X(00) : 0000 : 12:11:05 ] EndRvmFlush
                                                            <<<< next start
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ X(00) : 0000 : 12:11:16 ] Coda Venus, version 6.0.6
[ X(00) : 0000 : 12:11:16 ] Logfile initialized with LogLevel = 0 at Wed Oct  6 
12:11:16 2004

[ X(00) : 0000 : 12:11:16 ] E StatsInit()
[ X(00) : 0000 : 12:11:16 ] L StatsInit()
[ X(00) : 0000 : 12:11:16 ] BeginRvmFlush (1, 60, F)
[ X(00) : 0000 : 12:11:16 ] EndRvmFlush
[ X(00) : 0000 : 12:11:16 ] BeginRvmTruncate (1, 320, F)
[ X(00) : 0000 : 12:11:16 ] EndRvmTruncate
[ X(00) : 0000 : 12:11:16 ] BeginRvmFlush (1, 832, F)
[ X(00) : 0000 : 12:11:16 ] EndRvmFlush
[ X(00) : 0000 : 12:11:16 ] BeginRvmTruncate (6, 1092, F)
[ X(00) : 0000 : 12:11:16 ] EndRvmTruncate
[ X(00) : 0000 : 12:11:16 ] E adv_daemon::adv_daemon: AdviceServer    

[ A(18) : 0000 : 12:11:16 ] adv_daemon::main()

[ H(07) : 0000 : 12:11:16 ] HDBDaemon about to sleep on hdbdaemon_sync

[ D(20) : 0000 : 12:11:22 ] *****  FATAL SIGNAL (10) ***** <<<< tried "ls"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ D(20) : 0000 : 12:12:00 ] TERM: About to terminate venus <<<< killing venus
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ D(20) : 0000 : 12:12:00 ] BeginRvmFlush (1, 6720, F)
[ D(20) : 0000 : 12:12:00 ] EndRvmFlush
----------------------------------------------------------

A new run with -init works again. A new run without -init does not work.

Crash happens at the first access (ls /coda/...... triggers it, ls never exits
until venus is killed)

The funny thing is, if I run it with -d #, it does not crash,
and even after that on restarts it does _not_ crash, the success persists.

Looks like a race condition, something is never done without -d, but
corrected whenever venus is a bit slower, or whenever it does not
daemonize?

I am running that version on Linux without problems.

Any suggestions?
--
Ivan
Received on 2004-10-06 09:13:22