Description of problem: getting ISE 500 when accessing /tasks/executed Version-Release number of selected component (if applicable): 0.5.62 How reproducible: Everytime. Traceback below Additional info: 01/Dec/2010:11:30:44 HTTP INFO Page handler: <bound method Tasks.executed of <bkr.server.tasks.Tasks object at 0x2abb391d4ed0>> Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/cherrypy/_cphttptools.py", line 121, in _run self.main() File "/usr/lib/python2.4/site-packages/cherrypy/_cphttptools.py", line 264, in main body = page_handler(*virtual_path, **self.params) File "<string>", line 3, in executed File "/usr/lib/python2.4/site-packages/turbogears/controllers.py", line 358, in expose output = database.run_with_transaction( File "<string>", line 5, in run_with_transaction File "/usr/lib/python2.4/site-packages/turbogears/database.py", line 407, in sa_rwt retval = func(*args, **kw) File "<string>", line 5, in _expose File "/usr/lib/python2.4/site-packages/turbogears/controllers.py", line 373, in <lambda> mapping, fragment, args, kw))) File "/usr/lib/python2.4/site-packages/turbogears/controllers.py", line 423, in _execute_func return _process_output(output, template, format, content_type, mapping, fragment) File "/usr/lib/python2.4/site-packages/turbogears/controllers.py", line 88, in _process_output fragment=fragment) File "/usr/lib/python2.4/site-packages/turbogears/view/base.py", line 159, in render return engine.render(**kw) File "/usr/lib/python2.4/site-packages/turbokid/kidsupport.py", line 206, in render output=output, format=format) File "/usr/lib/python2.4/site-packages/kid/__init__.py", line 301, in serialize raise_template_error(module=self.__module__) File "/usr/lib/python2.4/site-packages/kid/__init__.py", line 299, in serialize return serializer.serialize(self, encoding, fragment, format) File "/usr/lib/python2.4/site-packages/kid/serialization.py", line 107, in serialize text = ''.join(self.generate(stream, encoding, fragment, format)) File "/usr/lib/python2.4/site-packages/kid/serialization.py", line 629, in generate for ev, item in self.apply_filters(stream, format): File "/usr/lib/python2.4/site-packages/kid/serialization.py", line 165, in format_stream for ev, item in stream: File "/usr/lib/python2.4/site-packages/kid/parser.py", line 221, in _coalesce for ev, item in stream: File "/usr/lib/python2.4/site-packages/kid/serialization.py", line 477, in inject_meta_tags for ev, item in stream: File "/usr/lib/python2.4/site-packages/kid/parser.py", line 179, in _track for p in stream: File "/usr/lib/python2.4/site-packages/kid/filter.py", line 32, in apply_matches item = stream.expand() File "/usr/lib/python2.4/site-packages/kid/parser.py", line 108, in expand for ev, item in self._iter: File "/usr/lib/python2.4/site-packages/kid/parser.py", line 179, in _track for p in stream: File "/usr/lib/python2.4/site-packages/kid/parser.py", line 221, in _coalesce for ev, item in stream: File "/usr/lib/python2.4/site-packages/bkr/server/templates/task_search.py", line 77, in _pull File "/usr/lib/python2.4/site-packages/turbogears/widgets/base.py", line 238, in __call__ return self.display(*args, **params) File "/usr/lib/python2.4/site-packages/turbogears/widgets/meta.py", line 110, in lockwidget output = self.__class__.display(self, *args, **kw) File "/usr/lib/python2.4/site-packages/turbogears/widgets/base.py", line 388, in display return super(CompoundWidget, self).display(value, **params) File "/usr/lib/python2.4/site-packages/turbogears/widgets/base.py", line 295, in display return transform(params, self.template_c) File "/usr/lib/python2.4/site-packages/turbokid/kidsupport.py", line 220, in transform return kid.ElementStream(t.transform()).expand() File "/usr/lib/python2.4/site-packages/kid/parser.py", line 108, in expand for ev, item in self._iter: File "/usr/lib/python2.4/site-packages/kid/parser.py", line 179, in _track for p in stream: File "/usr/lib/python2.4/site-packages/kid/parser.py", line 179, in _track for p in stream: File "/usr/lib/python2.4/site-packages/kid/filter.py", line 26, in apply_matches for ev, item in stream: File "/usr/lib/python2.4/site-packages/kid/parser.py", line 179, in _track for p in stream: File "/usr/lib/python2.4/site-packages/kid/parser.py", line 221, in _coalesce for ev, item in stream: File "/usr/lib/python2.4/site-packages/bkr/server/templates/tasks_widget.py", line 242, in _pull AttributeError: 'NoneType' object has no attribute 'id' Error location in template file '/usr/lib/python2.4/site-packages/bkr/server/templates/task_search.kid' on line 21 between columns 4 and 67: <div id="task_items">${task_widget(tasks=tasks, hidden=hidden)} ...
after the upgrade to 0.5.63 it seems to be working. Ray, any idea why this traceback would happen?
http://git.fedorahosted.org/git/?p=beaker.git;a=commitdiff;h=1778e57f805d1f477a585c997ce26047a3b3cd09 Still don't know how these rows are ending up like this though.
Our current working theory is that these orphaned rows date back to when these tables were MyISAM. If we had a transaction which rolled back, it would have left behind orphaned rows since MyISAM tables don't participate in transactions. This fix to make the columns not NULLable is a worthwhile change anyway.