Edgewall Software
Modify

Opened 15 years ago

Closed 15 years ago

Last modified 12 years ago

#8386 closed defect (worksforme)

Windows Trac 0.11.4 ProgrammingError: library routine called out of sequence

Reported by: andrew.hardy@… 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 Christian Boos, 15 years ago

Keywords: pysqlite added
Milestone: not applicable
Severity: normalmajor

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).

comment:2 by osimons, 15 years ago

Use PySqlite 2.5.5 - it has been rock solid for me with windows/mod_python.

in reply to:  2 comment:3 by andrew.hardy@…, 15 years ago

Replying to osimons:

Use PySqlite 2.5.5 - it has been rock solid for me with windows/mod_python.

I've just upgraded to PySqlite 2.5.5, will update this ticket if I have any further problems.

comment:4 by Christian Boos, 15 years ago

Please also update the ticket if you don't have any further problems, closing the ticket as worksforme ;-)

comment:5 by andrew.hardy@…, 15 years ago

Resolution: worksforme
Status: newclosed

No further problems since installing PySqlite 2.5.5, so closing this ticket.

comment:6 by Christian Boos, 15 years ago

Component: generaldatabase backend

Thanks for the feedback!

comment:7 by Andrew.Hardy@…, 15 years ago

Resolution: worksforme
Status: closedreopened

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 Andrew.Hardy@…, 15 years ago

Resolution: worksforme
Status: reopenedclosed

We've upgraded (Trac 0.11.5, Python 2.5, Pysqlite 2.5.6) so are unable to pursue this ticket - closing.

comment:9 by Christian Boos, 12 years ago

Milestone: not applicable

(clearing report:35)

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The ticket will remain with no owner.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from (none) to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.