Roundup Tracker - Issues

Issue 1017587

classification
error: cannot add item to database -- why?!?
Type: Severity: normal
Components: Web interface Versions:
process
Status: closed wont fix
:
: richard : richard, schlicke
Priority: normal :

Created on 2004-08-27 13:38 by anonymous, last changed 2004-10-07 07:03 by richard.

Messages
msg1434 Author: [hidden] (anonymous) Date: 2004-08-27 13:38
Hi, 

sometimes the web interface barfs when submitting 
a changed issue.  (See error blurb  below).

Dunno if this has anything to do with it -- anyway: 
When this happens, TRACKER_HOME/db/lock contains a
PID of a defunct process:  

$ cat lock
21928

$ ps -ef | grep 21928
 tracker 21928  6855 23 15:34:45 ?         0:00 <defunct>
 tracker 22151 22422  1 15:36:02 pts/3     0:00 egrep
-i 21928

Any idea how to fix this?

Cheers,
Wolf


*****************************************
* error blurb ...


error: cannot add item to database Python 2.3.3
/home/a713038/lib/gnu/bin/python

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:
      __doc__ = None
      __getitem__ = <bound method error.__getitem__ of
<dbm.error instance>>
      __init__ = <bound method error.__init__ of
<dbm.error instance>>
      __module__ = 'dbm'
      __str__ = <bound method error.__str__ of
<dbm.error instance>>
      args = ('cannot add item to database',)

/home/TRACKER/www/roundup/lib/python2.3/site-packages/roundup/backends/back_anydbm.py
in doSaveJournal(self=<back_anydbm instance at
403ec878>, classname='status', nodeid='1',
action='unlink', params=('issue', '16', 'status'),
creator=None, creation=None)
  700             l = [entry]
  701 
  702         db[nodeid] = marshal.dumps(l)
      db = <dbm.dbm object>, nodeid = '1', global
marshal = <module 'marshal' (built-in)>, global dumps =
undefined, l = [('1', '2004082415346.044172', '1',
'create', {}), ('1', '20040824153434.597191', '3',
'link', ('issue', '1', 'status')), ('1',
'2004082415353.281811', '3', 'unlink', ('issue', '1',
'status')), ('1', '2004082515214.644135', '8', 'link',
('issue', '3', 'status')), ('1',
'20040827092347.841370', '8', 'unlink', ('issue', '3',
'status')), ('1', '2004082709428.853582', '3', 'link',
('issue', '10', 'status')), ('1',
'20040827094319.776288', '3', 'unlink', ('issue', '10',
'status')), ('1', '20040827120031.389530', '3', 'link',
('issue', '13', 'status')), ('1',
'20040827120057.741631', '3', 'unlink', ('issue', '13',
'status')), ('1', '20040827120415.948698', '3', 'link',
('issue', '15', 'status')), ('1',
'20040827121116.715957', '3', 'link', ('issue', '16',
'status')), ('1', '20040827121142.816260', '3', 'link',
('issue', '17', 'status')), ('1',
'20040827133445.289511', '3', 'unlink', ('issue', '16',
'status'))]
  703 
  704     def doSetJournal(self, classname, nodeid,
journal):

/home/TRACKER/www/roundup/lib/python2.3/site-packages/roundup/backends/back_anydbm.py
in commit(self=<back_anydbm instance at 403ec878>)
  614             for db in self.databases.values():
  615                 db.close()
  616             del self.databases
      self = <back_anydbm instance at 403ec878>, global
databases = undefined
  617 
  618         # reindex the nodes that request it

/home/TRACKER/www/roundup/lib/python2.3/site-packages/roundup/cgi/actions.py
in handle(self=<roundup.cgi.actions.EditItemAction
instance>)
  506 
  507         # commit now that all the tricky stuff is
done
  508         self.db.commit()
      self = <roundup.cgi.actions.EditItemAction
instance>, global db = undefined, global commit = undefined
  509 
  510         # redirect to the item's edit page

/home/TRACKER/www/roundup/lib/python2.3/site-packages/roundup/cgi/actions.py
in execute(self=<roundup.cgi.actions.EditItemAction
instance>)
   32         """Execute the action specified by this
object."""
   33         self.permission()
   34         return self.handle()
      self = <roundup.cgi.actions.EditItemAction
instance>, global handle = undefined
   35 
   36     name = ''

/home/TRACKER/www/roundup/lib/python2.3/site-packages/roundup/cgi/client.py
in
handle_action(self=<_roundup_tracker_1.interfaces.Client
instance>)
  592 
  593         except ValueError, err:
  594             self.error_message.append(str(err))
      self = <_roundup_tracker_1.interfaces.Client
instance>, global error_message = undefined, global
append = undefined, global str = undefined, err = undefined
  595 
  596     def write(self, content):

/home/TRACKER/www/roundup/lib/python2.3/site-packages/roundup/cgi/client.py
in
inner_main(self=<_roundup_tracker_1.interfaces.Client
instance>)
  251         except:
  252             # everything else
  253             self.write(cgitb.html())
      self = <_roundup_tracker_1.interfaces.Client
instance>, global write = undefined, global cgitb =
<module 'roundup.cgi.cgitb' from
'/home/TRACKER/...b/python2.3/site-packages/roundup/cgi/cgitb.pyo'>,
html = undefined
  254 
  255     def clean_sessions(self):

 
msg1435 Author: [hidden] (schlicke) Date: 2004-08-27 13:40
Logged In: YES 
user_id=725663

P.S.:  Forgot to login; wolf@schlicke.net .

Cheers,
Wolf
msg1436 Author: [hidden] (richard) Date: 2004-10-07 07:03
Logged In: YES 
user_id=6405

Looks like you've run into a limitation of your platform's dbm 
library. 
 
I recommend you switch to a more capable backend. Sqlite is 
trivial to install. 
History
Date User Action Args
2004-08-27 13:38:38anonymouscreate