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

Re: test020-proxycache segfaults (ITS#3180)

luca.scamoni@sys-net.it wrote:

> test020 consistently fails with a segfault as shown below when using BDB or HDB
> (LDBM works)

> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 2051 (LWP 7950)]
> 0x080c0656 in slap_get_commit_csn (op=0x4085914c, csn=0x40858c34) at
> ctxcsn.c:44
> 44              LDAP_TAILQ_FOREACH( csne, op->o_bd->be_pending_csn_list,
> ce_csn_link ) {
> (gdb) bt
> #0  0x080c0656 in slap_get_commit_csn (op=0x4085914c, csn=0x40858c34) at
> ctxcsn.c:44
> #1  0x08104b39 in bdb_csn_commit (op=0x4085914c, rs=0x40858edc, tid=0x820b218,
> ei=0x81fb858, suffix_ei=0x40858d0c, ctxcsn_e=0x40858d08,
> ctxcsn_added=0x40858d04,
>     locker=2147483654) at ctxcsn.c:68

This appears to be caused by a patch for ITS#3133 in slapd/ctxcsn.c. I 
think adding a check in front like this
   if (!op->o_bd->be_pending_csn_list) return;
may fix it. If we require the be_pending_csn_list pointer to be 
populated, there are several overlays that use dummy backend structures 
that will need to be updated. Jong?

   -- Howard Chu
   Chief Architect, Symas Corp.       Director, Highland Sun
   http://www.symas.com               http://highlandsun.com/hyc
   Symas: Premier OpenSource Development and Support