On Wed, Jul 13, 2016 at 05:37:36PM +0000, Bailey, Aaron wrote:
> This is an update to the reported issue below.
> 
> It appears that calling the pre-processor macro svn_pool_create with an 
> argument of NULL is done a lot in the Subversion code base. The comments in 
> the APR function apr_pool_create_ex  in module memory/unix/apr_pools.c seems 
> to imply you shouldn't do this. However, as long as you've made a call to 
> either the APR function apr_pool_initialize in the module 
> memory/unix/apr_pools.c or apr_initialize in one of the OS appropriate APR 
> modules then you're ok as it initializes the global pool which is used when 
> the parent argument is NULL. However, the stack flow listed below from the 
> mod_dav_svn subversion module never makes a call to any of the initialization 
> functions. Ensuring that the APR module has been correctly initialized 
> resolves this issue. That being said the APR code should probably handle 
> being called before initialization gracefully rather than just causing a 
> segmentation fault.
> 
> I will note that while I didn't test it, the same issue appears to be present 
> in the Subversion 1.8.16 code base via code inspection. Since Subversion 1.8, 
> and probably 1.9, are widely in use maybe something about how I configure / 
> build the code is causing this issue. That being said, I cannot get the 
> Subversion Apache module to work correctly without first patching the code to 
> explicitly initialize the APR module (and patching APR to check if it's been 
> initialized and return an appropriate apr_status_t for good measure).
> 
> Thanks,
> 
> Aaron
> 

It seems odd that you'd be the only person on the planet running into this.
It's such a fundamental problem. Nothing will work if pools don't work.

Shouldn't Apache HTTPD be intializing the process-global APR state?
Perhaps, somehow, there's a problem with the HTTPD that's loading mod_dav_svn?

Reply via email to