(ITS#6174) Permanent high CPU Load with Multimaster
by Frank.Offermanns@caseris.de
Full_Name: Frank Offermanns
Version: 2.4.16
OS: Windows XP/Ubuntu 9.04
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (217.6.189.242)
Hello everyone,
I compiled the LDAP Version 2.4.16 from CVS at 16 June with MINGW/MSYS on
Windows. I used the latest version because every previous 2.4.16 version had
similar problems.
I have two systems working together as multimasters. After a random time (less
than a day) it can happen, that a core of a CPU uses 100 % CPU Load. Both System
seems to be working correctly, but the High CPU Load slows down everything.
No matter how long i wait, this core stays at 100 % CPU load.
On another test a test write operation never returned and I also had the high
CPU load. After i killed my test write process, the slapd.exe crashed. (The
write procees was on a another PC)
I also tested the original/downloadable 2.4.16 with a Windows Cygwin build and a
Ubuntu build. But i had similar problems with each build.
I have not tested the latest Version with Ubuntu or Cygwin. I tried to compile
it with Ubuntu 9.04 to check if this problem is still OS independent but got
this error when calling configure (CPPFLAGS=-D_GNU_SOURCE ./configure
--enable-hdb=mod --enable-bdb=mod --enable-modules=yes --enable-syncprov=mod):
"bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory"
Here is my slapd.conf which i converted with "slapdtest -f slapd.conf -F slapd"
I am not interested in configuration replication.
I know, that for security reasons i should not take the superuser for the
replication, but i did this to simplify my tests.
Personcaesar and ConfigObjects are selfdefined shemas.
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
ucdata-path ./ucdata
include ./schema/core.schema
include ./schema/cosine.schema
include ./schema/Personcaesar.schema
include ./schema/ConfigObjects.schema
loglevel 0
# Define global ACLs to disable default read access.
# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
#referral ldap:/root.openldap.org
pidfile ./run/slapd.pid
argsfile ./run/slapd.args
# Load dynamic backend modules:
# modulepath ./libexec/openldap
# moduleload back_bdb.la
# moduleload back_ldap.la
# moduleload back_ldbm.la
# moduleload back_passwd.la
# moduleload back_shell.la
# Sample security restrictions
# Require integrity protection (prevent hijacking)
# Require 112-bit (3DES or better) encryption for updates
# Require 63-bit encryption for simple bind
# security ssf=1 update_ssf=112 simple_bind=64
# Sample access control policy:
# Root DSE: allow anyone to read it
# Subschema (sub)entry DSE: allow anyone to read it
# Other DSEs:
# Allow self write access
# Allow authenticated users read access
# Allow anonymous users to authenticate
# Directives needed to implement policy:
# access to dn.base="" by * read
# access to dn.base="cn=Subschema" by * read
# access to *
# by self write
# by users read
# by anonymous auth
access to * by dn.one="ou=Admins,o=caesar" write
by * read
ServerID 1 "ldap://CAS-WS090309.ub2.cae.local"
ServerID 2 "ldap://franktestxp.ub2.cae.local"
#
# if no access controls are present, the default policy
# allows anyone and everyone to read anything but restricts
# updates to rootdn. (e.g., "access to * by * read")
#
# rootdn can always read and write EVERYTHING!
#######################################################################
database config
rootdn cn=config
rootpw config
#######################################################################
# BDB database definitions
#######################################################################
database hdb
cachesize 10000
idlcachesize 30000
suffix ""
checkpoint 1024 5
rootdn "cn=Administrator,o=caesar"
# Cleartext passwords, especially for the rootdn, should
# be avoid. See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw secret
# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory "c:/all/data"
dbconfig set_cachesize 0 400000000 1
dbconfig set_flags DB_LOG_AUTOREMOVE
dbconfig set_lg_regionmax 1048576
dbconfig set_lg_max 10485760
dbconfig set_lg_bsize 2097152
# Indices to maintain
index sn pres,eq
index cn pres,eq,sub
index MasterApp pres,eq
index RightVoice pres,eq
index DCOMServer pres,eq
index ExtensionSMS pres,eq
index ExtensionFax pres,eq,sub
index ExtensionVoice pres,eq,sub
index ExtensionCTI pres,eq
index Deleted pres,eq
index GUID pres,eq
index CTIServerName pres,eq,sub
index LastSyncUser pres,eq
index ApplicationPhoneNr pres,eq,sub
index NetDialLoginName pres,eq
index email pres,eq
index FullExtensionVoice pres,eq,sub
index FullExtensionFax pres,eq,sub
index FullExtensionSMS pres,eq
index FullName pres,eq
index PersonalID pres,eq
index entryUUID eq
index entryCSN eq
index objectClass eq
overlay syncprov
syncprov-checkpoint 1000 60
syncprov-sessionlog 10000
syncrepl rid=001
provider="ldap://CAS-WS090309.ub2.cae.local"
searchbase="o=caesar"
type=refreshAndPersist
retry="5 3 15 +"
binddn="cn=Administrator,o=caesar"
bindmethod=simple
credentials="secret"
syncrepl rid=002
provider="ldap://franktestxp.ub2.cae.local"
searchbase="o=caesar"
type=refreshAndPersist
retry="5 3 15 +"
binddn="cn=Administrator,o=caesar"
bindmethod=simple
credentials="secret"
MirrorMode On
sizelimit size.soft=100 size.hard=1000 size.prtotal=unlimited