[mod_python] Re: mod_python 3.3.1 bug report

Graham Dumpleton graham.dumpleton at gmail.com
Fri Jun 20 00:28:42 EDT 2008


Huh, that doesn't quite make sense. Can you replace:

  PythonHandler mptest

with:

  PythonHandler mod_python.testhandler

This will use an inbuilt test handler within mod_python and return a
lot of debug if it works.

If that still doesn't work, can only suggest uninstalling both Python
and mod_python and reinstalling, making sure they are installed as
account with Administrator privileges for good measure.

Graham

2008/6/20 Mike Landis <mlandis001 at comcast.net>:
> Graham,
>
> I'm sorry, 'line' is defined by the for loop, so you wanted all three lines
> within the for loop, as follows...
>            for line in tb:
>                                import sys
>                                print >> sys.stderr, repr(line[:-1])
>                                sys.stderr.flush()
>                                log_error(line[:-1], flags)
>
> that produces:
> [Fri Jun 20 00:24:18 2008] [notice] mod_python (pid=3332,
> interpreter='localhost'): Importing module 'D:\\htdocs\\Python\\mptest.py'
> [Fri Jun 20 00:24:18 2008] [error] [client 127.0.0.1] mod_python (pid=3332,
> interpreter='localhost', phase='PythonHandler', handler='mptest'):
> Application error
> [Fri Jun 20 00:24:18 2008] [error] [client 127.0.0.1] ServerName:
> 'localhost'
> [Fri Jun 20 00:24:18 2008] [error] [client 127.0.0.1] DocumentRoot:
> 'D:/htdocs'
> [Fri Jun 20 00:24:18 2008] [error] [client 127.0.0.1] URI:
> '/Python/mptest.py'
> [Fri Jun 20 00:24:18 2008] [error] [client 127.0.0.1] Location: None
> [Fri Jun 20 00:24:18 2008] [error] [client 127.0.0.1] Directory:
> 'D:/htdocs/Python/'
> [Fri Jun 20 00:24:18 2008] [error] [client 127.0.0.1] Filename:
> 'D:/htdocs/Python/mptest.py'
> [Fri Jun 20 00:24:18 2008] [error] [client 127.0.0.1] PathInfo: ''
> [Fri Jun 20 00:24:18 2008] [error] [client 127.0.0.1] Traceback (most recent
> call last):
> [Fri Jun 20 00:24:18 2008] [error] [client 127.0.0.1]   File
> "D:\\Programs\\Python25\\lib\\site-packages\\mod_python\\importer.py", line
> 1537, in HandlerDispatch\n    default=default_handler, arg=req,
> silent=hlist.silent)
> [Fri Jun 20 00:24:18 2008] [error] [client 127.0.0.1]   File
> "D:\\Programs\\Python25\\lib\\site-packages\\mod_python\\importer.py", line
> 1202, in _process_target\n    module = import_module(module_name, path=path)
> [Fri Jun 20 00:24:18 2008] [error] [client 127.0.0.1]   File
> "D:\\Programs\\Python25\\lib\\site-packages\\mod_python\\importer.py", line
> 296, in import_module\n    log, import_path)
> [Fri Jun 20 00:24:18 2008] [error] [client 127.0.0.1]   File
> "D:\\Programs\\Python25\\lib\\site-packages\\mod_python\\importer.py", line
> 680, in import_module\n    execfile(file, module.__dict__)
> Traceback (most recent call last):
>  File "D:\Programs\Python25\lib\site-packages\mod_python\importer.py", line
> 1784, in ReportError
>    import sys
> TypeError: argument 1 must be string without null bytes or None, not str
> [Fri Jun 20 00:24:18 2008] [error] [client 127.0.0.1] python_handler:
> Dispatch() returned non-integer.
>
> -Mike
> At 11:49 PM 6/19/2008, Graham Dumpleton wrote:
>>
>> Instead of repr(), try str() then. Also try:
>>
>>  line[:-1].encode('UTF-8')
>>
>> I think.
>>
>> You might add at same level of indent in that loop:
>>
>>  import sys
>>  print >> sys.stderr, repr(line[:-1])
>>  sys.stderr.flush()
>>
>> This should hopefully flush out to Apache logs and by pass the
>> mod_python error log function.
>>
>> If still no luck, there may be some issue with Python installation, not
>> sure.
>>
>> Graham
>>
>> 2008/6/20 Mike Landis <mlandis001 at comcast.net>:
>> > Graham,
>> >
>> > This result looks similar (if not identical).
>> >
>> > -Mike
>> >
>> > [Thu Jun 19 23:41:58 2008] [notice] mod_python (pid=3332,
>> > interpreter='localhost'): Importing module
>> > 'D:\\htdocs\\Python\\mptest.py'
>> > [Thu Jun 19 23:41:58 2008] [error] [client 127.0.0.1] mod_python
>> > (pid=3332,
>> > interpreter='localhost', phase='PythonHandler', handler='mptest'):
>> > Application error
>> > [Thu Jun 19 23:41:58 2008] [error] [client 127.0.0.1] ServerName:
>> > 'localhost'
>> > [Thu Jun 19 23:41:58 2008] [error] [client 127.0.0.1] DocumentRoot:
>> > 'D:/htdocs'
>> > [Thu Jun 19 23:41:58 2008] [error] [client 127.0.0.1] URI:
>> > '/Python/mptest.py'
>> > [Thu Jun 19 23:41:58 2008] [error] [client 127.0.0.1] Location: None
>> > [Thu Jun 19 23:41:58 2008] [error] [client 127.0.0.1] Directory:
>> > 'D:/htdocs/Python/'
>> > [Thu Jun 19 23:41:58 2008] [error] [client 127.0.0.1] Filename:
>> > 'D:/htdocs/Python/mptest.py'
>> > [Thu Jun 19 23:41:58 2008] [error] [client 127.0.0.1] PathInfo: ''
>> > [Thu Jun 19 23:41:58 2008] [error] [client 127.0.0.1] Traceback (most
>> > recent
>> > call last):
>> > [Thu Jun 19 23:41:58 2008] [error] [client 127.0.0.1]   File
>> > "D:\\Programs\\Python25\\lib\\site-packages\\mod_python\\importer.py",
>> > line
>> > 1537, in HandlerDispatch\n    default=default_handler, arg=req,
>> > silent=hlist.silent)
>> > [Thu Jun 19 23:41:58 2008] [error] [client 127.0.0.1]   File
>> > "D:\\Programs\\Python25\\lib\\site-packages\\mod_python\\importer.py",
>> > line
>> > 1202, in _process_target\n    module = import_module(module_name,
>> > path=path)
>> > [Thu Jun 19 23:41:58 2008] [error] [client 127.0.0.1]   File
>> > "D:\\Programs\\Python25\\lib\\site-packages\\mod_python\\importer.py",
>> > line
>> > 296, in import_module\n    log, import_path)
>> > [Thu Jun 19 23:41:58 2008] [error] [client 127.0.0.1]   File
>> > "D:\\Programs\\Python25\\lib\\site-packages\\mod_python\\importer.py",
>> > line
>> > 680, in import_module\n    execfile(file, module.__dict__)
>> > Traceback (most recent call last):
>> >  File "D:\Programs\Python25\lib\site-packages\mod_python\importer.py",
>> > line
>> > 1784, in ReportError
>> >    log_error(repr(line[:-1]), flags)                           # was:
>> >  log_error(line[:-1], flags)
>> > TypeError: argument 1 must be string without null bytes or None, not str
>> > [Thu Jun 19 23:41:58 2008] [error] [client 127.0.0.1] python_handler:
>> > Dispatch() returned non-integer.
>> >
>> > At 11:19 PM 6/19/2008, Graham Dumpleton wrote:
>> >>
>> >> Please use reply-all and keep followups on mailing list.
>> >>
>> >> Anyway, read message wrong first time. It isn't log_error() in your
>> >> code which is problem, but code in mod_python used to display error
>> >> tracebacks. In particular:
>> >>
>> >>            tb = traceback.format_exception(etype, evalue, etb)
>> >>
>> >>            for line in tb:
>> >>                log_error(line[:-1], flags)
>> >>
>> >> I can only image that somehow a Unicode character string has gotten
>> >> into traceback message from Python.
>> >>
>> >> What I suggest you do is modify the importer.py in mod_python
>> >> installed source so that that log_error() call reads:
>> >>
>> >>                log_error(repr(line[:-1]), flags)
>> >>
>> >> That should show you true error which is first occurring. Unicode
>> >> strings shouldn't be an issue then as are converting it all to
>> >> displayable latin.
>> >>
>> >> Please don't though just fix the error if in your code if obvious,
>> >> instead post the resultant error traceback to list so can see how
>> >> unicode string is getting into traceback.
>> >>
>> >> Graham
>> >>
>> >> 2008/6/20 Mike Landis <mlandis001 at comcast.net>:
>> >> > Graham,
>> >> >
>> >> > The results look identical to me... (see immediately below)
>> >> >
>> >> > -Mike
>> >> >
>> >> > [Thu Jun 19 22:42:54 2008] [notice] mod_python (pid=3332,
>> >> > interpreter='localhost'): Importing module
>> >> > 'D:\\htdocs\\Python\\mptest.py'
>> >> > [Thu Jun 19 22:42:54 2008] [error] [client 127.0.0.1] mod_python
>> >> > (pid=3332,
>> >> > interpreter='localhost', phase='PythonHandler', handler='mptest'):
>> >> > Application error
>> >> > [Thu Jun 19 22:42:54 2008] [error] [client 127.0.0.1] ServerName:
>> >> > 'localhost'
>> >> > [Thu Jun 19 22:42:54 2008] [error] [client 127.0.0.1] DocumentRoot:
>> >> > 'D:/htdocs'
>> >> > [Thu Jun 19 22:42:54 2008] [error] [client 127.0.0.1] URI:
>> >> > '/Python/mptest.py'
>> >> > [Thu Jun 19 22:42:54 2008] [error] [client 127.0.0.1] Location: None
>> >> > [Thu Jun 19 22:42:54 2008] [error] [client 127.0.0.1] Directory:
>> >> > 'D:/htdocs/Python/'
>> >> > [Thu Jun 19 22:42:54 2008] [error] [client 127.0.0.1] Filename:
>> >> > 'D:/htdocs/Python/mptest.py'
>> >> > [Thu Jun 19 22:42:54 2008] [error] [client 127.0.0.1] PathInfo: ''
>> >> > [Thu Jun 19 22:42:54 2008] [error] [client 127.0.0.1] Traceback (most
>> >> > recent
>> >> > call last):
>> >> > [Thu Jun 19 22:42:54 2008] [error] [client 127.0.0.1]   File
>> >> >
>> >> > "D:\\Programs\\Python25\\lib\\site-packages\\mod_python\\importer.py",
>> >> > line
>> >> > 1537, in HandlerDispatch\n    default=default_handler, arg=req,
>> >> > silent=hlist.silent)
>> >> > [Thu Jun 19 22:42:54 2008] [error] [client 127.0.0.1]   File
>> >> >
>> >> > "D:\\Programs\\Python25\\lib\\site-packages\\mod_python\\importer.py",
>> >> > line
>> >> > 1202, in _process_target\n    module = import_module(module_name,
>> >> > path=path)
>> >> > [Thu Jun 19 22:42:54 2008] [error] [client 127.0.0.1]   File
>> >> >
>> >> > "D:\\Programs\\Python25\\lib\\site-packages\\mod_python\\importer.py",
>> >> > line
>> >> > 296, in import_module\n    log, import_path)
>> >> > [Thu Jun 19 22:42:54 2008] [error] [client 127.0.0.1]   File
>> >> >
>> >> > "D:\\Programs\\Python25\\lib\\site-packages\\mod_python\\importer.py",
>> >> > line
>> >> > 680, in import_module\n    execfile(file, module.__dict__)
>> >> > Traceback (most recent call last):
>> >> >  File
>> >> > "D:\Programs\Python25\lib\site-packages\mod_python\importer.py",
>> >> > line
>> >> > 1784, in ReportError
>> >> >    log_error(line[:-1], flags)
>> >> > TypeError: argument 1 must be string without null bytes or None, not
>> >> > str
>> >> > [Thu Jun 19 22:42:54 2008] [error] [client 127.0.0.1] python_handler:
>> >> > Dispatch() returned non-integer.
>> >> >
>> >> >
>> >> > ==========================================================================
>> >> > At 09:33 PM 6/19/2008, you wrote:
>> >> >>
>> >> >> What happens when you use:
>> >> >>
>> >> >>  from mod_python import apache
>> >> >>  apache.log_error('handler')
>> >> >>
>> >> >> instead?
>> >> >>
>> >> >> Graham
>> >> >>
>> >> >> 2008/6/16 Mike Landis <mlandis001 at comcast.net>:
>> >> >> >
>> >> >> > 32 bit Windows Vista, Apache 2.2.8, mod_python 3.3.1, python
>> >> >> > 2.5.2.2
>> >> >> > (r252:60911)
>> >> >> >
>> >> >> > I received a 500 error from Apache httpd while attempting to get
>> >> >> > mod_python working on Windows Vista.  Following are entries from
>> >> >> > error.log, httpd.conf, and the Python source (mptest.py) used as a
>> >> >> > test
>> >> >> > case.  The error
>> >> >> > occurs within importer.py (part of the mod_pyton site-package).
>> >> >> >
>> >> >> > Apache httpd error log:
>> >> >> > [Sat Jun 14 16:22:29 2008] [notice] mod_python (pid=3708,
>> >> >> > interpreter='localhost'): Importing module
>> >> >> > 'D:\\htdocs\\Python\\mptest.py'
>> >> >> > [Sat Jun 14 16:22:29 2008] [error] [client 127.0.0.1] mod_python
>> >> >> > (pid=3708, interpreter='localhost', phase='PythonHandler',
>> >> >> > handler='mptest'): Application error
>> >> >> > [Sat Jun 14 16:22:29 2008] [error] [client 127.0.0.1] ServerName:
>> >> >> > 'localhost'
>> >> >> > [Sat Jun 14 16:22:29 2008] [error] [client 127.0.0.1]
>> >> >> > DocumentRoot:
>> >> >> > 'D:/htdocs'
>> >> >> > [Sat Jun 14 16:22:29 2008] [error] [client 127.0.0.1] URI:
>> >> >> > '/Python/mptest.py'
>> >> >> > [Sat Jun 14 16:22:29 2008] [error] [client 127.0.0.1] Location:
>> >> >> > None
>> >> >> > [Sat Jun 14 16:22:29 2008] [error] [client 127.0.0.1] Directory:
>> >> >> > 'D:/htdocs/Python/'
>> >> >> > [Sat Jun 14 16:22:29 2008] [error] [client 127.0.0.1] Filename:
>> >> >> > 'D:/htdocs/Python/mptest.py'
>> >> >> > [Sat Jun 14 16:22:29 2008] [error] [client 127.0.0.1] PathInfo: ''
>> >> >> > [Sat Jun 14 16:22:29 2008] [error] [client 127.0.0.1] Traceback
>> >> >> > (most
>> >> >> > recent call last):
>> >> >> > [Sat Jun 14 16:22:29 2008] [error] [client 127.0.0.1]   File
>> >> >> >
>> >> >> >
>> >> >> > "D:\\Programs\\Python25\\lib\\site-packages\\mod_python\\importer.py",
>> >> >> > line 1537, in HandlerDispatch\n default=default_handler, arg=req,
>> >> >> > silent=hlist.silent)
>> >> >> > [Sat Jun 14 16:22:29 2008] [error] [client 127.0.0.1]   File
>> >> >> >
>> >> >> >
>> >> >> > "D:\\Programs\\Python25\\lib\\site-packages\\mod_python\\importer.py",
>> >> >> > line 1202, in _process_target\n module =
>> >> >> > import_module(module_name,
>> >> >> > path=path)
>> >> >> > [Sat Jun 14 16:22:29 2008] [error] [client 127.0.0.1]   File
>> >> >> >
>> >> >> >
>> >> >> > "D:\\Programs\\Python25\\lib\\site-packages\\mod_python\\importer.py",
>> >> >> > line 296, in import_module\n log, import_path)
>> >> >> > [Sat Jun 14 16:22:29 2008] [error] [client 127.0.0.1]   File
>> >> >> >
>> >> >> >
>> >> >> > "D:\\Programs\\Python25\\lib\\site-packages\\mod_python\\importer.py",
>> >> >> > line 680, in import_module\n execfile(file, module.__dict__)
>> >> >> > Traceback (most recent call last): File
>> >> >> > "D:\Programs\Python25\lib\site-packages\mod_python\importer.py",
>> >> >> > line 1784, in ReportError log_error(line[:-1], flags)
>> >> >> > TypeError: argument 1 must be string without null bytes or None,
>> >> >> > not
>> >> >> > str
>> >> >> > [Sat Jun 14 16:22:29 2008] [error] [client 127.0.0.1]
>> >> >> > python_handler:
>> >> >> > Dispatch() returned non-integer.
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > --------------------------------------------------------------------------------
>> >> >> > httpd.conf entries:
>> >> >> > LoadModule python_module modules/mod_python.so
>> >> >> >
>> >> >> > <Directory D:\htdocs\Python>
>> >> >> >
>> >> >> > AddHandler      mod_python .py
>> >> >> >        PythonHandler   mptest
>> >> >> >        PythonDebug
>> >> >> > On
>> >> >> > </Directory>
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > --------------------------------------------------------------------------------
>> >> >> > Python source (in mptest.py):
>> >> >> >
>> >> >> > from mod_python import apache
>> >> >> >
>> >> >> > def handler(req):
>> >> >> >         req.log_error('handler')
>> >> >> >         req.content_type =
>> >> >> > 'text/plain'
>> >> >> >         req.write('HelloWorld\n')
>> >> >> >         return apache.OK
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >>
>> >> >> No virus found in this incoming message.
>> >> >> Checked by AVG.
>> >> >> Version: 8.0.100 / Virus Database: 270.4.0/1509 - Release Date:
>> >> >> 6/19/2008
>> >> >> 8:00 AM
>> >> >
>> >> >
>> >>
>> >> No virus found in this incoming message.
>> >> Checked by AVG.
>> >> Version: 8.0.100 / Virus Database: 270.4.0/1509 - Release Date:
>> >> 6/19/2008
>> >> 8:00 AM
>> >
>> >
>>
>> No virus found in this incoming message.
>> Checked by AVG.
>> Version: 8.0.100 / Virus Database: 270.4.0/1509 - Release Date: 6/19/2008
>> 8:00 AM
>
>


More information about the Mod_python mailing list