Hi all,
I've been trying to setup TracForge in a shared webhost environment,
which means I can only run trac under cgi or fcgi. I have tried both,
searched the archives and tried what I found there (explicitly loading
all the modules in [components]), but the problem seems really to be
related to cgi. This is what I get when I run it under fcgi:
AssertionError Python 2.3.5: /usr/bin/python
Sun Mar 25 17:26:45 2007
A problem occurred in a Python script. Here is the sequence of function
calls leading up to the error, in the order they occurred.
/home/garrido/packages/lib/python2.3/site-packages/trac/web/_fcgi.py in
run(self=<trac.web._fcgi.Request object>)
568 """Runs the handler, flushes the streams, and ends the
request."""
569 try:
570 protocolStatus, appStatus = self.server.handler(self)
571 except:
572 traceback.print_exc(file=self.stderr)
protocolStatus undefined, appStatus undefined, self =
<trac.web._fcgi.Request object>, self.server =
<trac.web._fcgi.WSGIServer object>, self.server.handler = <bound method
WSGIServer.handler of <trac.web._fcgi.WSGIServer object>>
/home/garrido/packages/lib/python2.3/site-packages/trac/web/_fcgi.py in
handler(self=<trac.web._fcgi.WSGIServer object>,
req=<trac.web._fcgi.Request object>)
1254 try:
1255 try:
1256 result = self.application(environ, start_response)
1257 try:
1258 for data in result:
result = None, self = <trac.web._fcgi.WSGIServer object>,
self.application = <function dispatch_request>, environ =
{'CONTENT_LENGTH': '128', 'CONTENT_TYPE':
'application/x-www-form-urlencoded', 'DOCUMENT_ROOT':
'/home/garrido/dev.garridovaz.com/', 'GATEWAY_INTERFACE': 'CGI/1.1',
'HTTP_ACCEPT':
'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',
'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE':
'en-us,en;q=0.7,pt-br;q=0.3', 'HTTP_CACHE_CONTROL': 'max-age=0',
'HTTP_CONNECTION': 'keep-alive', ...}, start_response = <function
start_response>
/home/garrido/packages/lib/python2.3/site-packages/trac/web/main.py in
dispatch_request(environ={'CONTENT_LENGTH': '128', 'CONTENT_TYPE':
'application/x-www-form-urlencoded', 'DOCUMENT_ROOT':
'/home/garrido/dev.garridovaz.com/', 'GATEWAY_INTERFACE': 'CGI/1.1',
'HTTP_ACCEPT':
'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',
'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE':
'en-us,en;q=0.7,pt-br;q=0.3', 'HTTP_CACHE_CONTROL': 'max-age=0',
'HTTP_CONNECTION': 'keep-alive', ...}, start_response=<function
start_response>)
418 }
419 try:
420 req.send_error(sys.exc_info(), status=500)
421 except RequestDone:
422 return []
req = <trac.web.api.Request object>, req.send_error = <bound method
Request.send_error of <trac.web.api.Request object>>, global sys =
<module 'sys' (built-in)>, sys.exc_info = <built-in function exc_info>,
status undefined
/home/garrido/packages/lib/python2.3/site-packages/trac/web/api.py in
send_error(self=<trac.web.api.Request object>, exc_info=(<class
exceptions.AssertionError>, <exceptions.AssertionError instance>,
<traceback object>), template='error.cs', content_type='text/html',
status=500)
392
393 self._write = self._start_response(self._status,
self._outheaders,
394 exc_info)
395
396 if self.method != 'HEAD':
exc_info = (<class exceptions.AssertionError>,
<exceptions.AssertionError instance>, <traceback object>)
/home/garrido/packages/lib/python2.3/site-packages/trac/web/_fcgi.py in
start_response(status='500 Internal Error',
response_headers=[('Cache-control', 'must-revalidate'), ('Expires',
'Fri, 01 Jan 1999 00:00:00 GMT'), ('Content-Type',
'text/html;charset=utf-8'), ('Content-Length', '4946'), ('Set-Cookie',
u'trac_auth=1176c6966cebee05194ff2c83ee4d5af; Path=/;'), ('Set-Cookie',
u'trac_session=6fe536a9ee1b824f74f1b8d6; expires=Mon, 26-Mar-2007
00:26:45 GMT; Path=/index.fcgi;')], exc_info=None)
1245 for name,val in response_headers:
1246 assert type(name) is str, 'Header names must
be strings'
1247 assert type(val) is str, 'Header values must
be strings'
1248
1249 headers_set[:] = [status, response_headers]
builtin type = <type 'type'>, val =
u'trac_auth=1176c6966cebee05194ff2c83ee4d5af; Path=/;', builtin str =
<type 'str'>
AssertionError: Header values must be strings
args = ('Header values must be strings',)
And this under cgi:
Traceback (most recent call last):
File
"/home/garrido/packages/lib/python2.3/site-packages/trac/web/main.py",
line 387, in dispatch_request
dispatcher.dispatch(req)
File
"/home/garrido/packages/lib/python2.3/site-packages/trac/web/main.py",
line 183, in dispatch
req.perm = PermissionCache(self.env, req.authname)
File
"/home/garrido/packages/lib/python2.3/site-packages/trac/perm.py", line
263, in __init__
self.perms = PermissionSystem(env).get_user_permissions(username)
File
"/home/garrido/packages/lib/python2.3/site-packages/trac/perm.py", line
227, in get_user_permissions
for perm in self.store.get_user_permissions(username):
File
"/home/.mowpurrs/garrido/packages/lib/python2.3/site-packages/TracForge-1.0-py2.3.egg/tracforge/admin/perm.py",
line 20, in get_user_permissions
subjects += list(provider.get_permission_groups(username))
File
"/home/.mowpurrs/garrido/packages/lib/python2.3/site-packages/TracForge-1.0-py2.3.egg/tracforge/admin/perm.py",
line 80, in get_permission_groups
group_extn_point =
PermissionSystem(self.master_env).store.group_providers
File
"/home/garrido/packages/lib/python2.3/site-packages/trac/config.py",
line 330, in __get__
value = self.accessor(section, self.name, self.default)
File
"/home/.mowpurrs/garrido/packages/lib/python2.3/site-packages/TracForge-1.0-py2.3.egg/tracforge/admin/config.py",
line 10, in accessor
return _open_environment(val)
File
"/home/garrido/packages/lib/python2.3/site-packages/trac/web/main.py",
line 58, in _open_environment
env_cache[env_path] = open_environment(env_path)
File "/home/garrido/packages/lib/python2.3/site-packages/trac/env.py",
line 434, in open_environment
env = Environment(env_path)
File "/home/garrido/packages/lib/python2.3/site-packages/trac/env.py",
line 126, in __init__
self.verify()
File "/home/garrido/packages/lib/python2.3/site-packages/trac/env.py",
line 174, in verify
fd = open(os.path.join(self.path, 'VERSION'), 'r')
IOError: [Errno 2] No such file or directory:
'/hoe/garrido/dev.garridovaz.com/trac_sites/garridovaz/VERSION'
The relevant sections of trac.ini for the master:
[components]
tracforge.* = enabled
tracforge.linker.* = disabled
tracforge.linker.auth.tracforgecookiemunger = enabled
tracforge.subscriptions.* = disabled
tracforge.admin.admin.tracforgeadminmodule = enabled
tracforge.admin.api.tracforgeadminsystem = enabled
tracforge.admin.membership.tracforgemembershipmodule = enabled
tracforge.admin.perm.tracforgegroupsmodule = enabled
tracforge.admin.perm.tracforgepermissionmodule = enabled
tracforge.admin.perm_admin.permissionadminpage = enabled
tracforge.admin.prototypes_admin.tracforgeconfigsetadminmodule = enabled
tracforge.admin.prototypes_admin.tracforgeprototypesadminmodule = enabled
acct_mgr.* = enabled
acct_mgr.web_ui.registrationmodule = disabled
iniadmin.* = enabled
trac.web.auth.loginmodule = disabled
tracnav.* = enabled
webadmin.* = enabled
[trac]
authz_file =
authz_module_name =
base_url =
check_auth_ip = true
database = sqlite:db/trac.db
default_charset = iso-8859-15
default_handler = WikiModule
htdocs_location =
ignore_auth_case = false
mainnav = wiki,timeline,roadmap,browser,tickets,newticket,search
metanav = login,logout,settings,help,about
permission_store = TracForgePermissionModule
repository_dir = /home/garrido/svn/dev_code
repository_type = svn
# request_filters = <set in global trac.ini>
# templates_dir = <set in global trac.ini>
timeout = 20
[tracforge]
master_path = /home/garrido/dev.garridovaz.com/trac_sites/garridovaz
uri_root = /
tracforge.admin.admin.tracforgeadminmodule = enabled
tracforge.admin.api.tracforgeadminsystem = enabled
tracforge.admin.membership.tracforgemembershipmodule = enabled
tracforge.admin.perm.tracforgegroupsmodule = enabled
tracforge.admin.perm.tracforgepermissionmodule = enabled
tracforge.admin.perm_admin.permissionadminpage = enabled
tracforge.admin.prototypes_admin.tracforgeconfigsetadminmodule = enabled
tracforge.admin.prototypes_admin.tracforgeprototypesadminmodule = enabled
[tracforge-client]
# filters = <set in global trac.ini>
[tracforge-envs]
* = {}
I am running Trac 0.10.3 - everything seems to work (wiki, timeline,
roadmap, tickets, source browsing), except for authentication.
Sorry for the long message, but I wanted to include everything that
might be relevant.
Thnx,
Fernando
Hi all,
I've been trying to setup TracForge in a shared webhost environment,
which means I can only run trac under cgi or fcgi. I have tried both,
searched the archives and tried what I found there (explicitly loading
all the modules in [components]), but the problem seems really to be
related to cgi. This is what I get when I run it under fcgi:
AssertionError Python 2.3.5: /usr/bin/python
Sun Mar 25 17:26:45 2007
A problem occurred in a Python script. Here is the sequence of function
calls leading up to the error, in the order they occurred.
/home/garrido/packages/lib/python2.3/site-packages/trac/web/_fcgi.py in
run(self=<trac.web._fcgi.Request object>)
568 """Runs the handler, flushes the streams, and ends the
request."""
569 try:
570 protocolStatus, appStatus = self.server.handler(self)
571 except:
572 traceback.print_exc(file=self.stderr)
protocolStatus undefined, appStatus undefined, self =
<trac.web._fcgi.Request object>, self.server =
<trac.web._fcgi.WSGIServer object>, self.server.handler = <bound method
WSGIServer.handler of <trac.web._fcgi.WSGIServer object>>
/home/garrido/packages/lib/python2.3/site-packages/trac/web/_fcgi.py in
handler(self=<trac.web._fcgi.WSGIServer object>,
req=<trac.web._fcgi.Request object>)
1254 try:
1255 try:
1256 result = self.application(environ, start_response)
1257 try:
1258 for data in result:
result = None, self = <trac.web._fcgi.WSGIServer object>,
self.application = <function dispatch_request>, environ =
{'CONTENT_LENGTH': '128', 'CONTENT_TYPE':
'application/x-www-form-urlencoded', 'DOCUMENT_ROOT':
'/home/garrido/dev.garridovaz.com/', 'GATEWAY_INTERFACE': 'CGI/1.1',
'HTTP_ACCEPT':
'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',
'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE':
'en-us,en;q=0.7,pt-br;q=0.3', 'HTTP_CACHE_CONTROL': 'max-age=0',
'HTTP_CONNECTION': 'keep-alive', ...}, start_response = <function
start_response>
/home/garrido/packages/lib/python2.3/site-packages/trac/web/main.py in
dispatch_request(environ={'CONTENT_LENGTH': '128', 'CONTENT_TYPE':
'application/x-www-form-urlencoded', 'DOCUMENT_ROOT':
'/home/garrido/dev.garridovaz.com/', 'GATEWAY_INTERFACE': 'CGI/1.1',
'HTTP_ACCEPT':
'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5',
'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE':
'en-us,en;q=0.7,pt-br;q=0.3', 'HTTP_CACHE_CONTROL': 'max-age=0',
'HTTP_CONNECTION': 'keep-alive', ...}, start_response=<function
start_response>)
418 }
419 try:
420 req.send_error(sys.exc_info(), status=500)
421 except RequestDone:
422 return []
req = <trac.web.api.Request object>, req.send_error = <bound method
Request.send_error of <trac.web.api.Request object>>, global sys =
<module 'sys' (built-in)>, sys.exc_info = <built-in function exc_info>,
status undefined
/home/garrido/packages/lib/python2.3/site-packages/trac/web/api.py in
send_error(self=<trac.web.api.Request object>, exc_info=(<class
exceptions.AssertionError>, <exceptions.AssertionError instance>,
<traceback object>), template='error.cs', content_type='text/html',
status=500)
392
393 self._write = self._start_response(self._status,
self._outheaders,
394 exc_info)
395
396 if self.method != 'HEAD':
exc_info = (<class exceptions.AssertionError>,
<exceptions.AssertionError instance>, <traceback object>)
/home/garrido/packages/lib/python2.3/site-packages/trac/web/_fcgi.py in
start_response(status='500 Internal Error',
response_headers=[('Cache-control', 'must-revalidate'), ('Expires',
'Fri, 01 Jan 1999 00:00:00 GMT'), ('Content-Type',
'text/html;charset=utf-8'), ('Content-Length', '4946'), ('Set-Cookie',
u'trac_auth=1176c6966cebee05194ff2c83ee4d5af; Path=/;'), ('Set-Cookie',
u'trac_session=6fe536a9ee1b824f74f1b8d6; expires=Mon, 26-Mar-2007
00:26:45 GMT; Path=/index.fcgi;')], exc_info=None)
1245 for name,val in response_headers:
1246 assert type(name) is str, 'Header names must
be strings'
1247 assert type(val) is str, 'Header values must
be strings'
1248
1249 headers_set[:] = [status, response_headers]
builtin type = <type 'type'>, val =
u'trac_auth=1176c6966cebee05194ff2c83ee4d5af; Path=/;', builtin str =
<type 'str'>
AssertionError: Header values must be strings
args = ('Header values must be strings',)
And this under cgi:
Traceback (most recent call last):
File
"/home/garrido/packages/lib/python2.3/site-packages/trac/web/main.py",
line 387, in dispatch_request
dispatcher.dispatch(req)
File
"/home/garrido/packages/lib/python2.3/site-packages/trac/web/main.py",
line 183, in dispatch
req.perm = PermissionCache(self.env, req.authname)
File
"/home/garrido/packages/lib/python2.3/site-packages/trac/perm.py", line
263, in __init__
self.perms = PermissionSystem(env).get_user_permissions(username)
File
"/home/garrido/packages/lib/python2.3/site-packages/trac/perm.py", line
227, in get_user_permissions
for perm in self.store.get_user_permissions(username):
File
"/home/.mowpurrs/garrido/packages/lib/python2.3/site-packages/TracForge-1.0-py2.3.egg/tracforge/admin/perm.py",
line 20, in get_user_permissions
subjects += list(provider.get_permission_groups(username))
File
"/home/.mowpurrs/garrido/packages/lib/python2.3/site-packages/TracForge-1.0-py2.3.egg/tracforge/admin/perm.py",
line 80, in get_permission_groups
group_extn_point =
PermissionSystem(self.master_env).store.group_providers
File
"/home/garrido/packages/lib/python2.3/site-packages/trac/config.py",
line 330, in __get__
value = self.accessor(section, self.name, self.default)
File
"/home/.mowpurrs/garrido/packages/lib/python2.3/site-packages/TracForge-1.0-py2.3.egg/tracforge/admin/config.py",
line 10, in accessor
return _open_environment(val)
File
"/home/garrido/packages/lib/python2.3/site-packages/trac/web/main.py",
line 58, in _open_environment
env_cache[env_path] = open_environment(env_path)
File "/home/garrido/packages/lib/python2.3/site-packages/trac/env.py",
line 434, in open_environment
env = Environment(env_path)
File "/home/garrido/packages/lib/python2.3/site-packages/trac/env.py",
line 126, in __init__
self.verify()
File "/home/garrido/packages/lib/python2.3/site-packages/trac/env.py",
line 174, in verify
fd = open(os.path.join(self.path, 'VERSION'), 'r')
IOError: [Errno 2] No such file or directory:
'/hoe/garrido/dev.garridovaz.com/trac_sites/garridovaz/VERSION'
The relevant sections of trac.ini for the master:
[components]
tracforge.* = enabled
tracforge.linker.* = disabled
tracforge.linker.auth.tracforgecookiemunger = enabled
tracforge.subscriptions.* = disabled
tracforge.admin.admin.tracforgeadminmodule = enabled
tracforge.admin.api.tracforgeadminsystem = enabled
tracforge.admin.membership.tracforgemembershipmodule = enabled
tracforge.admin.perm.tracforgegroupsmodule = enabled
tracforge.admin.perm.tracforgepermissionmodule = enabled
tracforge.admin.perm_admin.permissionadminpage = enabled
tracforge.admin.prototypes_admin.tracforgeconfigsetadminmodule = enabled
tracforge.admin.prototypes_admin.tracforgeprototypesadminmodule = enabled
acct_mgr.* = enabled
acct_mgr.web_ui.registrationmodule = disabled
iniadmin.* = enabled
trac.web.auth.loginmodule = disabled
tracnav.* = enabled
webadmin.* = enabled
[trac]
authz_file =
authz_module_name =
base_url =
check_auth_ip = true
database = sqlite:db/trac.db
default_charset = iso-8859-15
default_handler = WikiModule
htdocs_location =
ignore_auth_case = false
mainnav = wiki,timeline,roadmap,browser,tickets,newticket,search
metanav = login,logout,settings,help,about
permission_store = TracForgePermissionModule
repository_dir = /home/garrido/svn/dev_code
repository_type = svn
# request_filters = <set in global trac.ini>
# templates_dir = <set in global trac.ini>
timeout = 20
[tracforge]
master_path = /home/garrido/dev.garridovaz.com/trac_sites/garridovaz
uri_root = /
tracforge.admin.admin.tracforgeadminmodule = enabled
tracforge.admin.api.tracforgeadminsystem = enabled
tracforge.admin.membership.tracforgemembershipmodule = enabled
tracforge.admin.perm.tracforgegroupsmodule = enabled
tracforge.admin.perm.tracforgepermissionmodule = enabled
tracforge.admin.perm_admin.permissionadminpage = enabled
tracforge.admin.prototypes_admin.tracforgeconfigsetadminmodule = enabled
tracforge.admin.prototypes_admin.tracforgeprototypesadminmodule = enabled
[tracforge-client]
# filters = <set in global trac.ini>
[tracforge-envs]
* = {}
I am running Trac 0.10.3 - everything seems to work (wiki, timeline,
roadmap, tickets, source browsing), except for authentication.
Sorry for the long message, but I wanted to include everything that
might be relevant.
Thnx,
Fernando
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Trac
Users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/trac-users?hl=en
-~----------~----~----~----~------~----~------~--~---