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

Re: OpenLDAP coredumps on startup (Solaris 10)



Daniel Hoffend wrote:
Hello

I'm setting up an openldap directory server (2.4.13) including a 2nd one
for as backup/failover partner. After i compiled everything, installing,
configuring everything (database, sync, schema, etc) and imported the
basic LDAP Layout (ou=Users,ou=Groups, etc), I wanted to use this
directory as Userdirectory for Userauthentication on ldap.

I was switching user/group lookups using the 'ldapclient' command and
modified to /etc/nsswitch.conf to refer for "files ldap" for passwd and
group.

Everything seems to work. 'genent passwd' and 'getent group' is listing
my ldap user and groups. But when i try to restart the slapd server it
crashes sometimes with a coredump.

Whenever you get a coredump, the most useful thing to do is to actually examine the coredump. Use a debugger to get a stack trace from the core file.

---------------------------------------------------------------------- # /usr/local/libexec/slapd -d 65535 -u openldap -g openldap @(#) $OpenLDAP: slapd 2.4.13 (Jan 30 2009 12:02:48) $ root@ldapserver:/usr/local/src/openldap-2.4.13/servers/slapd ldap_pvt_gethostbyname_a: host=ldapserver, r=0 daemon_init:<null> daemon_init: listen on ldap:/// daemon_init: 1 listeners to open... ldap_url_parse_ext(ldap:///) daemon: listener initialized ldap:/// daemon_init: 2 listeners opened ldap_create Bus Error (core dumped) ----------------------------------------------------------------------

Not everytime, sometimes several times in a row, sometimes after a 2nd
start. I've no clue what it could be.

In the ldap logfile, i found the 2 following lines

----------------------------------------------------------------------
an 30 16:26:56 ldapserver slapd[9494]: [ID 555073 local4.error] tid= 1:
multiple threads per connection not supported
Jan 30 16:26:56 ldapserver slapd[9494]: [ID 555073 local4.error] tid= 1:
multiple threads per connection not supported
----------------------------------------------------------------------

There is no such message anywhere in the OpenLDAP code. I suspect your're using the Sun NSS libraries and hitting a conflict between OpenLDAP's and Sun's libldap. It's worth noting that in future OpenSolaris releases, they will be shipping OpenLDAP's libraries and abandoning their old libldap.


I started to run the slapd server using "truss" to see when the server
starts to coredump.

----------------------------------------------------------------------
# truss /usr/local/libexec/slapd -d 65535 -u openldap -g openldap
[...]
open("/etc/nsswitch.conf", O_RDONLY|O_LARGEFILE) = 9
fcntl(9, F_DUPFD, 0x00000100)                   Err#22 EINVAL
read(9, " #\n #   C o p y r i g h".., 1024)     = 1024
read(9, " g u r e   i t   o u t  ".., 1024)     = 245
read(9, 0xFF092400, 1024)                       = 0
close(9)                                        = 0
fstat(3, 0xFFBFCAE8)                            = 0
time()                                          = 1233329411
getpid()                                        = 9512 [9511]
putmsg(3, 0xFFBFC1A0, 0xFFBFC194, 0)            = 0
open("/var/run/syslog_door", O_RDONLY)          = 9
door_info(9, 0xFFBFC0D8)                        = 0
getpid()                                        = 9512 [9511]
door_call(9, 0xFFBFC0C0)                        = 0
close(9)                                        = 0
fstat(3, 0xFFBFCB88)                            = 0
time()                                          = 1233329411
getpid()                                        = 9512 [9511]
putmsg(3, 0xFFBFC240, 0xFFBFC234, 0)            = 0
open("/var/run/syslog_door", O_RDONLY)          = 9
door_info(9, 0xFFBFC178)                        = 0
getpid()                                        = 9512 [9511]
door_call(9, 0xFFBFC160)                        = 0
close(9)                                        = 0
     Incurred fault #5, FLTACCESS  %pc = 0x0008E1FC
       siginfo: SIGBUS BUS_ADRALN addr=0x00000191
     Received signal #10, SIGBUS [default]
       siginfo: SIGBUS BUS_ADRALN addr=0x00000191
----------------------------------------------------------------------

It looks like after reading nsswitch.conf, the server starts to crash. I
changed the following lines in the nsswitch.conf and the server starts
fine without any further problems. (even 20x in a row)

----------------------------------------------------------------------
Before: group   files ldap
After:  group   files
----------------------------------------------------------------------

Another thing is: If the server could startup without problems, it never
crashed again. It's only sometimes during the initial startup.


I would be happy if anyone could help me or point me what i could adjust. If needed i could provide more information.




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