Ticket #185 (assigned defect)
Deadlocks with apache mod_python and mod_wsgi
Description (last modified by richard) (diff)
Summary of current known status
mod_python
Calling any Xapian methods or functions is likely to cause dead-lock unless you set this option in the Apache configuration section for all mod_python scripts which use Xapian:
PythonInterpreter main_interpreter
You may also need to use Python >= 2.4 (due to [http://issues.apache.org/jira/browse/MODPYTHON-217 problems in Python 2.3 with the APIs the code uses).
Even with main_interpreter and Python >= 2.4, calling from Xapian's C++ code back to Python code won't work properly (this means that you can't subclass Xapian objects in Python). This is apparently an issue with mod_python.
mod_wsgi
You'll need to set:
WSGIApplicationGroup %{GLOBAL}
For details see: http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIApplicationGroup and http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Python_Simplified_GIL_State_API
The mod_wsgi developers say this should be sufficient, and you should be able to subclass Xapian objects in Python. If you encounter problems, please talk to us or the mod_wsgi developers so we can investigate.
Originally reported on the mailing list: http://thread.gmane.org/gmane.comp.search.xapian.general/4486
