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

Reply via email to