[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: Problem with Solaris8
Dear All,
After couple of days experimenting with OpenLDAP 2.0.15 source
code, I finally isolated the problem with slapd core dumping under
Solaris 5.8 Sun Sparc SMP machines. Turned out the debug logging
function is not thread-safe, which is a big surprise, since it works
fine under Solaris 5.6. Either Sun changed their implementation of
va_start, vsnprintf, or the include files loading sequence need to
be re-worked for Solaris.
For the time being, I have couple of solutions that'll work.
1. Don't use Solairs 5.8 :-(
2. Disable debug logging for production deployment :-|
3. Find a replacement for the debug logging function, here is
what I did that works for me :-)
In include/ldap_log.h file, line 66 -
Replace ...
#define Debug( level, fmt, arg1, arg2, arg3 ) \
do { \
lutil_debug( ldap_debug, (level), (fmt), (arg1), (arg2),
(arg3) ); \
if ( ldap_syslog & (level) ) \
syslog( ldap_syslog_level, (fmt), (arg1),
(arg2), (arg3) ); \
} while ( 0 )
With ...
#define Debug( level, fmt, arg1, arg2, arg3 ) \
do { \
if ( ldap_debug & (level) ) \
fprintf( stderr, (fmt), (arg1), (arg2), (arg3)
); \
if ( ldap_syslog & (level) ) \
syslog( ldap_syslog_level, (fmt), (arg1),
(arg2), (arg3) ); \
} while ( 0 )
Tsurng-Chen Chern wrote:
>
> Hi, Y'all,
>
> Anybody got slapd running on Solaris8. Here is my problem,
> when I ran multi-threaded slapd on multiple CPU Sun Sparc
> Solaris 5.8 machine, it core dumped in libc library. Of course,
> the core dump only occurs when I hit it with lots of processes
> generating lots of queries. The same program can run under same
> condiftion on single CPU machine without any problem, also
> no problem on Solaris 5.6 machines.
>
> Just like to see if anybody run into the same problem here.
> And if any, what is the solution?
--
Max Chern, Senior Software Engineer/DBA | Voice: 626-296-5014
EarthLink, Inc. | Fax: 626-296-5113
maxchern@corp.earthlink.net | 3100 New York Drive, Ste.
201
http://www.earthlink.net/ | Pasadena, CA 91107