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

slapd crashes under Solaris 8



I have been stress-testing slapd under Solaris 8 Intel by running 2
concurrent ldapadds with 100.000 entry LDIF files each. After a few
minutes, the system will crash with a SIGSEGV in _reap in the thread
library.

The version is OpenLDAP 1.2.11 built with pthreads and db-2.7.7
(compiled with -D_REENTRANT).

I have found a workaround by setting LD_LIBRARY_PATH to start with
/usr/lib/lwp, which uses the new Solaris 8 "1-1" threads library. When
running under GDB, I found slapd was spawning an LWP for each request.
This is clearly not as efficient as reusing existing LWPs (65% of CPU
time is now system time, probably due to all the LWP startup overhead),
but at least now the crashes seem to have gone.

I have read some emails on this lists' archives from Kurt Zeiling
casting doubts on slapd's ability to work with a preemptive thread
library such as pthreads. I don't see how moving to the 1-1 library
could solve this problem as it is also preemptive. Perhaps it has only
made the window of vulnerability in a race condition smaller.

Has anybody experienced this problem and found a solution on Solaris 8?

Thanks,

--
Fazal Majid                          Kefta.com
fmajid@kefta.com                     153 Kearny St. Suite 209
+1 415 391 6881 ext 8014             San Francisco, CA 94108, USA