req.add_handler/req.handler and PythonInterpPerDirective --------------------------------------------------------
Key: MODPYTHON-160 URL: http://issues.apache.org/jira/browse/MODPYTHON-160 Project: mod_python Type: Bug Components: core Versions: 3.3 Reporter: Graham Dumpleton Assigned to: Graham Dumpleton 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 PythonInterpPerDirective is being used, mod_python will cause Apache to crash. Location of crash not yet identified. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira