Coda File System

Re: coda and new versions of heimdal

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Wed, 2 Nov 2005 13:54:47 -0500
On Wed, Nov 02, 2005 at 09:01:21PM +0300, mkondrin wrote:
> Recently I have a lot of fun trying to build coda-6.0.12 with 
> heimdal-0.7.1 (the latest version). Coda compiles fine with it but auth2 
> can not start. It dies from the beggining somewhere in LWP while doing 
> swapcontext. The problem was that the new heimdal is automatically built 
> with pthread support if pthread library is found. Heimdal is functional 
> in either case (with pthread support enabled or explicitely disabled 
> during configuration) but coda works only with heimdal without pthreads.
> Don't know  whose bug this is, but I decide to post this message for 
> those who would like to step over rakes after me.

I knew that mixing Coda's threads and pthreads doesn't work well. But I
didn't know that heimdal started using pthreads. I kind of hoped that
the new thread switching code in LWP-2.0 would interact a bit better,
but hadn't tested it.

There is an implementation of LWP over pthreads which I used at one time
to debug some memory problems in the Coda client with valgrind, valgrind
really disliked LWP threads :) It is a bit of a hassle to get going and
the locking is subtly different, so I'm not sure how stable the client
is when built that way.

When building LWP, there is a configure option '--enable-pthread' which
builds liblwp_pt. Then there is a configure option (--with-lwp-pt) for
rpc2/rvm and coda which will force the build to include -D_REENTRANT in
the cflags and link the final binaries against the _pt version of lwp.

It will fix the mixing of pthreads and lwp threads, but again, I am not
sure how stable the result is since this code hasn't been used in a while.

Jan
Received on 2005-11-02 13:55:46