Red Hat Bugzilla – Bug 231908
Double free or corruption detected by glibc when using mem_cache_module and mod_python
Last modified: 2008-05-06 15:20:46 EDT
Description of problem:
Since this morning browsing to a vhost using mod_python with mem_cache_module
loaded in httpd.conf gives glibc "double free or corruption" errors in
/var/log/httpd/error_log and makes httpd processes stick around.
Version-Release number of selected component (if applicable):
Happens every time I uncomment the following line in httpd.conf:
#LoadModule mem_cache_module modules/mod_mem_cache.so
Steps to Reproduce:
1. Set up a vhost as shown in the attached vhost file
2. Make sure the following line is in your httpd.conf:
LoadModule mem_cache_module modules/mod_mem_cache.so
3. Reload httpd
4. tail -f /var/log/httpd/error_log
5. Open a web browser and browse to the vhost
1. No response received by the browser
2. In /var/log/httpd/error_log:
*** glibc detected *** /usr/sbin/httpd: double free or corruption (fasttop):
3. Each time I reload the browser, a new httpd process starts and a new "double
free or corruption" line is added to the error_log. The processes persist until
1. The vhost's web page to load nicely in the browser
2. No errors in error_log
3. httpd processes only stick around until the end of the session
1. Commenting out the LoadModule line mentioned above in httpd.conf fixes it.
2. Bug #205018 seems like it could be related (it's where I found the fix) but
3. Bug #230127 might possibly also be related
4. Packages upgraded this morning:
Installed: python-sqlite2.x86_64 1:2.3.2-2.fc5
Updated: mod_suphp.x86_64 0.6.2-1.fc5
Updated: trac.noarch 0.10.3.1-1.fc5
Created attachment 149875 [details]
The vhost file that triggers the bug
This is undoubtedly a global symbol collision. It should be fixed in
mod_mem_cache, no doubt; it would be useful to know exactly what the problem is:
can you download http://people.redhat.com/jorton/symclash/symclash.py
and run as follows:
# ./symclash.py /usr/lib64/httpd/modules/mod_mem_cache.so \
and attach the output to this bug report.
Created attachment 149878 [details]
Output of running symclash.py
Great, thanks. The collision is:
Clashes for /usr/lib64/python2.4/site-packages/pysqlite2/_sqlite.so:
with /usr/lib64/python2.4/site-packages/_sqlite.so => init_sqlite
with /usr/lib64/httpd/modules/mod_mem_cache.so => cache_init
The fix for this needs to go upstream first, but is well understood. (the
symbol collision has been fixed in python-sqlite2 also, for the record)
Fedora apologizes that these issues have not been resolved yet. We're
sorry it's taken so long for your bug to be properly triaged and acted
on. We appreciate the time you took to report this issue and want to
make sure no important bugs slip through the cracks.
If you're currently running a version of Fedora Core between 1 and 6,
please note that Fedora no longer maintains these releases. We strongly
encourage you to upgrade to a current Fedora release. In order to
refocus our efforts as a project we are flagging all of the open bugs
for releases which are no longer maintained and closing them.
If this bug is still open against Fedora Core 1 through 6, thirty days
from now, it will be closed 'WONTFIX'. If you can reporduce this bug in
the latest Fedora version, please change to the respective version. If
you are unable to do this, please add a comment to this bug requesting
Thanks for your help, and we apologize again that we haven't handled
these issues to this point.
The process we are following is outlined here:
We will be following the process here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this
doesn't happen again.
And if you'd like to join the bug triage team to help make things
better, check out http://fedoraproject.org/wiki/BugZappers
This bug is open for a Fedora version that is no longer maintained and
will not be fixed by Fedora. Therefore we are closing this bug.
If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen thus bug against that version.
Thank you for reporting this bug and we are sorry it could not be fixed.