A user of my tracker entered some new information to an
existing item and got this error:
Accessing SNEP74:
Templating Error
exceptions.IndexError: no such station 42
Debugging information follows
1. While evaluating the standard:'context/history'
expression on line 242
Current variables:
templates <roundup.cgi.templating.Templates
instance at 0x5c2a58>
repeat
<roundup.cgi.PageTemplates.TALES.SafeMapping instance at
0x103a738>
false 0
context <HTMLItem(0x103a5d0) station 42>
utils <roundup.cgi.templating.TemplatingUtils
instance at 0x103a670>
db <roundup.cgi.templating.HTMLDatabase
instance at 0x103a620>
nothing None
i18n
<roundup.cgi.TranslationService.NullTranslationService
instance at
0x10338c8>
true 1
default
<roundup.cgi.PageTemplates.TALES.Default instance at
0x55d440>
request <roundup.cgi.templating.HTMLRequest
instance at 0x103a238>
tracker <roundup.instance.Tracker instance at
0x5b80d0>
template <Roundup PageTemplate 'station.item.html'>
config <roundup.configuration.CoreConfig
instance at 0x5b86e8>
options {'ok_message': [], 'error_message': []}
loop
<roundup.cgi.PageTemplates.TALES.SafeMapping instance
at 0x103a738>
attrs {'tal:condition': 'context/id',
'tal:replace': 'structure
context/history'}
2. A problem occurred in your template
"station.item.html".
Full traceback:
Traceback (most recent call last):
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/cgi/client.py", line 686, in renderContext
result = pt.render(self, None, None, **args)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/cgi/templating.py", line 318, in render
getEngine().getContext(c), output, tal=1,
strictinsert=0)()
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/cgi/TAL/TALInterpreter.py", line 192,
in __call__
self.interpret(self.program)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/cgi/TAL/TALInterpreter.py", line 236,
in interpret
handlers[opcode](self, args)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/cgi/TAL/TALInterpreter.py", line 666,
in do_useMacro
self.interpret(macro)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/cgi/TAL/TALInterpreter.py", line 236,
in interpret
handlers[opcode](self, args)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/cgi/TAL/TALInterpreter.py", line 411,
in do_optTag_tal
self.do_optTag(stuff)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/cgi/TAL/TALInterpreter.py", line 396,
in do_optTag
return self.no_tag(start, program)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/cgi/TAL/TALInterpreter.py", line 391,
in no_tag
self.interpret(program)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/cgi/TAL/TALInterpreter.py", line 236,
in interpret
handlers[opcode](self, args)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/cgi/TAL/TALInterpreter.py", line 689,
in do_defineSlot
self.interpret(slot)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/cgi/TAL/TALInterpreter.py", line 236,
in interpret
handlers[opcode](self, args)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/cgi/TAL/TALInterpreter.py", line 632,
in do_condition
self.interpret(block)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/cgi/TAL/TALInterpreter.py", line 236,
in interpret
handlers[opcode](self, args)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/cgi/TAL/TALInterpreter.py", line 564,
in do_insertStructure_tal
structure = self.engine.evaluateStructure(expr)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/cgi/PageTemplates/TALES.py", line 227,
in evaluate
return expression(self)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/cgi/PageTemplates/Expressions.py",
line 194, in __call__
return self._eval(econtext)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/cgi/PageTemplates/Expressions.py",
line 189, in _eval
return render(ob, econtext.vars)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/cgi/PageTemplates/Expressions.py",
line 95, in render
ob = ob()
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/cgi/templating.py", line 818, in history
history = self._klass.history(self._nodeid)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/backends/back_anydbm.py", line 1353,
in history
return self.db.getjournal(self.classname, nodeid)
File
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-
packages/roundup/backends/back_anydbm.py", line 536, in
getjournal
raise IndexError, 'no such %s %s'%(classname, nodeid)
IndexError: no such station 42
It looks like the journal was trashed by whatever the
edit was.
I commented out the history section of the item's page
so people could continue to use the tracker, and
another user entered some information on that item.
That recreated the history for that item and everything
seems to work again.
I'm running roundup 0.8.1 on Python 2.3 on a Mac with
OS 10.3 with anydbm as the db.
Any clues? |