Aaron Richton wrote:
On Sat, 2 May 2009, Howard Chu wrote:
Fixed in HEAD. You should probably sync up with cache.c too; the tests Quanah and I have been running seem to like this better.
2.4.16 + synced back-bdb from head. NULL strncmp:
There's no strncmp in this trace. This is a different symptom than before.
t@14 (l@14) terminated by signal SEGV (no mapping at the fault address) Current function is avl_insert 125 cmp = fcmp( data, p->avl_data )> 0; (dbx) where current thread: t@14 =>[1] avl_insert(root = 0x12c9e52c0, data = 0x12cd3e0f0, fcmp = 0x1001a1e90 =&`slapd`cache.c`bdb_rdn_cmp(const void *v_e1, const void *v_e2), fdup = 0x100273f00 =&avl_dup_error(void *left, void *right)), line 125 in "avl.c" [2] hdb_cache_find_parent(op = 0x131b07390, txn = 0x132f36090, id = 12937U, res = 0xffffffff45e7e848), line 595 in "cache.c" [3] hdb_cache_find_id(op = 0x131b07390, tid = 0x132f36090, id = 12937U, eip = 0xffffffff45e7e848, flag = 0, lock = 0xffffffff45e7e7f8), line 906 in "cache.c" [4] hdb_search(op = 0x131b07390, rs = 0xffffffff45fff998), line 706 in "search.c" [5] glue_sub_search(op = 0x131b07390, rs = 0xffffffff45fff998, b0 = 0xffffffff45ffeda8, on = 0x1106e0dd0), line 342 in "backglue.c" [6] glue_op_search(op = 0x131b07390, rs = 0xffffffff45fff998), line 465 in "backglue.c" [7] overlay_op_walk(op = 0x131b07390, rs = 0xffffffff45fff998, which = op_search, oi = 0x1106e1010, on = 0x1106e0dd0), line 659 in "backover.c" [8] over_op_func(op = 0x131b07390, rs = 0xffffffff45fff998, which = op_search), line 721 in "backover.c" [9] over_op_search(op = 0x131b07390, rs = 0xffffffff45fff998), line 743 in "backover.c" [10] fe_op_search(op = 0x131b07390, rs = 0xffffffff45fff998), line 366 in "search.c" [11] overlay_op_walk(op = 0x131b07390, rs = 0xffffffff45fff998, which = op_search, oi = 0x1106e16d0, on = (nil)), line 669 in "backover.c" [12] over_op_func(op = 0x131b07390, rs = 0xffffffff45fff998, which = op_search), line 721 in "backover.c" [13] over_op_search(op = 0x131b07390, rs = 0xffffffff45fff998), line 743 in "backover.c" [14] do_search(op = 0x131b07390, rs = 0xffffffff45fff998), line 217 in "search.c" [15] connection_operation(ctx = 0xffffffff45fffc20, arg_v = 0x131b07390), line 1097 in "connection.c" [16] connection_read_thread(ctx = 0xffffffff45fffc20, argv = 0xbf), line 1223 in "connection.c" [17] ldap_int_thread_pool_wrapper(xpool = 0x11062b6a0), line 663 in "tpool.c"
data is null, p is null.
And the trace shows data = 0x12cd3e0f0. What are you looking at?