| OperationalError | Python 2.3.5: /home/fweez/bin/python Fri Jul 3 22:40:43 2009 |
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/fweez/lib/python2.3/site-packages/trac/web/_fcgi.py in run(self=<trac.web._fcgi.Request object>) |
| 565 """Runs the handler, flushes the streams, and ends the request.""" |
| 566 try: |
| 567 protocolStatus, appStatus = self.server.handler(self) |
| 568 except: |
| 569 traceback.print_exc(file=self.stderr) |
| protocolStatus undefined, appStatus undefined, self = <trac.web._fcgi.Request object>, self.server = <trac.web._fcgi.Server object>, self.server.handler = <function _handler> |
| /home/fweez/lib/python2.3/site-packages/trac/web/fcgi_frontend.py in _handler(_req=<trac.web._fcgi.Request object>) |
| 31 def _handler(_req): |
| 32 req = CGIRequest(_req.params, _req.stdin, _req.stdout) |
| 33 env = get_environment(req, os.environ) |
| 34 |
| 35 if not env: |
| env undefined, global get_environment = <function get_environment>, req = <trac.web.cgi_frontend.CGIRequest object>, global os = <module 'os' from '/home/fweez/lib/python2.3/os.pyc'>, os.environ = {'SHLVL': '0', 'PATH': '/usr/local/bin:/usr/bin:...cells.pdxcb.net/trac', 'RAILS_ENV': 'production'} |
| /home/fweez/lib/python2.3/site-packages/trac/web/main.py in get_environment(req=<trac.web.cgi_frontend.CGIRequest object>, options={'SHLVL': '0', 'PATH': '/usr/local/bin:/usr/bin:...cells.pdxcb.net/trac', 'RAILS_ENV': 'production'}, threaded=True) |
| 331 'or the mod_python options "TracEnv" or "TracEnvParentDir" ' \ |
| 332 'are missing. Trac requires one of these options to locate ' \ |
| 333 'the Trac environment(s).' |
| 334 |
| 335 return _open_environment(env_path, threaded) |
| global _open_environment = <function _open_environment>, env_path = '/home/fweez/pycells.pdxcb.net/trac', threaded = True |
| /home/fweez/lib/python2.3/site-packages/trac/web/main.py in _open_environment(env_path='/home/fweez/pycells.pdxcb.net/trac', threaded=True) |
| 49 try: |
| 50 if not env_path in env_cache: |
| 51 env_cache[env_path] = open_environment(env_path) |
| 52 env = env_cache[env_path] |
| 53 finally: |
| global env_cache = {}, env_path = '/home/fweez/pycells.pdxcb.net/trac', global open_environment = <function open_environment> |
| /home/fweez/lib/python2.3/site-packages/trac/env.py in open_environment(env_path='/home/fweez/pycells.pdxcb.net/trac') |
| 373 |
| 374 env = Environment(env_path) |
| 375 if env.needs_upgrade(): |
| 376 raise TracError, 'The Trac Environment needs to be upgraded. Run ' \ |
| 377 'trac-admin %s upgrade"' % env_path |
| env = <trac.env.Environment object>, env.needs_upgrade = <bound method Environment.needs_upgrade of <trac.env.Environment object>> |
| /home/fweez/lib/python2.3/site-packages/trac/env.py in needs_upgrade(self=<trac.env.Environment object>) |
| 279 db = self.get_db_cnx() |
| 280 for participant in self.setup_participants: |
| 281 if participant.environment_needs_upgrade(db): |
| 282 self.log.warning('Component %s requires environment upgrade', |
| 283 participant) |
| participant = <trac.env.EnvironmentSetup object>, participant.environment_needs_upgrade = <bound method EnvironmentSetup.environment_needs_upgrade of <trac.env.EnvironmentSetup object>>, db = <trac.db.PooledConnection object> |
| /home/fweez/lib/python2.3/site-packages/trac/env.py in environment_needs_upgrade(self=<trac.env.EnvironmentSetup object>, db=<trac.db.PooledConnection object>) |
| 332 |
| 333 def environment_needs_upgrade(self, db): |
| 334 dbver = self.env.get_version(db) |
| 335 if dbver == db_default.db_version: |
| 336 return False |
| dbver undefined, self = <trac.env.EnvironmentSetup object>, self.env = <trac.env.Environment object>, self.env.get_version = <bound method Environment.get_version of <trac.env.Environment object>>, db = <trac.db.PooledConnection object> |
| /home/fweez/lib/python2.3/site-packages/trac/env.py in get_version(self=<trac.env.Environment object>, db=<trac.db.PooledConnection object>) |
| 202 db = self.get_db_cnx() |
| 203 cursor = db.cursor() |
| 204 cursor.execute("SELECT value FROM system WHERE name='database_version'") |
| 205 row = cursor.fetchone() |
| 206 return row and int(row[0]) |
| cursor = <trac.db.IterableCursor object>, cursor.execute = <bound method PyFormatCursor.execute of <trac.db.PyFormatCursor object>> |
| /home/fweez/lib/python2.3/site-packages/trac/db.py in execute(self=<trac.db.PyFormatCursor object>, sql="SELECT value FROM system WHERE name='database_version'", args=None) |
| 217 sql = sql % (('?',) * len(args)) |
| 218 return self._rollback_on_error(sqlite.Cursor.execute, sql, |
| 219 args or []) |
| 220 def executemany(self, sql, args=None): |
| 221 if args: |
| args = None |
| /home/fweez/lib/python2.3/site-packages/trac/db.py in _rollback_on_error(self=<trac.db.PyFormatCursor object>, function=<method 'execute' of 'pysqlite2.dbapi2.Cursor' objects>, *args=("SELECT value FROM system WHERE name='database_version'", []), **kwargs={}) |
| 209 def _rollback_on_error(self, function, *args, **kwargs): |
| 210 try: |
| 211 return function(self, *args, **kwargs) |
| 212 except sqlite.OperationalError, e: |
| 213 self.cnx.rollback() |
| function = <method 'execute' of 'pysqlite2.dbapi2.Cursor' objects>, self = <trac.db.PyFormatCursor object>, args = ("SELECT value FROM system WHERE name='database_version'", []), kwargs = {} |
OperationalError: database is locked
args =
('database is locked',)