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

(ITS#7150) SEGFAULT in openldap-2.4.28 & 2.4.29



Full_Name: dcoutadeur
Version: 2.4.28
OS: Red Hat Enterprise Linux Server release 5.7 (Tikanga)
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (109.197.176.10)



Hi everybody,

I have encountered a bug on openldap 2.4.28 and openldap 2.4.29 (ie git
version)
slapd is shutting down with no message in the logs when I try to do a load
benchmark with a soft in C.
The test consists in 20 threads doing 100 times these operations in the order :
 - 1 entry add
 - 1 modification on this entry
 - 1 deletion on this entry
Of course, some operations ends up with ldap errors, because the entry does not
exist, and so on...

During the load testing, Openldap is reacting as expected. If I stop the test
while it runs, then the bug occurs (nearly systematically)

You can check my configuration and the stacktrace here.
Thank you in advance for helping.


# ----------------------------------------------------------------------------
# Global section
# ----------------------------------------------------------------------------

sizelimit 15000

allow bind_v2
password-hash {SSHA}
threads         8
loglevel         256

serverID        2

include         /opt/openldap/etc/openldap/inc_shemas/slapd-schemas.conf

pidfile         /opt/openldap/var/run/slapd.pid
argsfile        /opt/openldap/var/run/slapd.args

# ACLs definition (cutted here)

#######################################################################
# SSL definitions
#######################################################################
# Definition of cert files
# ---------------------------------
TLSCipherSuite          HIGH:MEDIUM:+SSLv2

TLSCACertificateFile    /usr/local/openldap/etc/certs/ca.cert
TLSCertificateFile      /usr/local/openldap/etc/certs/ldap-master-2.cert
TLSCertificateKeyFile   /usr/local/openldap/etc/certs/ldap-master-2.key

TLSVerifyClient         never 



#######################################################################
# BDB database definitions
#######################################################################
database        monitor

#######################################################################
# suffix dc=example,dc=com
# --------------------
#######################################################################
database        bdb
directory       /opt/openldap/var/openldap-data
# some indexes

# ----------------------------------------------------------------------------
# root suffix
# ----------------------------------------------------------------------------
suffix          "dc=example,dc=com"
checkpoint      512     10

# ----------------------------------------------------------------------------
# cache settings
# ----------------------------------------------------------------------------

cachesize 60000
dncachesize 60000
idlcachesize 60000
cachefree 100

rootdn          "cn=Manager,dc=example,dc=com"
rootpw          secret

# Password policy : hash the clear passwords
overlay ppolicy
ppolicy_hash_cleartext


# ----------------------------------------------------------------------------
# REPLICATION definitions
# ----------------------------------------------------------------------------
#######################################################################

# I am a master (provider)
# ------------------------------------------
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100

# syncrepl directive (consummer infos)
# ------------------------------------------
syncrepl      rid=001
              provider=ldap://ldap-master-1.example.com
              bindmethod=simple
              binddn="uid=ReplicationMaster,ou=Replication,ou=Special
Users,dc=example,dc=com"
              credentials=secret
              searchbase="dc=example,dc=com"
              schemachecking=on
              type=refreshAndPersist
              retry="60 +"

mirrormode on


# ----------------------------------------------------------------------------
# limits
# ----------------------------------------------------------------------------

limits dn.exact="uid=ReplicationMaster,ou=Replication,ou=Special
Users,dc=example,dc=com" size=unlimited time=unlimited
limits dn.exact="uid=ReplicationHub,ou=Replication,ou=Special
Users,dc=example,dc=com" size=unlimited time=unlimited
limits dn.exact="uid=ReplicationLSC,ou=Replication,ou=Special
Users,dc=example,dc=com" size=unlimited time=unlimited


#######################################################################
# suffix o=edition
# ----------------
#######################################################################
database        bdb

directory       /opt/openldap/var/openldap-data-edition
# some indexes


# ----------------------------------------------------------------------------
# root suffix
# ----------------------------------------------------------------------------
suffix          "o=edition"
checkpoint      512     10

# ----------------------------------------------------------------------------
# cache settings
# ----------------------------------------------------------------------------

cachesize 50000
dncachesize 50000
idlcachesize 50000
cachefree 100



# ----------------------------------------------------------------------------
# rootdn
# ----------------------------------------------------------------------------
# Cleartext passwords, especially for the rootdn, should
# be avoid.  See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootdn          "cn=Manager,o=edition"
rootpw          secret

# Password policy : hash the clear passwords
overlay ppolicy
ppolicy_hash_cleartext


#######################################################################
# REPLICATION definitions
#######################################################################

# I am a master (provider)
# ------------------------------------------
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100

# syncrepl directive (consummer infos)
# ------------------------------------------
syncrepl      rid=002
              provider=ldap://vspar-ldap-master-1.example.com
              bindmethod=simple
              binddn="uid=ReplicationMaster,ou=Replication,ou=Special
Users,dc=example,dc=com"
              credentials=secret
              searchbase="o=edition"
              schemachecking=on
              type=refreshAndPersist
              retry="60 +"

mirrormode on

# ----------------------------------------------------------------------------
# Limits for current BDB
# ----------------------------------------------------------------------------

limits dn.exact="uid=ReplicationMaster,ou=Replication,ou=Special
Users,dc=example,dc=com" size=unlimited time=unlimited
limits dn.exact="uid=ReplicationHub,ou=Replication,ou=Special
Users,dc=example,dc=com" size=unlimited time=unlimited
limits dn.exact="uid=ReplicationLSC,ou=Replication,ou=Special
Users,dc=example,dc=com" size=unlimited time=unlimited




###############################################################
######################## STACKTRACE ###########################
###############################################################



(gdb) thread apply all bt

Thread 10 (Thread 32314):
#0  0x006b3402 in ?? ()
#1  0x00822a77 in ?? ()
#2  0xbffb3a5c in ?? ()
#3  0x00822930 in ?? ()
#4  0x9c5b2d90 in ?? ()
#5  0x00000000 in ?? ()

Thread 9 (Thread 32325):
#0  0x006b3402 in ?? ()
#1  0x00203ae6 in ?? ()
#2  0x00000000 in ?? ()

Thread 8 (Thread 32326):
#0  0x006b3402 in ?? ()
#1  0x001e790c in ?? ()
#2  0x006152b7 in ?? ()
#3  0x006152a9 in ?? ()
#4  0x8ccb5258 in ?? ()
#5  0x8ddb7cd8 in ?? ()
#6  0x0818d941 in syncprov_op_mod (op=0x8240880, rs=0x8ddb7ca8) at
syncprov.c:2112
Backtrace stopped: frame did not save the PC

Thread 7 (Thread 32327):
#0  0x006b3402 in ?? ()
#1  0x001e790c in ?? ()
#2  0x006152b7 in ?? ()
---Type <return> to continue, or q <return> to quit---
#3  0x006152a9 in ?? ()
#4  0x8cbb4258 in ?? ()
#5  0x8d9b7e68 in ?? ()
#6  0x0818d941 in syncprov_op_mod (op=0x8240880, rs=0x8d9b7e38) at
syncprov.c:2112
Backtrace stopped: frame did not save the PC

Thread 6 (Thread 32328):
#0  0x006b3402 in ?? ()
#1  0x001e790c in ?? ()
#2  0x006152b7 in ?? ()
#3  0x006152a9 in ?? ()
#4  0x8c9b2258 in ?? ()
#5  0x8d5b6e68 in ?? ()
#6  0x0818d941 in syncprov_op_mod (op=0x8240880, rs=0x8d5b6e38) at
syncprov.c:2112
Backtrace stopped: frame did not save the PC

Thread 5 (Thread 32329):
#0  0x0019673c in ?? ()
#1  0x8d1b4fed in ?? ()
#2  0x089bfbd0 in ?? ()
#3  0x00000018 in ?? ()
#4  0x00000009 in ?? ()
#5  0x081b2684 in ?? ()
#6  0x0000000a in ?? ()
#7  0x8d1b4fed in ?? ()
#8  0x00285ff4 in ?? ()
#9  0x081b267a in ?? ()
#10 0x0000000a in ?? ()
---Type <return> to continue, or q <return> to quit---
#11 0x8d1b4e98 in ?? ()
#12 0x0016d391 in ?? ()
#13 0x8d1b4ebc in ?? ()
#14 0x081b267a in ?? ()
#15 0x0000000a in ?? ()
#16 0x0012eed5 in ?? ()
#17 0x00000000 in ?? ()

Thread 4 (Thread 32392):
#0  0x006b3402 in ?? ()
#1  0x001e790c in ?? ()
#2  0x006152b7 in ?? ()
#3  0x006152a9 in ?? ()
#4  0x8b6ab258 in ?? ()
#5  0x8c5afc98 in ?? ()
#6  0x0818d941 in syncprov_op_mod (op=0x8240880, rs=0x8c5afc68) at
syncprov.c:2112
Backtrace stopped: frame did not save the PC

Thread 3 (Thread 32393):
#0  0x006b3402 in ?? ()
#1  0x001e790c in ?? ()
#2  0x006152b7 in ?? ()
#3  0x006152a9 in ?? ()
#4  0x8b7ac258 in ?? ()
#5  0x8c1adcd8 in ?? ()
#6  0x0818d941 in syncprov_op_mod (op=0x8240880, rs=0x8c1adca8) at
syncprov.c:2112
Backtrace stopped: frame did not save the PC

---Type <return> to continue, or q <return> to quit---
Thread 2 (Thread 32394):
#0  0x006b3402 in ?? ()
#1  0x001e790c in ?? ()
#2  0x006152b7 in ?? ()
#3  0x006152a9 in ?? ()
#4  0x8b5aa258 in ?? ()
#5  0x8bcace68 in ?? ()
#6  0x0818d941 in syncprov_op_mod (op=0x8240880, rs=0x8bcace38) at
syncprov.c:2112
Backtrace stopped: frame did not save the PC

Thread 1 (Thread 32391):
#0  0x0818d9c2 in syncprov_op_mod (op=0x89b2fe0, rs=0x8c9b1108) at
syncprov.c:2118
#1  0x080dff34 in overlay_op_walk (op=0x89b2fe0, rs=0x8c9b1108, which=op_add,
oi=0x87c98a8, on=0x87cbe98) at backover.c:661
#2  0x080e049a in over_op_func (op=0x89b2fe0, rs=0x8c9b1108, which=op_add) at
backover.c:723
#3  0x0807eeb9 in fe_op_add (op=0x89b2fe0, rs=0x8c9b1108) at add.c:334
#4  0x0807f7a3 in do_add (op=0x89b2fe0, rs=0x8c9b1108) at add.c:194
#5  0x0807759d in connection_operation (ctx=0x8c9b11e8, arg_v=0x89b2fe0) at
connection.c:1138
#6  0x08077f6d in connection_read_thread (ctx=0x8c9b11e8, argv=0x2f) at
connection.c:1274
#7  0x006145e4 in ?? ()
#8  0x8c9b11e8 in ?? ()
#9  0x0000002f in ?? ()
#10 0x00000000 in ?? ()