RE: Bug Report Againgst Subversion 1.9.3 libsvn_subr
From: Bailey, Aaron <Aaron.Bailey_at_ga.com>
Date: Wed, 13 Jul 2016 17:37:36 +0000
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
From: Bailey, Aaron
To Whom It May Concern,
This email is in regards to a potential software bug I've encountered in Subversion 1.9.3. I wasn't really able to find anything on the existing issue tracker, however that may be due to my inability to get any useful information out of it. As directed on the issues page I'm first emailing this list about the potential bug.
Summary:
Details:
Stack Trace:
Analysis:
Near the above code block provided above there is a comment about how the parent object will
This seemingly invalid call to the apr_pool_create_ex function stems from the atomic_init_func function in the module
Thanks,
Aaron
|
This is an archived mail posted to the Subversion Users mailing list.
This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.