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