| Graham Dumpleton (JIRA) 2007-04-17, 7:12 am |
|
[ https://issues.apache.org/jira/brow...ls:all-tabpanel ]
Graham Dumpleton closed MODPYTHON-160.
--------------------------------------
> req.add_handler/req.handler and PythonInterpPerDirective
> --------------------------------------------------------
>
> Key: MODPYTHON-160
> URL: https://issues.apache.org/jira/browse/MODPYTHON-160
> Project: mod_python
> Issue Type: Bug
> Components: core
> Affects Versions: 3.2.8
> Reporter: Graham Dumpleton
> Assigned To: Graham Dumpleton
> Fix For: 3.3
>
>
> MODPYTHON-125 made req.handler writable. Being able to now do this has uncovered a bug whereby if PythonInterpPerDirective is used mod_python can cause Apache to crash. Code to trigger the problem is:
> # .htaccess
> SetHandler mod_python
> PythonInterpPerDirective On
> PythonFixupHandler interpreter_1
> # interpreter_1.py
> from mod_python import apache
> def fixuphandler(req):
> req.log_error("fixuphandler")
> req.log_error("interpreter=%s"%req.interpreter)
> req.log_error("directory=%s"%req.hlist.directory)
> req.handler = "mod_python"
> req.add_handler("PythonHandler","interpreter_1")
> return apache.OK
> def handler(req):
> req.log_error("handler")
> req.log_error("interpreter=%s"%req.interpreter)
> req.log_error("directory=%s"%req.hlist.directory)
> req.content_type = 'text/plain'
> req.write('hello')
> return apache.OK
> In summary, if PythonHandler is not used in Apache configuration to enable mod_python but it is done by assignment to req.handler in fixup phase and then req.add_handler() is used to add a handler to be called for content phase, and PythonInterpPerDirec
tive is being used, mod_python will cause Apache to crash.
> Location of crash not yet identified.
|