[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Slapd hang



Quanah Gibson-Mount wrote:
> --On Wednesday, June 12, 2013 5:57 PM +0200 Michael StrÃder
> <michael@stroeder.com> wrote:
> 
>> On Wed, 12 Jun 2013 08:35:37 -0700 Quanah Gibson-Mount <quanah@zimbra.com>
>> wrote
>>
>>> --On Wednesday, June 12, 2013 4:59 PM +0200 Michael StrÃder
>>> <michael@stroeder.com> wrote:
>>>
>>> >> I would note there are issues with the way in which Debian builds BDB
>>> >> as well.
>>> >
>>> > Is this still true today? Which issues are this in detail?
>>>
>>> Yes, it is still true today.  They do not set the
>>> --with-mutex=POSIX/pthreads flag.
>>
>> We looked at the db4.8 source package.
>> It seems they used configure option
>>
>>  --with-mutex=POSIX/pthreads/library
>>
>> See build log here:
>> https://buildd.debian.org/status/fetch.php?pkg=db4.8&arch=amd64&ver=4.8.3
>> 0-2&stamp=1283126079
>>
>> Anything else which could be missing?
> 
> Yep.  --enable-posixmutexes.  Those two options need to go together.

I have to nitpick here:

Analyzing db-4.8.30/dist/configure shows that option --enable-posixmutexes
sets the variable db_cv_posixmutexes which in turn sets db_cv_mutex=posix_only
if db_cv_mutex is "no" before.

If --with-mutex=POSIX/pthreads/library is used db_cv_mutex is set to this
value. So it seems to me that --enable-posixmutexes is a no-op if
--with-mutex=POSIX/pthreads/library was set explicitly.

Simply invoking:

$ cd build_unix
$ ../dist/configure --with-mutex=POSIX/pthreads/library
[..]
checking if --enable-posixmutexes option specified... no
[..]
checking if --with-mutex=MUTEX option specified... POSIX/pthreads/library
[..]
checking for mutexes... (cached) POSIX/pthreads/library
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for main in -lpthread... yes
[..]
checking for pthread_self... yes
checking for pthread_yield... yes
[..]

And I examined the differences of all generated files under build_unix/ if
--enable-posixmutexes is set or not - of course always setting
--with-mutex=POSIX/pthreads/library):
There are no significant differences.

While I personally would prefer to explicitly mention
--enable-posixmutexes just for completeness it technically does not seem to be
a difference. So to me the Debian package libdb4.8 is not responsible for
possible hangs.

Am I overlooking something?

Ciao, Michael.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature