quetz-mod_python-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Graham Dumpleton (JIRA)" <j...@apache.org>
Subject [jira] Updated: (MODPYTHON-90) Explicitly don't allow Pdb support to work if not ONE_PROCESS mode.
Date Sat, 01 Apr 2006 04:39:01 GMT
     [ http://issues.apache.org/jira/browse/MODPYTHON-90?page=all ]

Graham Dumpleton updated MODPYTHON-90:
--------------------------------------

    Assign To: Graham Dumpleton

> Explicitly don't allow Pdb support to work if not ONE_PROCESS mode.
> -------------------------------------------------------------------
>
>          Key: MODPYTHON-90
>          URL: http://issues.apache.org/jira/browse/MODPYTHON-90
>      Project: mod_python
>         Type: Improvement
>   Components: core
>     Versions: 3.3
>     Reporter: Graham Dumpleton
>     Assignee: Graham Dumpleton
>     Priority: Minor

>
> mod_python provides the PythonEnablePdb option for enabling of the Python debugger. For
it to work properly though, it is necessary to start httpd from the command line with the
-DONE_PROCESS option. If one doesn't do this though and enables PythonEnablePdb when Apache
is running normally, any request to a URL for which the debugger is enabled will yield a 500
error. The details of the 500 error will be:
>   Mod_python error: "PythonHandler mptest"
>   Traceback (most recent call last):
>     File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/mod_python/apache.py",
line 313, in HandlerDispatch
>       assert (type(result) == type(int())), \
>   AssertionError: Handler 'mptest' returned invalid return code.
> This error message isn't particularly helpful in understanding that the problem is that
the debugger can't be run in this mode.
> To avoid this problem at the moment, all that can be done is for the user to know that
their Apache configuration should actually say:
>   <IfDefine ONE_PROCESS>
>   PythonEnablePdb On
>   </IfDefine>
> This would mean they could leave the Apache configuration set the one way and not have
to worry.
> What could instead be done in mod_python though is simply to ignore the PythonEnablePdb
option and that it is set if Apache hasn't been run in ONE_PROCESS mode. Thus, presuming that
MODPYTHON-89 has been implemented, the mod_python code in mod_python.apache in the number
of places where it occurs, could say:
>                 # call the object
>                 if exists_config_define("ONE_PROCESS") and config.has_key("PythonEnablePdb"):
>                     result = pdb.runcall(object, conn)
>                 else:
>                     result = object(conn)

-- 
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


Mime
View raw message