openldap server + kse = bewm
Daniel Eischen
eischen at vigrid.com
Thu Feb 19 21:33:57 PST 2004
On Thu, 19 Feb 2004, Doug White wrote:
> hey folks,
>
> Looks like the OpenLDAP server, slapd, and KSE don't get along too well.
>
> I can reliably segfault slapd by doing a few requests of it on a -CURRENT
> machine built this morning PST. TLS seems to accelerate things, but it
> can be done without. I have this backtrace, with a debugging libpthread,
> but I'm not sure how useful it is to you folks.
>
> This is 100% reproducible, although initially it was croaking in
> pthread_testcancel() instead of a kse function. This leads me to suspect
> strange mutex corruption, but I'd like someone who understands kse to at
> least spot-check.
>
> I thought at first it might be some strange interaction between berkeley
> db 4.2's special assembly mutexes and kse, but I rebuilt db42 with pthread
> mutexes and rebuilt openldap to use DB_PRIVATE so the db would mount, but
> no change in status.
>
> Here's the trace from gdb:
>
> #0 0x284374a7 in kse_release () at {standard input}:15
> #1 0x28431fed in kse_wait (kse=0x8102000, td_wait=0x0, sigseqno=0)
> at /usr/src/lib/libpthread/thread/thr_kern.c:1816
> #2 0x28430485 in kse_sched_multi (kmbx=0x0)
> at /usr/src/lib/libpthread/thread/thr_kern.c:1011
> #3 0x28434014 in _i386_enter_uts () at {standard input}:25
> #4 0x2842fa4e in _thr_sched_switch (curthread=0x8260000)
> at /usr/src/lib/libpthread/thread/thr_kern.c:596
> #5 0x2842c905 in mutex_lock_common (curthread=0x8260000, m=0x810e304,
> abstime=0x0) at /usr/src/lib/libpthread/thread/thr_mutex.c:555
> #6 0x2842d633 in __pthread_mutex_lock (m=0x810e304)
> at /usr/src/lib/libpthread/thread/thr_mutex.c:796
> #7 0x2839634f in pthread_mutex_lock () from /lib/libc.so.5
This is interesting. pthread_mutex_lock() is from libc, not libpthread!
Are libraries linked in the correct order? -lpthread must be before
-lc (you shouldn't have -lc anyways).
--
Dan Eischen
More information about the freebsd-current
mailing list