OpenLDAP: slapd and all clienttools coredumping on FreeBSD 8.1-STABLE/amd64

O. Hartmann ohartman at mail.zedat.fu-berlin.de
Sat Nov 6 14:19:44 UTC 2010


I got three FreeBSD 8.1-STABLE/amd64 servers running acting as OpenLDAP 
servers and clients. On one box every cleint out of the 
openldap-sasl-client suite crashes as well as slapd itself. On all three 
boxes we use identical installations, the OS is mostly identical (most 
recent FreeBSD 8.1-STABLE/amd64).
Well, I tried recompiling everything neccessary for OpenLDAP via 
portmaster -f, but it does not seem to help.

I deleted on the crashing box every config and tried configuring from 
scratch, but then I realized that slapd and, for instance, slapcat, 
coredumping immediately. This happens to all openldap related clients. 
It seems there is a kind of miscompilation. Using truss results in the 
following appended. I feel a little bit desperated since on two boxes 
the OpenLDAP suite works perfectly

  truss /usr/local/libexec/slapd -d 255 -f 
/usr/local/etc/openldap/slapd.conf


=======================================================================
[snip]
fstat(2,{ mode=-rw-r--r-- ,inode=211975,size=1613,blksize=16384 }) = 0 (0x0)
read(2,"# $FreeBSD: stable/8/etc/hosts 1"...,16384) = 1613 (0x64d)
close(2)                                         = 0 (0x0)
open("/usr/local/etc/openldap/ldap.conf",O_RDONLY,0666) = 2 (0x2)
fstat(2,{ mode=-rw-r--r-- ,inode=801488,size=339,blksize=16384 }) = 0 (0x0)
read(2,"#\n# LDAP Defaults\n#\n\n# See l"...,16384) = 339 (0x153)
read(2,0x801e32000,16384)                        = 0 (0x0)
close(2)                                         = 0 (0x0)
geteuid()                                        = 0 (0x0)
getuid()                                         = 0 (0x0)
open("/root/ldaprc",O_RDONLY,0666)               ERR#2 'No such file or 
directory'
open("/root/.ldaprc",O_RDONLY,0666)              ERR#2 'No such file or 
directory'
open("ldaprc",O_RDONLY,0666)                     ERR#2 'No such file or 
directory'
socket(PF_LOCAL,SOCK_DGRAM,0)                    = 2 (0x2)
fcntl(2,F_SETFD,FD_CLOEXEC)                      = 0 (0x0)
connect(2,{ AF_UNIX "/var/run/logpriv" },106)    = 0 (0x0)
write(2,"@(#) $OpenLDAP: slapd 2.4.23 (No"...,153) = 153 (0x99)
clock_gettime(13,{1289053015.000000000 })        = 0 (0x0)
access("/etc/localtime",4)                       ERR#2 'No such file or 
directory'
issetugid(0x8018a45e0,0x8019d9120,0x1,0x2,0x568f6b,0x0) = 0 (0x0)
open("/usr/share/zoneinfo/UTC",O_RDONLY,056)     ERR#2 'No such file or 
directory'
issetugid(0x8018a4521,0x8019d9120,0x0,0x8018a45e8,0x101010101010101,0x8080808080808080) 
= 0 (0x0)
open("/usr/share/zoneinfo/posixrules",O_RDONLY,056) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=71592,size=3519,blksize=16384 }) = 0 (0x0)
read(3,"TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0"...,41448) = 3519 (0xdbf)
close(3)                                         = 0 (0x0)
getpid()                                         = 35315 (0x89f3)
sendto(2,"<167>Nov  6 14:16:55 slapd[35315"...,187,0x0,NULL,0x0) = 187 
(0xbb)
__sysctl(0x7fffffffe8c0,0x2,0x7fffffffe8e0,0x7fffffffe8b8,0x0,0x0) = 0 (0x0)
stat("/etc/nsswitch.conf",{ mode=-rw-r--r-- 
,inode=212011,size=491,blksize=16384 }) = 0 (0x0)
open("/etc/hosts",O_RDONLY,0666)                 = 3 (0x3)
fstat(3,{ mode=-rw-r--r-- ,inode=211975,size=1613,blksize=16384 }) = 0 (0x0)
read(3,"# $FreeBSD: stable/8/etc/hosts 1"...,16384) = 1613 (0x64d)
close(3)                                         = 0 (0x0)
write(2,"ldap_pvt_gethostbyname_a: host=t"...,61) = 61 (0x3d)
write(2,"daemon_init: <null>\n",20)              = 20 (0x14)
getrlimit(RLIMIT_NOFILE,{ cur=11095,max=11095 }) = 0 (0x0)
pipe(0x64b748)                                   = 0 (0x0)
fcntl(4,F_GETFL,)                                = 2 (0x2)
fcntl(4,F_SETFL,O_NONBLOCK|0x2)                  = 0 (0x0)
write(2,"daemon_init: listen on ldap:///"...,32) = 32 (0x20)
write(2,"daemon_init: 1 listeners to open"...,36) = 36 (0x24)
write(2,"ldap_url_parse_ext(ldap:///)\n",29)     = 29 (0x1d)
socket(PF_INET6,SOCK_DGRAM,0)                    ERR#43 'Protocol not 
supported'
socket(PF_INET,SOCK_DGRAM,0)                     = 5 (0x5)
close(5)                                         = 0 (0x0)
socket(PF_INET,SOCK_STREAM,0)                    = 5 (0x5)
setsockopt(0x5,0xffff,0x4,0x7fffffffea0c,0x4,0x0) = 0 (0x0)
bind(5,{ AF_INET 0.0.0.0:389 },16)               = 0 (0x0)
write(2,"daemon: listener initialized lda"...,38) = 38 (0x26)
write(2,"daemon_init: 1 listeners opened"...,32) = 32 (0x20)
write(2,"ldap_create\n",12)                      = 12 (0xc)
SIGNAL 11 (SIGSEGV)
process exit, rval = 0
=======================================================================

And for slapcat:

=======================================================================
[snip]

sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) 
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) 
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) 
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) 
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
getpid()                                         = 35317 (0x89f5)
__sysctl(0x7fffffffe3e0,0x2,0x801afd370,0x7fffffffe3e8,0x0,0x0) = 0 (0x0)
__sysctl(0x7fffffffe370,0x2,0x7fffffffe300,0x7fffffffe368,0x8019f76a8,0xd) 
= 0 (0x0)
__sysctl(0x7fffffffe300,0x3,0x801afc268,0x7fffffffe3e8,0x0,0x0) = 0 (0x0)
__sysctl(0x7fffffffe3a0,0x2,0x8019d07c8,0x7fffffffe398,0x0,0x0) = 0 (0x0)
__sysctl(0x7fffffffdec0,0x2,0x8019d0088,0x7fffffffdeb8,0x0,0x0) = 0 (0x0)
__sysctl(0x7fffffffdde0,0x2,0x7fffffffdd70,0x7fffffffddd8,0x80189d220,0xc) 
= 0 (0x0)
__sysctl(0x7fffffffdd70,0x2,0x8019d0290,0x7fffffffde38,0x0,0x0) = 0 (0x0)
readlink("/etc/malloc.conf",0x7fffffffdee0,1024) ERR#2 'No such file or 
directory'
issetugid(0x80189bed9,0x7fffffffdee0,0xffffffffffffffff,0x0,0x2,0x0) = 0 
(0x0)
break(0x800000)                                  = 0 (0x0)
__sysctl(0x7fffffffe1a0,0x2,0x7fffffffe1bc,0x7fffffffe1b0,0x0,0x0) = 0 (0x0)
mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 
34389143552 (0x801c0b000)
mmap(0x801e0b000,2052096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) 
= 34391240704 (0x801e0b000)
munmap(0x801c0b000,2052096)                      = 0 (0x0)
thr_self(0x801e041c0,0x0,0x0,0x0,0x188,0x801e00080) = 0 (0x0)
mmap(0x7fffffbff000,4096,PROT_NONE,MAP_ANON,-1,0x0) = 140737484156928 
(0x7fffffbff000)
thr_set_name(0x187f7,0x8019f76f0,0x400000,0x1000,0xffffffff,0x0) = 0 (0x0)
rtprio_thread(0x0,0x187f7,0x7fffffffe390,0x1000,0xffffffff,0x0) = 0 (0x0)
sysarch(0x81,0x7fffffffe3b0,0x801afbe40,0x801afc048,0xffffffff,0x0) = 0 
(0x0)
sigprocmask(SIG_SETMASK,SIGHUP|SIGINT|SIGQUIT|SIGILL|SIGABRT|SIGEMT|SIGFPE|SIGKILL|SIGBUS|SIGSEGV|SIGSYS|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) 
= 0 (0x0)
sigaction(32,{ 0x8019f0fc0 SA_RESTART|SA_SIGINFO ss_t },0x0) = 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) 
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) 
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) 
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) 
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2,0x0) 
= 0 (0x0)
sigprocmask(SIG_SETMASK,0x0,0x0)                 = 0 (0x0)
SIGNAL 11 (SIGSEGV)
process exit, rval = 0
thor#


More information about the freebsd-questions mailing list