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

Reply via email to