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

(ITS#7273) Sig abort crash in slapd using GSSAPI auth in slap_listener at daemon.c:1891



Full_Name: Stefan Wold
Version: 2.4.31
OS: Ubuntu and Lunar Linux
URL: 
Submission from: (NULL) (77.238.32.111)


I can reproduce a sig abort crash in both Ubuntu and Lunar Linux using OpenLDAP
2.4.31. This crash only seem occur when I run ~20 concurrent ldap searches using
-YGSSAPI for authentication, using simple bind (-x) I can't reproduce the crash.
Usually slapd crash within a couple of hours using GSSAPI. My test case is quite
simple, I start 20 threads that loop the following command: ldapsearch -h server
-YGSSAPI uid=user
In Ubuntu openldap is linked against cyrus-sasl which links to MIT kerberos. In
Lunar Linux cyrus-sasl is linked against heimdal. In this case it doesn't seem
to matter which kerberos implementation is used.

Here's a brief gdb backtrace:

Core was generated by `/usr/lib/slapd -d 0 -h ldap:/// ldaps:/// -f
/etc/openldap/slapd.conf'.
Program terminated with signal 6, Aborted.
#0  0x00007f70313293c5 in raise () from /lib/libc.so.6
(gdb) bt
#0  0x00007f70313293c5 in raise () from /lib/libc.so.6
#1  0x00007f703132a83b in abort () from /lib/libc.so.6
#2  0x00007f703132226e in __assert_fail_base () from /lib/libc.so.6
#3  0x00007f7031322312 in __assert_fail () from /lib/libc.so.6
#4  0x00000000004310e7 in slap_listener (sl=0x15c30d0) at daemon.c:1891
#5  0x0000000000431109 in slap_listener_thread (ctx=<optimized out>,
ptr=<optimized out>) at daemon.c:2093
#6  0x00007f7032e7dcda in ldap_int_thread_pool_wrapper (xpool=0x15ff920) at
tpool.c:688
#7  0x00007f703165cce0 in start_thread () from /lib/libpthread.so.0
#8  0x00007f70313c7abd in clone () from /lib/libc.so.6

For a full backtrace: https://gist.github.com/a82d5b3dfdac7abc8e27

-- 
Sincerely
Stefan Wold
IT services, Stockholm University
Sweden