subversion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Stein <gst...@gmail.com>
Subject Re: Subversion BDB doesn't work with Apache 2.4 event MPM
Date Thu, 05 Apr 2012 18:05:31 GMT
On Apr 5, 2012 6:46 AM, "Philip Martin" <philip.martin@wandisco.com> wrote:
>
> Branko ─îibej <brane@apache.org> writes:
>
> >> ... I think I may have identified the problem.  The patch below checks
> >> that the error struct is allocated and released by the same thread.
> >> With the worker MPM the assertion always passes but with the event MPM
I
> >> get assertion failures.  I don't fully understand the effect this would
> >> have but I suspect it explains the problem.
> >
> > I think this pretty much explains what you're seeing.
>
> Yes.  Thread A allocates the memory, stores the address in the
> thread-specific data, sets the refcount to one and sets up the pool
> cleanup handler.  Thread A finishes with the request.  Thread B runs the
> pool cleanup handler, sets the refcount to zero, frees the memory and
> sets the *wrong* thread-specific data to NULL.  Thread A then gets the
> free'd address from the thread-specific data and continues to use
> it--all sorts of horrible things follow.
>
> I've raised issue 4157 to track this problem.

Can we at least implement a detection for this situation and fail to start?
Maybe mod_dav_svn would query the mpm type, and the fs type. We could at
least backport that to 1.7.x pretty quickly.

Cheers,
-g

Mime
View raw message