Bug 658929 - ISE 500 when accessing /tasks/executed
Summary: ISE 500 when accessing /tasks/executed
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Beaker
Classification: Retired
Component: web UI
Version: 0.5
Hardware: Unspecified
OS: Unspecified
low
medium
Target Milestone: ---
Assignee: Dan Callaghan
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-12-01 16:33 UTC by Bill Peck
Modified: 2019-05-22 13:34 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-12-09 04:20:37 UTC


Attachments (Terms of Use)

Description Bill Peck 2010-12-01 16:33:34 UTC
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)} ...

Comment 1 Bill Peck 2010-12-01 18:27:57 UTC
after the upgrade to 0.5.63 it seems to be working.

Ray, any idea why this traceback would happen?

Comment 3 Dan Callaghan 2010-12-05 22:48:28 UTC
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.

Comment 4 Dan Callaghan 2010-12-07 00:26:07 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.