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

HEAD flunks test017-syncreplication (ITS#2515)



Full_Name: Hallvard B. Furuseth
Version: HEAD
OS: Solaris
URL: 
Submission from: (NULL) (129.240.186.42)


slapd/syncrepl.c dumps core in strcmp()

 because *uuid1 == *uuid2 == (struct berval) { 0, NULL }
 when called from syncuuid_cmp(),

 called from avl_insert() in syncrepl_entry(),
 called from do_syncrepl() with syncUUID == (struct berval) { 0, NULL }.

Which means that null bervals are both in the argument to avl_insert
and in the tree.


../servers/slapd/slapd -s0 -f ./test-repl/slapd.conf -h ldap://localhost:9010/
Segmentation Fault

(gdb) bt
#0  0xfeeb2e84 in strcmp () from /usr/lib/libc.so.1
#1  0x0007963c in syncuuid_cmp (v_uuid1=0x2fc398, v_uuid2=0x2fc258)
    at syncrepl.c:872
#2  0x000cdef8 in ravl_insert (iroot=0x2fbf9c, data=0x2fc398, 
    taller=0xfd801634, fcmp=0x79618 <syncuuid_cmp>, 
    fdup=0xcee50 <avl_dup_error>, depth=0) at avl.c:87
#3  0x000ce2b8 in avl_insert (root=0x2fbf9c, data=0x2fc398, 
    fcmp=0x79618 <syncuuid_cmp>, fdup=0xcee50 <avl_dup_error>) at avl.c:221
#4  0x000796c0 in syncrepl_entry (ld=0x2ff708, op=0xfd801878, e=0x0, 
    modlist=0x35a2c8, syncstate=0, syncUUID=0xfd801ab0, syncCookie=0xfd801aa8, 
    refresh=1) at syncrepl.c:907
#5  0x000789cc in do_syncrepl (ctx=0xfd801b80, arg=0x2fe548) at syncrepl.c:494
#6  0x000ddec0 in ldap_int_thread_pool_wrapper (xpool=0x291c08) at tpool.c:463

(gdb) frame 1
(gdb) print *uuid1
$1 = {bv_len = 0, bv_val = 0x0}
(gdb) print *uuid2
$2 = {bv_len = 0, bv_val = 0x0}

(gdb) frame 5
(gdb) print syncUUID
$3 = {bv_len = 0, bv_val = 0x0}