#8386 closed defect (worksforme)
Windows Trac 0.11.4 ProgrammingError: library routine called out of sequence
| Reported by: | Owned by: | ||
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | database backend | Version: | 0.11.4 |
| Severity: | major | Keywords: | pysqlite |
| Cc: | Branch: | ||
| Release Notes: | |||
| API Changes: | |||
| Internal Changes: | |||
Description
Windows 2003 server, Python 2.4.4, Apache2 2.0.55.0, mod_python 3.3.1.16113, Sqlite 3.3.6, pysqlite 2.3.2.
Upgraded from 0.10.4 to 0.11.4 using Window installer.
Occasional/weekly hang-ups of Trac requiring restart of Apache to regain access. During hang-up, the following is displayed on all browsers that attempt to connect.
Traceback (most recent call last):
File "c:\python24\lib\site-packages\trac-0.11.4-py2.4.egg\trac\web\api.py", line 367, in send_error
'text/html')
File "c:\python24\lib\site-packages\trac-0.11.4-py2.4.egg\trac\web\chrome.py", line 728, in render_template
if not req.session or not int(req.session.get('accesskeys', 0)):
File "c:\python24\lib\site-packages\trac-0.11.4-py2.4.egg\trac\web\api.py", line 194, in __getattr__
value = self.callbacks[name](self)
File "c:\python24\lib\site-packages\trac-0.11.4-py2.4.egg\trac\web\main.py", line 267, in _get_session
return Session(self.env, req)
File "c:\python24\lib\site-packages\trac-0.11.4-py2.4.egg\trac\web\session.py", line 157, in __init__
self.get_session(req.authname, authenticated=True)
File "c:\python24\lib\site-packages\trac-0.11.4-py2.4.egg\trac\web\session.py", line 173, in get_session
super(Session, self).get_session(sid, authenticated)
File "c:\python24\lib\site-packages\trac-0.11.4-py2.4.egg\trac\web\session.py", line 56, in get_session
(sid, int(authenticated)))
File "c:\python24\lib\site-packages\trac-0.11.4-py2.4.egg\trac\db\util.py", line 50, in execute
return self.cursor.execute(sql_escape_percent(sql), args)
File "c:\python24\lib\site-packages\trac-0.11.4-py2.4.egg\trac\db\sqlite_backend.py", line 58, in execute
args or [])
File "c:\python24\lib\site-packages\trac-0.11.4-py2.4.egg\trac\db\sqlite_backend.py", line 50, in _rollback_on_error
return function(self, *args, **kwargs)
ProgrammingError: library routine called out of sequence
Attachments (0)
Change History (9)
comment:1 by , 16 years ago
| Keywords: | pysqlite added |
|---|---|
| Milestone: | → not applicable |
| Severity: | normal → major |
follow-up: 3 comment:2 by , 16 years ago
Use PySqlite 2.5.5 - it has been rock solid for me with windows/mod_python.
comment:3 by , 16 years ago
comment:4 by , 16 years ago
Please also update the ticket if you don't have any further problems, closing the ticket as worksforme ;-)
comment:5 by , 16 years ago
| Resolution: | → worksforme |
|---|---|
| Status: | new → closed |
No further problems since installing PySqlite 2.5.5, so closing this ticket.
comment:7 by , 16 years ago
| Resolution: | worksforme |
|---|---|
| Status: | closed → reopened |
The problem resurfaced during a period of intensive ticket-closing (view report of open tickets, select ticket, close as fixed, browser back-back to report, select next ticket, etc.):
Traceback (most recent call last):
File "c:\python24\lib\site-packages\trac-0.11.4-py2.4.egg\trac\web\api.py", line 367, in send_error
'text/html')
File "c:\python24\lib\site-packages\trac-0.11.4-py2.4.egg\trac\web\chrome.py", line 728, in render_template
if not req.session or not int(req.session.get('accesskeys', 0)):
File "c:\python24\lib\site-packages\trac-0.11.4-py2.4.egg\trac\web\api.py", line 194, in __getattr__
value = self.callbacks[name](self)
File "c:\python24\lib\site-packages\trac-0.11.4-py2.4.egg\trac\web\main.py", line 267, in _get_session
return Session(self.env, req)
File "c:\python24\lib\site-packages\trac-0.11.4-py2.4.egg\trac\web\session.py", line 157, in __init__
self.get_session(req.authname, authenticated=True)
File "c:\python24\lib\site-packages\trac-0.11.4-py2.4.egg\trac\web\session.py", line 173, in get_session
super(Session, self).get_session(sid, authenticated)
File "c:\python24\lib\site-packages\trac-0.11.4-py2.4.egg\trac\web\session.py", line 56, in get_session
(sid, int(authenticated)))
File "c:\python24\lib\site-packages\trac-0.11.4-py2.4.egg\trac\db\util.py", line 50, in execute
return self.cursor.execute(sql_escape_percent(sql), args)
File "c:\python24\lib\site-packages\trac-0.11.4-py2.4.egg\trac\db\sqlite_backend.py", line 58, in execute
args or [])
File "c:\python24\lib\site-packages\trac-0.11.4-py2.4.egg\trac\db\sqlite_backend.py", line 50, in _rollback_on_error
return function(self, *args, **kwargs)
ProgrammingError: library routine called out of sequence
comment:8 by , 16 years ago
| Resolution: | → worksforme |
|---|---|
| Status: | reopened → closed |
We've upgraded (Trac 0.11.5, Python 2.5, Pysqlite 2.5.6) so are unable to pursue this ticket - closing.



Interesting, see PySqlite#ProgrammingError:libraryroutinecalledoutofsequence.
It seems this is the first time this is reported on Windows (well, if we don't count #6871). Indeed, with r4493, we allow multiple threads to reuse the same connection, on Windows. For me, this has never been a problem, but then I'm only using tracd and not apache and maybe not the same versions of SQLite/pysqlite).
You may want to try upgrading to a more recent version of PySqlite (e.g. 2.5.1).