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

Re: RE24 connection code reworking



Pierangelo Masarati wrote:

I ran 30 times test045 with HEAD and got no failures. Then re24 failed after 44 runs with the backtrace below (identical to the previous ones).

#0  0x0090f402 in __kernel_vsyscall ()
(gdb) bt
#0  0x0090f402 in __kernel_vsyscall ()
#1  0x00c9ad20 in raise () from /lib/libc.so.6
#2  0x00c9c631 in abort () from /lib/libc.so.6
#3  0x00c9416b in __assert_fail () from /lib/libc.so.6
#4  0x08219421 in ldap_pvt_runqueue_remove (rq=0x83521c0, entry=0x9214328)
    at ../../../ldap-2.4-src/libraries/libldap_r/rq.c:92
#5  0x080f567a in do_syncrepl (ctx=0xb4bfc1d0, arg=0x9214328)
    at ../../../ldap-2.4-src/servers/slapd/syncrepl.c:1402
#6  0x08085a71 in connection_read_thread (ctx=0xb4bfc1d0, argv=0xa)
    at ../../../ldap-2.4-src/servers/slapd/connection.c:1225
#7  0x082188a5 in ldap_int_thread_pool_wrapper (xpool=0x91e3cd8)
    at ../../../ldap-2.4-src/libraries/libldap_r/tpool.c:663
#8  0x00deb46b in start_thread () from /lib/libpthread.so.0
#9  0x00d42dbe in clone () from /lib/libc.so.6

So I fear the problem is still there.

As far as I understand, that assertion seems to be too strict. Apparently, someone else already removed the task. Perhaps, all calls to runqueue should be preceded by a check about the existence of the task itself. An excerpt of that slapd instance's logs indicates:


slap_queue_csn: queing 0x92a30c8 20090124113556.050820Z#000000#000#000000
do_syncrep2: rid=001 (-1) Can't contact LDAP server
slap_client_connect: URI=ldap://localhost:9011/ DN="cn=manager,dc=example,dc=com
" ldap_sasl_bind_s failed (-1)
do_syncrepl: rid=001 retrying (3 retries left)
connection_read(10): no connection!
... # hundreds of the above
connection_read(10): no connection!
slap_client_connect: URI=ldap://localhost:9011/ DN="cn=manager,dc=example,dc=com
" ldap_sasl_bind_s failed (-1)
do_syncrepl: rid=001 retrying (2 retries left)
connection_read(10): no connection!
... # hundreds of the above
...
connection_read(10): no connection! slap_client_connect: URI=ldap://localhost:9011/ DN="cn=manager,dc=example,dc=com" ldap_sasl_bind_s failed (-1)
do_syncrepl: rid=001 retrying (2 retries left) slap_client_connect: URI=ldap://localhost:9011/ DN="cn=manager,dc=example,dc=com" ldap_sasl_bind_s failed (-1)
do_syncrepl: rid=001 retrying (1 retries left) slap_client_connect: URI=ldap://localhost:9011/ DN="cn=manager,dc=example,dc=com" ldap_sasl_bind_s failed (-1)
do_syncrepl: rid=001 retrying
slap_client_connect: URI=ldap://localhost:9011/ DN="cn=manager,dc=example,dc=com" ldap_sasl_bind_s failed (-1)
do_syncrepl: rid=001 quitting slap_client_connect: URI=ldap://localhost:9011/ DN="cn=manager,dc=example,dc=com" ldap_sasl_bind_s failed (-1)
slapd: ../../../ldap-2.4-src/libraries/libldap_r/rq.c:92: ldap_pvt_runqueue_remove: Assertion `e == entry' failed.


p.


Ing. Pierangelo Masarati OpenLDAP Core Team

SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
-----------------------------------
Office:  +39 02 23998309
Mobile:  +39 333 4963172
Fax:     +39 0382 476497
Email:   ando@sys-net.it
-----------------------------------