Howard Chu wrote:
> Rein Tollevik wrote:
>> hyc(a)symas.com wrote:
>>> rein(a)OpenLDAP.org wrote:
>>
>>>> I had a couple of seg. faults when resync'ing my servers after
>>>> upgrading to the
>>>> upcoming 2.4.16 release. Looks as if a copy of the backend must be
>>>> used when
>>>> testing the filter in syncprov_matchops. See the gdb output at the
>>>> end. Note,
>>>> some function names are incorrect due to optimization. A fix is
>>>> coming.
>>>
>>> The fix makes no sense, or the problem has not yet been analyzed
>>> sufficiently.
>>> Nobody in that call chain should be zeroing out bd_info. And if
>>> someone *is*,
>>> then it will happen in *whatever* BackendDB structure is currently
>>> being used.
>>>
>>> Explain the real cause of the problem, and why the fix is correct.
>>
>> The problem is not zeroing of bd_info, it is that the entire op2.o_bd
>> points to garbage, as the gdb output shows. I did forgot to print
>> ss->s_op->o_bd though. op2 is a copy of *ss->s_op, but op2.o_bd and
>> ss->s_op->o_bd differ. The content of *ss->s_op->o_bd looks reasonable.
>>
>> The copying of *ss->s_op into op2 was introduced in rev 1.233 as a fix
>> to ITS#5486. It doesn't say why this was the correct fix, but I assume
>> it was done because something could modify *ss->s_op while the filter
>> was being tested.
>
> Yes of course, particularly op->o_callback.
>
>> Btw, the gdb output from ITS#5486 shows a db with
>> similar garbage, so I suspect that these ITSes are related.
>
>> Assuming that something could mess with ss->s_op they might as well mess
>> with ss->s_op->o_bd. The copying of the op->o_bd that takes place all
>> around is a nightmare! I have no clue as to who modified *ss->s_op
>> and/or *ss->s_op->o_bd, and I'm not very satisfied with the fact that
>> something did. Finding out why this happened may be the correct fix.
>
> Yes, that's my point.
> Down the road we need to fix things so that all this copying is
> unnecessary; it just involves adding an op->o_bd_info field so that we
> no longer need to change anything in the op->o_bd itself.
YES! Would defining o_bd_info as o_bd->bd_info in the meantime ease the
transition? That would allow us to fix the code that accesses bd_info
step by step before actually making the real fix.
> But in the
> meantime, we need to find out why an invalid op->o_bd is there. Most
> likely some lower function temporarily put a stack'd copy in there and
> didn't restore the original value before returning. And again, if that's
> the case, then it doesn't matter what value you set higher up, copy or
> not it will still point to garbage.
I'm more afraid we have a race condition here. I.e, thread A puts a
pointer to a stack copy of the BackendDB into ss->s_op->o_bd. matchops
in thread B copies this op into op2 before thread A restores the
original o_bd. Leaving thread B with a pointer to junk in op2.o_bd.
Some more gdb output below, thread 2 looks suspicious here. Thread 1
was the failing one, its ss->s_op is the same as the op argument passed
as argument in thread 2.
Rein
(gdb) thr app all where
Thread 18 (process 32255):
#0 0xb7fe97a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0xb7c540fd in pthread_join () from /lib/tls/libpthread.so.0
#2 0xb7fb4460 in ldap_pvt_thread_join (thread=2411723696,
thread_return=0x0) at thr_posix.c:197
#3 0x0806e88f in slapd_daemon () at daemon.c:2665
#4 0x0805ac67 in main (argc=13, argv=0xbffffb44) at main.c:955
Thread 17 (process 32257):
#0 0xb7fe97a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0xb7be3a41 in select () from /lib/tls/libc.so.6
#2 0x08071aa0 in slapd_daemon_task (ptr=0x0) at daemon.c:2291
#3 0xb7c53371 in start_thread () from /lib/tls/libpthread.so.0
#4 0xb7beaffe in clone () from /lib/tls/libc.so.6
Thread 16 (process 32258):
#0 0x080f8e01 in bdb_search (op=0x8e193ba4, rs=0x8e193b68) at search.c:798
#1 0x080e13cf in overlay_op_walk (op=0x8e193ba4, rs=0x8e193b68,
which=op_search, oi=0x8299040, on=0x8299140) at backover.c:669
#2 0x080e19b5 in over_op_func (op=0x8e193ba4, rs=0x8e193b68,
which=op_search) at backover.c:721
#3 0x080e1af5 in over_op_search (op=0x8e193ba4, rs=0x8e193b68) at
backover.c:743
#4 0x080df000 in glue_sub_search (op=0x8e193ba4, rs=0x8e193b68,
b0=0x83f82f4, on=0x8298ed0) at backglue.c:342
#5 0x080dfc04 in glue_op_search (op=0xae49ec8, rs=0x8e193b68) at
backglue.c:465
#6 0x080e1379 in overlay_op_walk (op=0x8e193ba4, rs=0x8e193b68,
which=op_search, oi=0x82a3098, on=0x82a3298) at backover.c:659
#7 0x080e19b5 in over_op_func (op=0x8e193ba4, rs=0x8e193b68,
which=op_search) at backover.c:721
#8 0x080e1af5 in over_op_search (op=0x8e193ba4, rs=0x8e193b68) at
backover.c:743
#9 0xb7a39dbb in syncprov_findcsn (op=0x8c22710, mode=FIND_PRESENT) at
syncprov.c:707
#10 0xb7a3af84 in syncprov_op_search (op=0x8c22710, rs=0x8e1951c0) at
syncprov.c:2484
#11 0x080e1379 in overlay_op_walk (op=0x8c22710, rs=0x8e1951c0,
which=op_search, oi=0x82a3098, on=0x82935e8) at backover.c:659
#12 0x080e19b5 in over_op_func (op=0x8c22710, rs=0x8e1951c0,
which=op_search) at backover.c:721
#13 0x080e1af5 in over_op_search (op=0x8c22710, rs=0x8e1951c0) at
backover.c:743
#14 0x080771c4 in fe_op_search (op=0x8c22710, rs=0x8e1951c0) at search.c:366
#15 0x08077d53 in do_search (op=0x8c22710, rs=0x8e1951c0) at search.c:217
#16 0x08074d3c in connection_operation (ctx=0x8e1952b8, arg_v=0x8c22710)
at connection.c:1097
#17 0x08075d48 in connection_read_thread (ctx=0x8e1952b8, argv=0x52) at
connection.c:1223
#18 0xb7fb3a20 in ldap_int_thread_pool_wrapper (xpool=0x81f8cf0) at
tpool.c:663
#19 0xb7c53371 in start_thread () from /lib/tls/libpthread.so.0
#20 0xb7beaffe in clone () from /lib/tls/libc.so.6
Thread 15 (process 32259):
#0 0xb7fe97a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0xb7c55b26 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
#2 0xb7fb435b in ldap_pvt_thread_cond_wait (cond=0x81f8d0c,
mutex=0x81f8cf4) at thr_posix.c:277
#3 0xb7fb39e4 in ldap_int_thread_pool_wrapper (xpool=0x81f8cf0) at
tpool.c:654
#4 0xb7c53371 in start_thread () from /lib/tls/libpthread.so.0
#5 0xb7beaffe in clone () from /lib/tls/libc.so.6
Thread 14 (process 32260):
#0 0xb7fe97a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0xb7c55b26 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
#2 0xb7fb435b in ldap_pvt_thread_cond_wait (cond=0x81f8d0c,
mutex=0x81f8cf4) at thr_posix.c:277
#3 0xb7fb39e4 in ldap_int_thread_pool_wrapper (xpool=0x81f8cf0) at
tpool.c:654
#4 0xb7c53371 in start_thread () from /lib/tls/libpthread.so.0
#5 0xb7beaffe in clone () from /lib/tls/libc.so.6
Thread 13 (process 32261):
#0 0xb7fe97a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0xb7c55b26 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
#2 0xb7fb435b in ldap_pvt_thread_cond_wait (cond=0x81f8d0c,
mutex=0x81f8cf4) at thr_posix.c:277
#3 0xb7fb39e4 in ldap_int_thread_pool_wrapper (xpool=0x81f8cf0) at
tpool.c:654
#4 0xb7c53371 in start_thread () from /lib/tls/libpthread.so.0
#5 0xb7beaffe in clone () from /lib/tls/libc.so.6
Thread 12 (process 32262):
#0 0xb7ef22ce in __lock_get_internal () from /local/lib/libdb-4.7.so
#1 0xb7ef3758 in __lock_get_pp () from /local/lib/libdb-4.7.so
#2 0x0810adee in bdb_cache_entry_db_lock (bdb=0x8372848, txn=<value
optimized out>, ei=0x75788730, rw=1, tryOnly=1, lock=0x8d0cf3ec) at
cache.c:221
---Type <return> to continue, or q <return> to quit---
#3 0x0810bad7 in bdb_cache_lru_purge (bdb=0x8298bf8) at cache.c:738
#4 0x0810c6c4 in bdb_cache_find_id (op=0x8d18fba4, tid=0x8bd6bd8,
id=31294, eip=0x8d0cf614, flag=2, lock=0x8d0cf5f8) at cache.c:1053
#5 0x080f8b57 in bdb_search (op=0x8d18fba4, rs=0x8d18fb68) at search.c:706
#6 0x080e13cf in overlay_op_walk (op=0x8d18fba4, rs=0x8d18fb68,
which=op_search, oi=0x8299040, on=0x8299140) at backover.c:669
#7 0x080e19b5 in over_op_func (op=0x8d18fba4, rs=0x8d18fb68,
which=op_search) at backover.c:721
#8 0x080e1af5 in over_op_search (op=0x8d18fba4, rs=0x8d18fb68) at
backover.c:743
#9 0x080df000 in glue_sub_search (op=0x8d18fba4, rs=0x8d18fb68,
b0=0x8097, on=0x8298ed0) at backglue.c:342
#10 0x080dfc04 in glue_op_search (op=0x1, rs=0x8d18fb68) at backglue.c:465
#11 0x080e1379 in overlay_op_walk (op=0x8d18fba4, rs=0x8d18fb68,
which=op_search, oi=0x82a3098, on=0x82a3298) at backover.c:659
#12 0x080e19b5 in over_op_func (op=0x8d18fba4, rs=0x8d18fb68,
which=op_search) at backover.c:721
#13 0x080e1af5 in over_op_search (op=0x8d18fba4, rs=0x8d18fb68) at
backover.c:743
#14 0xb7a39dbb in syncprov_findcsn (op=0x88cef38, mode=FIND_PRESENT) at
syncprov.c:707
#15 0xb7a3af84 in syncprov_op_search (op=0x88cef38, rs=0x8d1911c0) at
syncprov.c:2484
#16 0x080e1379 in overlay_op_walk (op=0x88cef38, rs=0x8d1911c0,
which=op_search, oi=0x82a3098, on=0x82935e8) at backover.c:659
#17 0x080e19b5 in over_op_func (op=0x88cef38, rs=0x8d1911c0,
which=op_search) at backover.c:721
#18 0x080e1af5 in over_op_search (op=0x88cef38, rs=0x8d1911c0) at
backover.c:743
#19 0x080771c4 in fe_op_search (op=0x88cef38, rs=0x8d1911c0) at search.c:366
#20 0x08077d53 in do_search (op=0x88cef38, rs=0x8d1911c0) at search.c:217
#21 0x08074d3c in connection_operation (ctx=0x8d1912b8, arg_v=0x88cef38)
at connection.c:1097
#22 0x08075d48 in connection_read_thread (ctx=0x8d1912b8, argv=0x4a) at
connection.c:1223
#23 0xb7fb3a20 in ldap_int_thread_pool_wrapper (xpool=0x81f8cf0) at
tpool.c:663
#24 0xb7c53371 in start_thread () from /lib/tls/libpthread.so.0
#25 0xb7beaffe in clone () from /lib/tls/libc.so.6
Thread 11 (process 32263):
#0 0xb7fe97a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0xb7c55b26 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
#2 0xb7fb435b in ldap_pvt_thread_cond_wait (cond=0xb79b3e74,
mutex=0xb79b3e5c) at thr_posix.c:277
#3 0x0808594c in send_ldap_ber (op=<value optimized out>,
ber=0x8cccea0c) at result.c:218
#4 0x08087cdc in slap_send_search_entry (op=0x993f938, rs=0x8cd901c0)
at result.c:1247
#5 0x080f9433 in bdb_search (op=0x993f938, rs=0x8cd901c0) at search.c:960
#6 0x080e13cf in overlay_op_walk (op=0x993f938, rs=0x8cd901c0,
which=op_search, oi=0x8295890, on=0x8295990) at backover.c:669
#7 0x080e19b5 in over_op_func (op=0x993f938, rs=0x8cd901c0,
which=op_search) at backover.c:721
#8 0x080e1af5 in over_op_search (op=0x993f938, rs=0x8cd901c0) at
backover.c:743
#9 0x080df000 in glue_sub_search (op=0x993f938, rs=0x8cd901c0, b0=0x0,
on=0x82956a0) at backglue.c:342
#10 0x080dfc04 in glue_op_search (op=0xfffffffc, rs=0x8cd901c0) at
backglue.c:465
#11 0x080e1379 in overlay_op_walk (op=0x993f938, rs=0x8cd901c0,
which=op_search, oi=0x82a3098, on=0x82a3298) at backover.c:659
#12 0x080e19b5 in over_op_func (op=0x993f938, rs=0x8cd901c0,
which=op_search) at backover.c:721
#13 0x080e1af5 in over_op_search (op=0x993f938, rs=0x8cd901c0) at
backover.c:743
#14 0x080771c4 in fe_op_search (op=0x993f938, rs=0x8cd901c0) at search.c:366
#15 0x08077d53 in do_search (op=0x993f938, rs=0x8cd901c0) at search.c:217
#16 0x08074d3c in connection_operation (ctx=0x8cd902b8, arg_v=0x993f938)
at connection.c:1097
#17 0x08075d48 in connection_read_thread (ctx=0x8cd902b8, argv=0x53) at
connection.c:1223
#18 0xb7fb3a20 in ldap_int_thread_pool_wrapper (xpool=0x81f8cf0) at
tpool.c:663
#19 0xb7c53371 in start_thread () from /lib/tls/libpthread.so.0
#20 0xb7beaffe in clone () from /lib/tls/libc.so.6
Thread 10 (process 32265):
#0 0xb7fe97a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0xb7c55b26 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
#2 0xb7fb435b in ldap_pvt_thread_cond_wait (cond=0x81f8d0c,
mutex=0x81f8cf4) at thr_posix.c:277
#3 0xb7fb39e4 in ldap_int_thread_pool_wrapper (xpool=0x81f8cf0) at
tpool.c:654
#4 0xb7c53371 in start_thread () from /lib/tls/libpthread.so.0
#5 0xb7beaffe in clone () from /lib/tls/libc.so.6
Thread 9 (process 32266):
#0 0xb7fe97a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0xb7c55b26 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
#2 0xb7fb435b in ldap_pvt_thread_cond_wait (cond=0x81f8d0c,
mutex=0x81f8cf4) at thr_posix.c:277
#3 0xb7fb39e4 in ldap_int_thread_pool_wrapper (xpool=0x81f8cf0) at
tpool.c:654
#4 0xb7c53371 in start_thread () from /lib/tls/libpthread.so.0
#5 0xb7beaffe in clone () from /lib/tls/libc.so.6
Thread 8 (process 32267):
#0 0xb7fe97a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0xb7c55b26 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
#2 0xb7fb435b in ldap_pvt_thread_cond_wait (cond=0x81f8d0c,
mutex=0x81f8cf4) at thr_posix.c:277
#3 0xb7fb39e4 in ldap_int_thread_pool_wrapper (xpool=0x81f8cf0) at
tpool.c:654
#4 0xb7c53371 in start_thread () from /lib/tls/libpthread.so.0
#5 0xb7beaffe in clone () from /lib/tls/libc.so.6
Thread 7 (process 32268):
#0 0xb7fe97a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0xb7c55b26 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
#2 0xb7fb435b in ldap_pvt_thread_cond_wait (cond=0x81f8d0c,
mutex=0x81f8cf4) at thr_posix.c:277
#3 0xb7fb39e4 in ldap_int_thread_pool_wrapper (xpool=0x81f8cf0) at
tpool.c:654
#4 0xb7c53371 in start_thread () from /lib/tls/libpthread.so.0
#5 0xb7beaffe in clone () from /lib/tls/libc.so.6
Thread 6 (process 32269):
#0 0xb7fe97a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0xb7c55b26 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
#2 0xb7fb435b in ldap_pvt_thread_cond_wait (cond=0x81f8d0c,
mutex=0x81f8cf4) at thr_posix.c:277
#3 0xb7fb39e4 in ldap_int_thread_pool_wrapper (xpool=0x81f8cf0) at
tpool.c:654
#4 0xb7c53371 in start_thread () from /lib/tls/libpthread.so.0
#5 0xb7beaffe in clone () from /lib/tls/libc.so.6
Thread 5 (process 32270):
#0 0xb7fe97a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0xb7c55b26 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
#2 0xb7fb435b in ldap_pvt_thread_cond_wait (cond=0x81f8d0c,
mutex=0x81f8cf4) at thr_posix.c:277
#3 0xb7fb39e4 in ldap_int_thread_pool_wrapper (xpool=0x81f8cf0) at
tpool.c:654
#4 0xb7c53371 in start_thread () from /lib/tls/libpthread.so.0
#5 0xb7beaffe in clone () from /lib/tls/libc.so.6
Thread 4 (process 32271):
#0 0xb7fe97a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0xb7c55b26 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
#2 0xb7fb435b in ldap_pvt_thread_cond_wait (cond=0x81f8d0c,
mutex=0x81f8cf4) at thr_posix.c:277
#3 0xb7fb39e4 in ldap_int_thread_pool_wrapper (xpool=0x81f8cf0) at
tpool.c:654
#4 0xb7c53371 in start_thread () from /lib/tls/libpthread.so.0
#5 0xb7beaffe in clone () from /lib/tls/libc.so.6
Thread 3 (process 32272):
#0 0xb7fe97a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
#1 0xb7c55b26 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/libpthread.so.0
#2 0xb7fb435b in ldap_pvt_thread_cond_wait (cond=0x81f8d0c,
mutex=0x81f8cf4) at thr_posix.c:277
#3 0xb7fb39e4 in ldap_int_thread_pool_wrapper (xpool=0x81f8cf0) at
tpool.c:654
#4 0xb7c53371 in start_thread () from /lib/tls/libpthread.so.0
#5 0xb7beaffe in clone () from /lib/tls/libc.so.6
Thread 2 (process 32273):
#0 0xb7b8d481 in memmove () from /lib/tls/libc.so.6
#1 0xb7f9ec01 in ber_write (ber=0x8a4c4a0c, buf=0x8a4c48b8
"\004\001�\204\214A��\fJL\212\fJL\212�HL\212?���\001", len=0, nosos=0)
at io.c:116
#2 0xb7f9c44b in ber_put_tag (ber=0x8a4c4a0c, tag=0, nosos=0) at
encode.c:100
#3 0xb7f9c83f in ber_put_ostring (ber=0x8a4c4a0c, str=0x81f24f8
"modifyTimestamp", len=15, tag=2142916662) at encode.c:354
#4 0xb7f9c961 in ber_put_berval (ber=0x1, bv=0x7fba5036,
tag=4294967295) at encode.c:382
#5 0xb7f9d5ad in ber_printf (ber=0x8a4c4a0c, fmt=0x1 "") at encode.c:804
#6 0x08086e50 in slap_send_search_entry (op=0x84e726c8, rs=0x8a5861c0)
at result.c:1019
#7 0x080f9433 in bdb_search (op=0x84e726c8, rs=0x8a5861c0) at search.c:960
#8 0x080e13cf in overlay_op_walk (op=0x84e726c8, rs=0x8a5861c0,
which=op_search, oi=0x82970c0, on=0x82971c0) at backover.c:669
#9 0x080e19b5 in over_op_func (op=0x84e726c8, rs=0x8a5861c0,
which=op_search) at backover.c:721
#10 0x080e1af5 in over_op_search (op=0x84e726c8, rs=0x8a5861c0) at
backover.c:743
#11 0x080df000 in glue_sub_search (op=0x84e726c8, rs=0x8a5861c0, b0=0x1,
on=0x8295c40) at backglue.c:342
#12 0x080dfc04 in glue_op_search (op=0x7fba5036, rs=0x8a5861c0) at
backglue.c:465
#13 0x080e1379 in overlay_op_walk (op=0x84e726c8, rs=0x8a5861c0,
which=op_search, oi=0x82a3098, on=0x82a3298) at backover.c:659
#14 0x080e19b5 in over_op_func (op=0x84e726c8, rs=0x8a5861c0,
which=op_search) at backover.c:721
#15 0x080e1af5 in over_op_search (op=0x84e726c8, rs=0x8a5861c0) at
backover.c:743
#16 0x080771c4 in fe_op_search (op=0x84e726c8, rs=0x8a5861c0) at
search.c:366
#17 0x08077d53 in do_search (op=0x84e726c8, rs=0x8a5861c0) at search.c:217
#18 0x08074d3c in connection_operation (ctx=0x8a5862b8,
arg_v=0x84e726c8) at connection.c:1097
#19 0x08075d48 in connection_read_thread (ctx=0x8a5862b8, argv=0x51) at
connection.c:1223
---Type <return> to continue, or q <return> to quit---
#20 0xb7fb3a20 in ldap_int_thread_pool_wrapper (xpool=0x81f8cf0) at
tpool.c:663
#21 0xb7c53371 in start_thread () from /lib/tls/libpthread.so.0
#22 0xb7beaffe in clone () from /lib/tls/libc.so.6
Thread 1 (process 32264):
#0 0x080989a1 in access_allowed_mask (op=0x8c98dc54, e=0x83f827c,
desc=0x81f2008, val=0x0, access=ACL_SEARCH, state=0x0, maskp=0x0) at
acl.c:454
#1 0x0809603b in test_filter (op=0x8c98dc54, e=0x83f827c, f=0x82ffb0ac)
at filterentry.c:821
#2 0xb7a3d740 in syncprov_matchops (op=0x8c98edc8, opc=0x7ae2d620,
saveit=0) at syncprov.c:1257
#3 0xb7a3e5cd in syncprov_op_response (op=0x8c98edc8, rs=0x8c98e890) at
syncprov.c:1801
#4 0x08084e5d in slap_response_play (op=0x8c98edc8, rs=0x8c98e890) at
result.c:350
#5 0x0808821c in send_ldap_response (op=0x8c98edc8, rs=0x8c98e890) at
result.c:424
#6 0x080893b3 in slap_send_ldap_result (op=0x8c98edc8, rs=0x8c98e890)
at result.c:693
#7 0x08109928 in bdb_add (op=0x8c98edc8, rs=0x8c98e890) at add.c:494
#8 0x080e13cf in overlay_op_walk (op=0x8c98edc8, rs=0x8c98e890,
which=op_add, oi=0x829a000, on=0x829b2b0) at backover.c:669
#9 0x080e19b5 in over_op_func (op=0x8c98edc8, rs=0x8c98e890,
which=op_add) at backover.c:721
#10 0x080e1a95 in over_op_add (op=0x8c98edc8, rs=0x8c98e890) at
backover.c:767
#11 0x080df61f in glue_op_func (op=0x8c98edc8, rs=0x8c98e890) at
backglue.c:238
#12 0x080e1379 in overlay_op_walk (op=0x8c98edc8, rs=0x8c98e890,
which=op_add, oi=0x82a3098, on=0x82a3298) at backover.c:659
#13 0x080e19b5 in over_op_func (op=0x8c98edc8, rs=0x8c98e890,
which=op_add) at backover.c:721
#14 0x080e1a95 in over_op_add (op=0x8c98edc8, rs=0x8c98e890) at
backover.c:767
#15 0x080d962f in syncrepl_entry (si=0x829b140, op=0x8c98edc8,
entry=0x83f827c, modlist=0x8c98ebf8, syncstate=1, syncUUID=0x8c98ec50,
syncCSN=0x0) at syncrepl.c:2187
#16 0x080dca39 in do_syncrep2 (op=0x8c98edc8, si=0x829b140) at
syncrepl.c:892
#17 0x080de907 in do_syncrepl (ctx=0x8c98f2b8, arg=0x829a760) at
syncrepl.c:1361
#18 0x08075d59 in connection_read_thread (ctx=0x8c98f2b8, argv=0x4d) at
connection.c:1225
#19 0xb7fb3a20 in ldap_int_thread_pool_wrapper (xpool=0x81f8cf0) at
tpool.c:663
#20 0xb7c53371 in start_thread () from /lib/tls/libpthread.so.0
#21 0xb7beaffe in clone () from /lib/tls/libc.so.6
#0 0xb7b8d481 in memmove () from /lib/tls/libc.so.6
(gdb) thr 1
[Switching to thread 1 (process 32264)]#0 0x080989a1 in
access_allowed_mask (op=0x8c98dc54, e=0x83f827c, desc=0x81f2008,
val=0x0, access=ACL_SEARCH, state=0x0, maskp=0x0) at acl.c:454
454 if ( op->o_bd->bd_info->bi_access_allowed ) {
(gdb) fram 2
#2 0xb7a3d740 in syncprov_matchops (op=0x8c98edc8, opc=0x7ae2d620,
saveit=0) at syncprov.c:1257
1257 rc = test_filter( &op2, e, ss->s_op->ors_filter );
(gdb) print ss->s_op
$7 = (Operation *) 0x84e726c8