Full_Name: Samuel Tran
Version: 2.3.43
OS: CentOS 5.x
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (216.73.248.203)
If I lock an account on a consumer 'pwdMaxFailure' consecutive failed bind
attempts, two password changes on the provider is required to unlock the account
on the consumer.
The first password change updates 'userPassword', 'pwdChangedTime' and removes
'pwdFailureTime'. The second updates 'userPassword', 'pwdChangedTime' and
removes 'pwdAccountLockedTime'.
The replication mode is delta-syncrepl.
Here is the configuration file on the provider:
#-------------------------------------------------
# Accesslog DB definition (slapo-accesslog)
#-------------------------------------------------
database hdb
suffix "cn=accesslog"
rootdn "cn=root,cn=accesslog"
rootpw {SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
directory /var/lib/ldap/accesslog
index default eq
index entryUUID,entryCSN,objectClass,reqEnd,reqResult,reqStart
limits dn.exact="cn=syncrepl,ou=Accounts,ou=Apps,dc=example,dc=com"
time.soft=unlimited time.hard=unlimited size.soft=unlimited size.hard=unlimited
overlay syncprov
syncprov-nopresent TRUE
syncprov-reloadhint TRUE
#-------------------------------------------------
# Primary example.com database definition
#-------------------------------------------------
database hdb
suffix "dc=example,dc=com"
rootdn "cn=Manager,dc=example,dc=com"
rootpw {SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxx
directory /var/lib/ldap/example.com
[snip]
index objectClass,uidNumber,gidNumber,memberUid,employeeNumber eq,pres
index employeeType,accountActive,ftpActive,mailActive,vacationActive,ou,mailRoutingAddress
eq
index cn,mail,surname,givenname eq,pres,subinitial
index displayName,gecos,telephoneNumber sub,subany
index uid,aliasUid eq,sub,subany
index entryUUID,entryCSN eq
limits dn.exact="cn=syncrepl,ou=Accounts,ou=Apps,dc=example,dc=com"
time.soft=unlimited time.hard=unlimited size.soft=unlimited size.hard=unlimited
overlay syncprov
syncprov-checkpoint 100 30
syncprov-sessionlog 100
overlay accesslog
logdb cn=accesslog
logops writes
logsuccess TRUE
logpurge 28+00:00 01+00:00
overlay ppolicy
ppolicy_use_lockout
Here is the configuration file on the consumer:
#-------------------------------------------------
# Primary example.com database definition
#-------------------------------------------------
database hdb
suffix "dc=example,dc=com"
rootdn "cn=Manager,dc=example,dc=com"
rootpw {SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
directory /var/lib/ldap/example.com
[snip]
index objectClass,uidNumber,gidNumber,memberUid,employeeNumber eq,pres
index employeeType,accountActive,ftpActive,mailActive,vacationActive,ou,mailRoutingAddress,mailAlternateAddress,mailAliasActive,allowedService
eq
index cn,mail,surname,givenname eq,pres,subinitial
index displayName,gecos,telephoneNumber sub,subany
index uid,aliasUid eq,sub,subany
index entryUUID eq
#############################################################
# Syncrepl - Consumer configuration
#############################################################
syncrepl rid=002
provider=ldaps://info-ldap-001.example.com:636
bindmethod=simple
binddn="cn=syncrepl,ou=Accounts,ou=Apps,dc=example,dc=com"
credentials=xxxxxxxx
type=refreshAndPersist
retry="5 +"
searchbase="dc=example,dc=com"
logbase="cn=accesslog"
logfilter="(&(objectClass=auditWriteObject)(reqResult=0))"
schemachecking=on
syncdata=accesslog
overlay ppolicy
ppolicy_use_lockout
The problem is similar to the one reported in ITS #5398 for OL 2.4.8.
I saw Howard's reply stating that he was not able to reproduce the problem in
the current OL 2.4.x code. I was wondering if someone was able to reproduce the
problem using OL 2.3.43.
Thanks.
Luca Scamoni wrote:
> Howard Chu ha scritto:
>> HEAD has been changed to silently ignore these cases, please test.
>>
>> (I guess we could log something at LDAP_DEBUG_CONFIG level but that
>> seems unnecessary at the moment.)
>>
> thanks,
> now it doesn't segfaults anymore but something like:
> modulepath /usr/local/openldap/sbin
> moduleload syncprov.la
> moduleload back_hdb.la
> moduleload syncprov.la
>
> becomes:
> dn: cn=module{0},cn=config
> objectClass: olcModuleList
> cn: module{0}
> olcModulePath: /usr/local/openldap/sbin
> olcModuleLoad: {0}syncprov.la
> olcModuleLoad: {1}back_hdb.la
> olcModuleLoad: {2}syncprov.la
>
> any chance this can cause problems?
It's a bit redundant. Perhaps we should fail it instead.
> about logging I vote for it
>
>
> Ing. Luca Scamoni
> Responsabile Ricerca e Sviluppo
>
> SysNet s.r.l.
> via Dossi, 8 - 27100 Pavia - ITALIA
> http://www.sys-net.it
> -----------------------------------
> Office: +39 0382 573859 (137)
> Mobile: +39 347 1014425
> Fax: +39 0382 476497
> Email: luca.scamoni(a)sys-net.it
> -----------------------------------
>
>
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/
Howard Chu ha scritto:
> HEAD has been changed to silently ignore these cases, please test.
>
> (I guess we could log something at LDAP_DEBUG_CONFIG level but that
> seems unnecessary at the moment.)
>
thanks,
now it doesn't segfaults anymore but something like:
modulepath /usr/local/openldap/sbin
moduleload syncprov.la
moduleload back_hdb.la
moduleload syncprov.la
becomes:
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/local/openldap/sbin
olcModuleLoad: {0}syncprov.la
olcModuleLoad: {1}back_hdb.la
olcModuleLoad: {2}syncprov.la
any chance this can cause problems?
about logging I vote for it
Ing. Luca Scamoni
Responsabile Ricerca e Sviluppo
SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
-----------------------------------
Office: +39 0382 573859 (137)
Mobile: +39 347 1014425
Fax: +39 0382 476497
Email: luca.scamoni(a)sys-net.it
-----------------------------------
After around 24 hours, backtrace is the same:
(gdb) thr apply all bt
Thread 5 (Thread 1106889024 (LWP 9361)):
#0 0x00002b7817902496 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
#1 0x00002b7819f27de9 in bdb_tool_trickle_task (ctx=<value optimized out>,
ptr=<value optimized out>) at tools.c:1124
#2 0x00002b781715a2ca in ldap_int_thread_pool_wrapper (xpool=0x17e07fd0)
at ../../../libraries/libldap_r/tpool.c:663
#3 0x00002b78178fe2f7 in start_thread () from /lib64/libpthread.so.0
#4 0x000000395e0d1e3d in clone () from /lib64/libc.so.6
Thread 4 (Thread 1115281728 (LWP 9362)):
#0 0x00002b7817902496 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
#1 0x00002b7819f28163 in bdb_tool_index_task (ctx=<value optimized out>,
ptr=<value optimized out>) at tools.c:1147
#2 0x00002b781715a2ca in ldap_int_thread_pool_wrapper (xpool=0x17e07fd0)
at ../../../libraries/libldap_r/tpool.c:663
#3 0x00002b78178fe2f7 in start_thread () from /lib64/libpthread.so.0
#4 0x000000395e0d1e3d in clone () from /lib64/libc.so.6
Thread 3 (Thread 1123674432 (LWP 9363)):
#0 0x00002b7817902496 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
#1 0x00002b7819f28163 in bdb_tool_index_task (ctx=<value optimized out>,
ptr=<value optimized out>) at tools.c:1147
#2 0x00002b781715a2ca in ldap_int_thread_pool_wrapper (xpool=0x17e07fd0)
at ../../../libraries/libldap_r/tpool.c:663
#3 0x00002b78178fe2f7 in start_thread () from /lib64/libpthread.so.0
#4 0x000000395e0d1e3d in clone () from /lib64/libc.so.6
Thread 2 (Thread 1132067136 (LWP 9360)):
#0 0x00002b7817902496 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
#1 0x00002b7819f28014 in bdb_tool_index_add (op=0x7fff93950310, txn=<value
optimized out>, e=0x2b7b521d2068) at tools.c:475
#2 0x00002b7819f28970 in hdb_tool_entry_put (be=0x17f39240,
e=0x2b7b521d2068, text=0x7fff93960cc0) at tools.c:545
#3 0x00000000004906f9 in slapadd (argc=<value optimized out>,
argv=0x7fff93960ec8) at ../../../servers/slapd/slapadd.c:350
#4 0x0000000000416c59 in main (argc=6, argv=0x7fff93960ec8) at
../../../servers/slapd/main.c:391
Thread 1 (Thread 47794824997056 (LWP 9360)):
#0 0x00002b7817902496 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
#1 0x00002b7819f28014 in bdb_tool_index_add (op=0x7fff93950310, txn=<value
optimized out>, e=0x2b7b521d2068) at tools.c:475
#2 0x00002b7819f28970 in hdb_tool_entry_put (be=0x17f39240,
e=0x2b7b521d2068, text=0x7fff93960cc0) at tools.c:545
#3 0x00000000004906f9 in slapadd (argc=<value optimized out>,
argv=0x7fff93960ec8) at ../../../servers/slapd/slapadd.c:350
#4 0x0000000000416c59 in main (argc=6, argv=0x7fff93960ec8) at
../../../servers/slapd/main.c:391
#0 0x00002b7817902496 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
--On Sunday, March 22, 2009 2:37 AM +0000 quanah(a)zimbra.com wrote:
> --On Saturday, March 21, 2009 7:09 PM -0700 Howard Chu <hyc(a)symas.com>
> wrote:
>
>> quanah(a)zimbra.com wrote:
>>> Full_Name: Quanah Gibson-Mount
>>> Version: RE24 3/19/2009
>>> OS: Linux 2.6
>>> URL: ftp://ftp.openldap.org/incoming/
>>> Submission from: (NULL) (75.111.29.239)
>>>
>>>
>>> While testing various load scenarios, slapadd deadlocked on me.
>>
>> The trace for thread 1 and 2 look identical, so I'm assuming they're the
>> same thread. In that case I see 3 tool threads running. How many did you
>> have configured? If 1 and 2 are really different threads (certainly their
>> thread IDs look quite different), then there's something very wrong in
>> the thread library...
>>
>> print bdb_tool_index_tcount
>>
>
> (gdb) print bdb_tool_index_tcount
> $1 = 1
>
>
>> It looks like one thread has exited early. I'm not sure how that can
>> happen since the only way for any index thread to exit is if
>> slapd_shutdown is set. Is it set?
>
> (gdb) print slapd_shutdown
> $2 = 0
>
>
> It's configured with 4 tool threads.
>
> --Quanah
>
>>> (gdb) thr apply all bt
>>>
>>> Thread 5 (Thread 1106889024 (LWP 9361)):
>>> # 0 0x00002b7817902496 in pthread_cond_wait@@GLIBC_2.3.2 () from
>>> /lib64/libpthread.so.0
>>> # 1 0x00002b7819f27de9 in bdb_tool_trickle_task (ctx=<value optimized
>>> # out>,
>>> ptr=<value optimized out>) at tools.c:1124
>>> # 2 0x00002b781715a2ca in ldap_int_thread_pool_wrapper
>>> # (xpool=0x17e07fd0) at
>>> ../../../libraries/libldap_r/tpool.c:663
>>> # 3 0x00002b78178fe2f7 in start_thread () from /lib64/libpthread.so.0
>>> # 4 0x000000395e0d1e3d in clone () from /lib64/libc.so.6
>>>
>>> Thread 4 (Thread 1115281728 (LWP 9362)):
>>> # 0 0x00002b7817902496 in pthread_cond_wait@@GLIBC_2.3.2 () from
>>> /lib64/libpthread.so.0
>>> # 1 0x00002b7819f28163 in bdb_tool_index_task (ctx=<value optimized
>>> # out>,
>>> ptr=<value optimized out>) at tools.c:1147
>>> # 2 0x00002b781715a2ca in ldap_int_thread_pool_wrapper
>>> # (xpool=0x17e07fd0) at
>>> ../../../libraries/libldap_r/tpool.c:663
>>> # 3 0x00002b78178fe2f7 in start_thread () from /lib64/libpthread.so.0
>>> # 4 0x000000395e0d1e3d in clone () from /lib64/libc.so.6
>>>
>>> Thread 3 (Thread 1123674432 (LWP 9363)):
>>> # 0 0x00002b7817902496 in pthread_cond_wait@@GLIBC_2.3.2 () from
>>> /lib64/libpthread.so.0
>>> # 1 0x00002b7819f28163 in bdb_tool_index_task (ctx=<value optimized
>>> # out>,
>>> ptr=<value optimized out>) at tools.c:1147
>>> # 2 0x00002b781715a2ca in ldap_int_thread_pool_wrapper
>>> # (xpool=0x17e07fd0) at
>>> ../../../libraries/libldap_r/tpool.c:663
>>> # 3 0x00002b78178fe2f7 in start_thread () from /lib64/libpthread.so.0
>>> # 4 0x000000395e0d1e3d in clone () from /lib64/libc.so.6
>>>
>>> Thread 2 (Thread 1132067136 (LWP 9360)):
>>> # 0 0x00002b7817902496 in pthread_cond_wait@@GLIBC_2.3.2 () from
>>> /lib64/libpthread.so.0
>>> # 1 0x00002b7819f28014 in bdb_tool_index_add (op=0x7fff93950310,
>>> # txn=<value
>>> optimized out>, e=0x2b7b521d2068) at tools.c:475
>>> # 2 0x00002b7819f28970 in hdb_tool_entry_put (be=0x17f39240,
>>> # e=0x2b7b521d2068,
>>> text=0x7fff93960cc0) at tools.c:545
>>> # 3 0x00000000004906f9 in slapadd (argc=<value optimized out>,
>>> argv=0x7fff93960ec8) at ../../../servers/slapd/slapadd.c:350
>>> # 4 0x0000000000416c59 in main (argc=6, argv=0x7fff93960ec8) at
>>> ../../../servers/slapd/main.c:391
>>>
>>> Thread 1 (Thread 47794824997056 (LWP 9360)):
>>> # 0 0x00002b7817902496 in pthread_cond_wait@@GLIBC_2.3.2 () from
>>> /lib64/libpthread.so.0
>>> # 1 0x00002b7819f28014 in bdb_tool_index_add (op=0x7fff93950310,
>>> # txn=<value
>>> optimized out>, e=0x2b7b521d2068) at tools.c:475
>>> # 2 0x00002b7819f28970 in hdb_tool_entry_put (be=0x17f39240,
>>> # e=0x2b7b521d2068,
>>> text=0x7fff93960cc0) at tools.c:545
>>> # 3 0x00000000004906f9 in slapadd (argc=<value optimized out>,
>>> argv=0x7fff93960ec8) at ../../../servers/slapd/slapadd.c:350
>>> # 4 0x0000000000416c59 in main (argc=6, argv=0x7fff93960ec8) at
>>> ../../../servers/slapd/main.c:391
>>> # 0 0x00002b7817902496 in pthread_cond_wait@@GLIBC_2.3.2 () from
>>> /lib64/libpthread.so.0
>>
>>
>> --
>> -- Howard Chu
>> CTO, Symas Corp. http://www.symas.com
>> Director, Highland Sun http://highlandsun.com/hyc/
>> Chief Architect, OpenLDAP http://www.openldap.org/project/
>
>
>
> --
>
> Quanah Gibson-Mount
> Principal Software Engineer
> Zimbra, Inc
> --------------------
> Zimbra :: the leader in open source messaging and collaboration
>
>
--
Quanah Gibson-Mount
Principal Software Engineer
Zimbra, Inc
--------------------
Zimbra :: the leader in open source messaging and collaboration