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

Re: (ITS#3456) test018 consumer segfault

Pierangelo Masarati wrote:
>  hyc@symas.com wrote:
> > I wonder if we should
> > rewrite the overlay to perform this check using the runqueue
> > instead, so that the check occurs in a thread. Then we would need a
> > way to prevent syncrepl searches from proceeding until the check
> > finished.

>  I had a related problem with back-sql when acting as a provider,
>  where few calls to ch_free() wouldn't get the right context; I worked
>  it around byusing a special hlper that checks the
>  ldap_pvt_thread_pool_context() and, if it's NULL or different from
>  the op->o_tmpmemctx,  uses the latter to explicitly free memory
>  before it gets to the regular destroyer functions.  See
>  backsql_entry_clean() in back-sql/search.c.
>  Of course, if you continue with your fix, this will become redundant.

Well, that will fix syncprov_db_open, but syncprov_db_close will still 
be a problem. That's a different bug though; the 
ldap_pvt_thread_pool_context should never be NULL, and it should never 
be different from op->o_tmpmemctx. I'm fixing this as well.

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