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

Re: Sync Replication searchbase muset be a suffix of a db?

> provider:
> suffix "o=my-domain,c=ZH "
> consumer :
> Both search base is ou=test,ou=Department,o=my-domain,c=ZH
> and ou=Department,o=my-domain,c=ZH,when ldapdelete in provider.Provider
> will die.

>> > openldap 2.2.24 bdb4.2

With RE22, if the producer and the consumer have suffix "o=my-domain,c=ZH"
and the consumer's searchBase is set to "ou=Department,o=my-domain,c=ZH",
and one deletes -r the entry "o=my-domain,c=ZH", the producer hangs.

This is where it appears to be stuck:

(gdb) bt
#0  0x420d2d57 in sched_yield () from /lib/i686/libc.so.6
#1  0x400a095e in __os_yield () from /usr/local/db-4.2.52/lib/libdb-4.2.so
#2  0x400248ee in __db_tas_mutex_lock ()
   from /usr/local/db-4.2.52/lib/libdb-4.2.so
#3  0x4008db29 in __lock_get_internal ()
   from /usr/local/db-4.2.52/lib/libdb-4.2.so
#4  0x4008ca65 in __lock_vec () from /usr/local/db-4.2.52/lib/libdb-4.2.so
#5  0x40075772 in __db_lget () from /usr/local/db-4.2.52/lib/libdb-4.2.so
#6  0x40032c39 in __bam_search () from /usr/local/db-4.2.52/lib/libdb-4.2.so
#7  0x40029ca7 in __bam_c_search () from
#8  0x40026e78 in __bam_c_get () from /usr/local/db-4.2.52/lib/libdb-4.2.so
#9  0x4006ad42 in __db_c_get () from /usr/local/db-4.2.52/lib/libdb-4.2.so
#10 0x40073509 in __db_c_get_pp () from /usr/local/db-4.2.52/lib/libdb-4.2.so
#11 0x08122d50 in bdb_idl_fetch_key (be=0x0, db=0x8378508, tid=0x0,
    key=0x40a661fc, ids=0x40aa65ec) at idl.c:519
#12 0x0811f591 in bdb_dn2idl (op=0x837c1a0, e=0x40a665bc, ids=0x40aa65ec,
    stack=0x40c28008) at dn2id.c:456
#13 0x080e9b0e in bdb_do_search (op=0x8389238, rs=0x40b268cc, sop=0x837c1a0,
    ps_e=0x83833f0, ps_type=2) at search.c:1661
#14 0x0811e152 in bdb_delete (op=0x40b27214, rs=0x40b268cc) at delete.c:522
#15 0x080ab949 in do_delete (op=0x40b27214, rs=0x40b268cc) at delete.c:230
#16 0x08097193 in connection_operation (ctx=0x40b2694c, arg_v=0x40b27214)
    at connection.c:1059
#17 0x08163dcf in ldap_int_thread_pool_wrapper (xpool=0x40c28008)
    at tpool.c:467
#18 0x401cefef in pthread_start_thread () from /lib/i686/libpthread.so.0

Things go smooth if the searchBase in the consumer is equal to the suffix
(but subtree deletion fails because of ITS#3385, fixed in HEAD.

In HEAD, it works just fine.


Pierangelo Masarati

    SysNet - via Dossi,8 27100 Pavia Tel: +390382573859 Fax: +390382476497