Roundup Tracker - Issues

Issue 2147471

classification
Database error using CGI with Apache and MySQL or SQLite
Type: Severity: normal
Components: Web interface Versions:
process
Status: closed abandoned
:
: richard : richard, rouilj
Priority: normal :

Created on 2008-10-05 07:53 by anonymous, last changed 2016-07-04 20:24 by rouilj.

Messages
msg2591 Author: [hidden] (anonymous) Date: 2008-10-05 07:53
Using Roundup 1.4.6, with:

Python 2.5.2, Apache 2 and MySQL 5.0.51a (dev box)
Python 2.5.2, Apache 2 and bundled SQLite (dev box)
Python 2.3.5, Apache 2 and MySQL ??? (web host box)
Python 2.4.x, Apache 2 and MySQL ??? (web host box)

The included CGI script works fine until I try and log in, at which point a fatal exception is sprung.

: Cannot operate on a closed database.

Last night it was just saying "InterfaceError", but tracking it down suggested the same cause. The difference is probably that the state of the database has changed since I was able to log in after switching to the wsgiref CGI handler.

Traceback:

: Cannot operate on a closed database.

A problem occurred while running a Python script. Here is the sequence of function calls leading up to the error, with the most recent (innermost) call first. The exception attributes are:

C:\python25\lib\site-packages\roundup\backends\sessions_rdbms.py in exists(self=<roundup.backends.sessions_rdbms.Sessions instance at 0x0100F350>, infoid='MTIyMzE5NTk2Ni45MTAuODA1MzkxMTEwNzg5')
   26 
   27         self.cursor.execute('select count(*) from %ss where %s_key=%s'%(n,
   28             n, self.db.arg), (infoid,))
      n = 'session', self = <roundup.backends.sessions_rdbms.Sessions instance at 0x0100F350>, global db = undefined, global arg = undefined, infoid = 'MTIyMzE5NTk2Ni45MTAuODA1MzkxMTEwNzg5'
   29 
   30         return int(self.cursor.fetchone()[0])

C:\python25\lib\site-packages\roundup\cgi\client.py in _gen_sid(self=<roundup.cgi.client.Session instance at 0x00FE85F8>)
  139             s = '%s%s'%(time.time(), random.random())
  140             s = binascii.b2a_base64(s).strip()
  141             if not self.session_db.exists(s):
      self = <roundup.cgi.client.Session instance at 0x00FE85F8>, global session_db = undefined, global exists = undefined, s = 'MTIyMzE5NTk2Ni45MTAuODA1MzkxMTEwNzg5'
  142                 break
  143 

C:\python25\lib\site-packages\roundup\cgi\client.py in set(self=<roundup.cgi.client.Session instance at 0x00FE85F8>, **kwargs={'user': 'admin'})
  166         self._data.update(kwargs)
  167         if not self._sid:
  168             self._sid = self._gen_sid()
      self = <roundup.cgi.client.Session instance at 0x00FE85F8>, global _sid = undefined, global _gen_sid = undefined
  169             self.session_db.set(self._sid, **self._data)
  170             # add session cookie

c:\python25\Lib\site-packages\roundup\cgi\actions.py in handle(self=<roundup.cgi.actions.LoginAction instance at 0x00FF5968>)
  916 
  917         # save user in session
  918         self.client.session_api.set(user=self.client.user)
      self = <roundup.cgi.actions.LoginAction instance at 0x00FF5968>, global client = undefined, global session_api = undefined, global set = undefined, global user = undefined
  919         if self.form.has_key('remember'):
  920             self.client.session_api.update(set_cookie=True, expire=24*3600*365)

c:\python25\Lib\site-packages\roundup\cgi\actions.py in execute(self=<roundup.cgi.actions.LoginAction instance at 0x00FF5968>)
   37         """Execute the action specified by this object."""
   38         self.permission()
   39         return self.handle()
      self = <roundup.cgi.actions.LoginAction instance at 0x00FF5968>, global handle = undefined
   40 
   41     name = ''

C:\python25\lib\site-packages\roundup\cgi\client.py in handle_action(self=<roundup.cgi.client.Client instance at 0x00F23F08>)
  973                 return getattr(self, action_klass)()
  974             else:
  975                 return action_klass(self).execute()
      action_klass = <class roundup.cgi.actions.LoginAction at 0x00F16E40>, self = <roundup.cgi.client.Client instance at 0x00F23F08>, global execute = undefined
  976 
  977         except (ValueError, Reject), err:

C:\python25\lib\site-packages\roundup\cgi\client.py in inner_main(self=<roundup.cgi.client.Client instance at 0x00F23F08>)
  407             # possibly handle a form submit action (may change self.classname
  408             # and self.template, and may also append error/ok_messages)
  409             html = self.handle_action()
      html = undefined, self = <roundup.cgi.client.Client instance at 0x00F23F08>, global handle_action = undefined
  410 
  411             if html:

 
msg5747 Author: [hidden] (rouilj) Date: 2016-07-04 20:24
User was anonymous and hasn't followed up with a ping or anything
in 7 years. So closing as abandoned.
History
Date User Action Args
2016-07-04 20:24:36rouiljsetstatus: open -> closed
resolution: abandoned
messages: + msg5747
nosy: + rouilj
2008-10-05 07:53:00anonymouscreate