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

RE: Problem with Solaris8



I've already made this identical patch in the development branch.
It is definitely a good move for production environments.

  -- Howard Chu
  Chief Architect, Symas Corp.       Director, Highland Sun
  http://www.symas.com               http://highlandsun.com/hyc  

> -----Original Message-----
> From: owner-openldap-software@OpenLDAP.org
> [mailto:owner-openldap-software@OpenLDAP.org]On Behalf Of Tsurng-Chen
> Chern
> Sent: Friday, October 05, 2001 10:28 AM
> To: openldap-software@OpenLDAP.org
> Subject: 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
>