Hi everyone,
I've been teaching myself TurboGears over the past month or so, and
have an app that I'd like to make production-grade. I'm running
Fedora 6, and had a lot of trouble getting everything working with
Apache (following the documentation at the TurboGears website), so I
tried LightTPD with SCGI, as per this document:
http://docs.turbogears.org/1.0/LightTPD.
My site now mostly works, but anytime a user needs to login, it
doesn't work, with the webpage just returning "500 Internal error |
The server encountered an unexpected condition which prevented it from
fulfilling the request." I looked at the command line output, but
couldn't figure it out. Here it is below, with some white space
separating the 3 main sections:
---
# python testapp-start-scgi.py
2007-03-04 17:37:47,899 turbogears.visit INFO Visit Tracking starting
2007-03-04 17:37:47,900 turbogears.visit DEBUG Loading visit manager
from plugin: sqlobject
2007-03-04 17:37:47,912 turbogears.visit.sovisit INFO Succesfully
loaded "turbogears.visit.sovisit.TG_Visit"
2007-03-04 17:37:47,914 turbogears.visit INFO Visit filter initialised
2007-03-04 17:37:47,928 turbogears.identity INFO Identity starting
2007-03-04 17:37:47,929 turbogears.identity DEBUG Loading provider
from plugin: sqlobject
2007-03-04 17:37:47,981 turbogears.identity.soprovider INFO
Succesfully loaded "turbogears.identity.soprovider.TG_User"
2007-03-04 17:37:47,982 turbogears.identity.soprovider INFO
Succesfully loaded "turbogears.identity.soprovider.TG_Group"
2007-03-04 17:37:47,982 turbogears.identity.soprovider INFO
Succesfully loaded "turbogears.identity.soprovider.TG_Permission"
2007-03-04 17:37:47,983 turbogears.identity.soprovider INFO
Succesfully loaded "turbogears.identity.soprovider.TG_VisitIdentity"
2007-03-04 17:37:47,991 turbogears.identity INFO Identity visit plugin
initialised
2007-03-04 17:37:47,992 turbogears.identity DEBUG Loading provider
from plugin: sqlobject
2007-03-04 17:37:47,994 turbogears.identity.soprovider INFO
Succesfully loaded "turbogears.identity.soprovider.TG_User"
2007-03-04 17:37:47,994 turbogears.identity.soprovider INFO
Succesfully loaded "turbogears.identity.soprovider.TG_Group"
2007-03-04 17:37:47,995 turbogears.identity.soprovider INFO
Succesfully loaded "turbogears.identity.soprovider.TG_Permission"
2007-03-04 17:37:47,995 turbogears.identity.soprovider INFO
Succesfully loaded "turbogears.identity.soprovider.TG_VisitIdentity"
2007-03-04 17:37:47 : WSGIServer starting up
2007-03-04 17:37:47,997 scgi-wsgi INFO WSGIServer starting up
2007-03-04 17:37:53 : GET /login
2007-03-04 17:37:53,322 scgi-wsgi INFO GET /login
2007-03-04 17:37:53,343 turbogears.visit DEBUG Sending visit ID
cookie: Set-Cookie: tg-visit=407b4f9f0b759084630e63d5e50d1c758166272f;
Path=/;
2007-03-04 17:37:53,346 turbogears.identity DEBUG Retrieving identity
for visit: 407b4f9f0b759084630e63d5e50d1c758166272f
2007-03-04 17:37:53,346 turbogears.identity DEBUG Identity is
available...
2007-03-04 17:37:53,353 turbogears.controllers DEBUG Generated rule
kw.get("tg_format", "default") == "default"
2007-03-04 17:37:53,358 turbogears.database DEBUG Starting SQLObject
transaction
2007-03-04 17:37:53,381 turbokid.kidsupport DEBUG Compiling template
for turbogears.view.templates.sitetemplate
2007-03-04 17:37:53,416 turbokid.kidsupport DEBUG Compiling template
for testapp.templates.login
2007-03-04 17:37:53,484 turbokid.kidsupport DEBUG Applying template
testapp.templates.login
2007-03-04 17:37:53,500 turbogears.access INFO 127.0.0.1 - - "GET /
login HTTP/1.1" 403 2693 "http://localhost:7887/" "Mozilla/5.0 (X11;
U; Linux i686 (x86_64); en-US; rv:1.8.1.2) Gecko/20070220 Firefox/
2.0.0.2"
2007-03-04 17:39:00 : POST /login
2007-03-04 17:39:00,675 scgi-wsgi INFO POST /login
2007-03-04 17:39:00,699 turbogears.identity DEBUG Retrieving identity
for visit: 407b4f9f0b759084630e63d5e50d1c758166272f
2007-03-04 17:39:00,802 cherrypy.msg INFO HTTP: Page handler: "Unknown
column 'tg_user.child_name' in 'field list'"
Traceback (most recent call last):
File "/usr/lib/python2.4/site-packages/cherrypy/_cphttptools.py",
line 103, in _run
applyFilters('before_main')
File "/usr/lib/python2.4/site-packages/cherrypy/filters/
__init__.py", line 151, in applyFilters
method()
File "/usr/lib/python2.4/site-packages/turbogears/visit/api.py",
line 157, in before_main
plugin.record_request( visit )
File "/usr/lib/python2.4/site-packages/turbogears/identity/
visitor.py", line 165, in record_request
identity= self.identity_from_request(visit.key)
File "/usr/lib/python2.4/site-packages/turbogears/identity/
visitor.py", line 89, in identity_from_request
identity= source(visit_key)
File "/usr/lib/python2.4/site-packages/turbogears/identity/
visitor.py", line 146, in identity_from_form
identity= self.provider.validate_identity( user_name, pw,
visit_key )
File "/usr/lib/python2.4/site-packages/turbogears/identity/
soprovider.py", line 223, in validate_identity
user= user_class.by_user_name( user_name )
File "<string>", line 1, in <lambda>
File "/usr/lib/python2.4/site-packages/sqlobject/main.py", line
1276, in _SO_fetchAlternateID
result, obj = cls._findAlternateID(name, dbName, value,
connection)
File "/usr/lib/python2.4/site-packages/sqlobject/inheritance/
__init__.py", line 243, in _findAlternateID
result = list(cls.selectBy(connection, **{name: value}))
File "/usr/lib/python2.4/site-packages/sqlobject/sresults.py", line
155, in __iter__
return iter(list(self.lazyIter()))
File "/usr/lib/python2.4/site-packages/sqlobject/sresults.py", line
163, in lazyIter
return conn.iterSelect(self)
File "/usr/lib/python2.4/site-packages/sqlobject/dbconnection.py",
line 776, in iterSelect
select, keepConnection=True)))
File "/usr/lib/python2.4/site-packages/sqlobject/inheritance/
iteration.py", line 10, in __init__
super(InheritableIteration, self).__init__(dbconn, rawconn,
select, keepConnection)
File "/usr/lib/python2.4/site-packages/sqlobject/dbconnection.py",
line 705, in __init__
self.dbconn._executeRetry(self.rawconn, self.cursor, self.query)
File "/usr/lib/python2.4/site-packages/sqlobject/mysql/
mysqlconnection.py", line 78, in _executeRetry
return cursor.execute(myquery)
File "/usr/lib64/python2.4/site-packages/MySQLdb/cursors.py", line
163, in execute
self.errorhandler(self, exc, value)
File "/usr/lib64/python2.4/site-packages/MySQLdb/connections.py",
line 35, in defaulterrorhandler
raise errorclass, errorvalue
OperationalError: 1054
2007-03-04 17:39:00,806 turbogears.access INFO 127.0.0.1 - - "POST /
login HTTP/1.1" 500 791 "http://localhost:7887/login" "Mozilla/5.0
(X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.2) Gecko/20070220
Firefox/2.0.0.2"
---
The problem seems to be '2007-03-04 17:39:00,802 cherrypy.msg INFO
HTTP: Page handler: "Unknown column 'tg_user.child_name' in 'field
list'"', but tg_user only has the columns user_name, display_name,
password and created (user_name is actually an email address,
varchar(255)).
I've spent all day looking online for what the fix might be. I found
this post:
http://groups.google.com/group/turbogears/browse_thread/thread/a1f67c8c8ac109ff/a0a8575cd4c87999?lnk=gst&q=identity+scgi&rnum=2#a0a8575cd4c87999
which mentioned problems forking. So I changed my startup script to
the following:
#from flup.server.scgi_fork import WSGIServer
from flup.server.scgi import WSGIServer
This runs, but doesn't behave any differently. Does anyone know what
the problem is and how I can fix it?
Thanks a lot for any help,
Chris Kurecka
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"TurboGears" 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/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---