[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: (ITS#5756) 2.4 slapo-pcache only caches first lookup for certain templates
Hi there,
I've put this patched version on a small lab of clients (about 23) and
on one of them slapd has segfaulted and dumped core.
Here's the backtrace:
Program terminated with signal 11, Segmentation fault.
#0 pcache_filter_cmp (f1=0x8af09f8, f2=0x39) at pcache.c:608
608 switch( f2->f_choice ) {
(gdb) bt
#0 pcache_filter_cmp (f1=0x8af09f8, f2=0x39) at pcache.c:608
#1 0x08155862 in tavl_insert (root=0x8afe590, data=0x8aefb88,
fcmp=0x81399b0 <pcache_query_cmp>, fdup=0x8154700 <avl_dup_error>)
at tavl.c:82
#2 0x0813a95d in add_query (op=0x8ae3658, qm=0x8a74cc0,
query=0xb55af394,
templ=0x8a90f88, why=PC_POSITIVE, wlock=1) at pcache.c:1252
#3 0x0813d7f1 in pcache_op_cleanup (op=0x8ae3658, rs=0xb5eb1148)
at pcache.c:2041
#4 0x08076a04 in slap_cleanup_play (op=0x8ae3658, rs=0xb5eb1148)
at result.c:341
#5 0x08079a56 in send_ldap_response (op=0x8ae3658, rs=0xb5eb1148)
at result.c:522
#6 0x0807aa42 in slap_send_ldap_result (op=0x8ae3658, rs=0xb5eb1148)
at result.c:650
#7 0x080f4fef in ldap_back_search (op=0x8ae3658, rs=0xb5eb1148)
at search.c:549
#8 0x080cf431 in overlay_op_walk (op=0x8ae3658, rs=0xb5eb1148,
which=op_search, oi=0x8a74ff0, on=0x8a750f0) at backover.c:670
#9 0x080cf9ed in over_op_func (op=0x8ae3658, rs=0xb5eb1148,
which=op_search)
at backover.c:722
#10 0x08069016 in fe_op_search (op=0x8ae3658, rs=0xb5eb1148) at
search.c:366
#11 0x0806989b in do_search (op=0x8ae3658, rs=0xb5eb1148) at search.c:
217
#12 0x08066a66 in connection_operation (ctx=0xb5eb1218, arg_v=0x8ae3658)
at connection.c:1090
#13 0x08067082 in connection_read_thread (ctx=0xb5eb1218, argv=0xf)
at connection.c:1216
#14 0x08159704 in ldap_int_thread_pool_wrapper (xpool=0x8a52f90) at
tpool.c:663
#15 0x0064f46b in start_thread () from /lib/libpthread.so.0
#16 0x005a6dbe in clone () from /lib/libc.so.6
This looks a little strange to me...
(gdb) p f2->f_choice
Cannot access memory at address 0x39
(gdb) up
#1 0x08155862 in tavl_insert (root=0x8afe590, data=0x8aefb88,
fcmp=0x81399b0 <pcache_query_cmp>, fdup=0x8154700 <avl_dup_error>)
at tavl.c:82
82 cmp = fcmp( data, p->avl_data );
(gdb) p p->avl_data
$1 = (void *) 0x8af62e0
(gdb)
Cheers
Toby
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.