On Thu, Jul 14, 2016 at 04:56:21PM +0000, Bailey, Aaron wrote:
> Hey Stefan,
>
> I think I know what is going on, this is due to my lack of knowledge
> about the inner workings of Apache. I'm building subversion for an
> several older versions of Linux. I couldn't update the packages on
> several of them so I statically linked in all of the dependencies for
> subversion. So Apache, APR, APR-Util, etc... are still the older
> system packages while Subversion has statically built in updated
> versions. This is not normally an issue for developers as they aren't
> running Subversion servers, let alone through Apache. When upgrading
> the actual server it was decided not to touch Apache. So if Apache
> initializes the APR module it would be the one dynamically linked
> against the system default shared object APR library, which my build
> of subversion doesn't use. ¯\_(ツ)_/¯
>
> I know this is the subversion and not the APR list, but I feel that
> the APR library segfaulting if it hasn't been properly initialized is
> still not great behavior.
So you're linking several copies of APR into a single process?
I doubt this is a supported setup.
Initialization of global state is very difficult for libraries to do by
themselves in threaded contexts. There's a reason for having the main
control flow code path call an init() function of some sort.
I doubt that APR could really do anything about this problem.
You'll need to fix your set of binaries.
Can you switch to one of the precompiled sets of binaries (including HTTPD!)
from http://subversion.apache.org/packages.html instead of rolling your own?
That would avoid this problem.
Received on 2016-07-14 21:11:22 CEST