[Date Prev][Date Next]
Re: (ITS#3456) test018 consumer segfault
Pierangelo Masarati wrote:
> email@example.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
Symas: Premier OpenSource Development and Support