[Buildbot-devel] Getting "AttributeError: NoneType"

Ondrej Certik ondrej at certik.cz
Mon Sep 29 12:55:13 UTC 2008


Hi,

when the buildslaves are building, and I access the waterfall page, I
am sometimes getting the stacktrace below. Refreshing the page fixes
it. Refreshing again makes the stacktrace appear again. The next
refresh will again fix it. Etc. This is quite weird.

Also I don't know how to reproduce it 100%, but I got this error maybe
10 or 15 times already in past weeks, so it's definitely not something
rare and it's quite annoying.

I am running Debian sid and:

$ buildbot --version
Buildbot version: 0.7.8
Twisted version: 8.1.0

Let me know if I can help to get this fixed. Where could the problem be?

Thanks,
Ondrej

-------------------


web.Server Traceback (most recent call last):

<type 'exceptions.AttributeError'>: 'NoneType' object has no attribute
'getStatus'
/usr/lib/python2.5/site-packages/twisted/web/server.py, line 150 in process
148    try:
149      resrc = self.site.getResourceFor(self)
150      self.render(resrc)
151    except:
Self
site	
twisted.web.server.Site instance @ 0x8a1340c <twisted.web.server.Site
instance at 0x8a1340c>
Locals
resrc	
buildbot.status.web.waterfall.WaterfallStatusResource instance @
0x8a13e0c <buildbot.status.web.waterfall.WaterfallStatusResource
instance at 0x8a13e0c>
self	
twisted.web.server.Request instance @ 0x8ab770c <GET /waterfall HTTP/1.1>
/usr/lib/python2.5/site-packages/twisted/web/server.py, line 157 in render
155  def render(self, resrc):
156    try:
157      body = resrc.render(self)
158    except UnsupportedMethod, e:
Locals
resrc	
buildbot.status.web.waterfall.WaterfallStatusResource instance @
0x8a13e0c <buildbot.status.web.waterfall.WaterfallStatusResource
instance at 0x8a13e0c>
self	
twisted.web.server.Request instance @ 0x8ab770c <GET /waterfall HTTP/1.1>
Globals
UnsupportedMethod	<class 'twisted.web.server.UnsupportedMethod'>
/usr/lib/python2.5/site-packages/buildbot/status/web/base.py, line 246 in render
244      return ''
245
246    data = self.content(request)
247    if isinstance(data, unicode):
Locals
self	
buildbot.status.web.waterfall.WaterfallStatusResource instance @
0x8a13e0c <buildbot.status.web.waterfall.WaterfallStatusResource
instance at 0x8a13e0c>
request	
twisted.web.server.Request instance @ 0x8ab770c <GET /waterfall HTTP/1.1>
/usr/lib/python2.5/site-packages/buildbot/status/web/base.py, line 281
in content
279    s = request.site.buildbot_service
280    data = ""
281    data += self.fillTemplate(s.header, request)
282    data += "<head>\n"
Locals
data	''
s	
buildbot.status.web.baseweb.WebStatus instance @ 0x8a1318c <WebStatus
on port tcp:8237 at 0x8a1318c>
request	
twisted.web.server.Request instance @ 0x8ab770c <GET /waterfall HTTP/1.1>
self	
buildbot.status.web.waterfall.WaterfallStatusResource instance @
0x8a13e0c <buildbot.status.web.waterfall.WaterfallStatusResource
instance at 0x8a13e0c>
/usr/lib/python2.5/site-packages/buildbot/status/web/base.py, line 275
in fillTemplate
273    # e.g. to reference the top-level 'buildbot.css' page, use
274    # "%(root)sbuildbot.css"
275    values['title'] = self.getTitle(request)
276    return template % values
Locals
values	
Dictionary instance @ 0x8b5b0b4
'root'	''
request	
twisted.web.server.Request instance @ 0x8ab770c <GET /waterfall HTTP/1.1>
self	
buildbot.status.web.waterfall.WaterfallStatusResource instance @
0x8a13e0c <buildbot.status.web.waterfall.WaterfallStatusResource
instance at 0x8a13e0c>
template	'\n<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\n
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\n\n<html\n
xmlns="http://www.w3.org/1999/xhtml"\n lang="en"\n xml:lang="en">\n'
/usr/lib/python2.5/site-packages/buildbot/status/web/waterfall.py,
line 420 in getTitle
418
419  def getTitle(self, request):
420    status = self.getStatus(request)
421    p = status.getProjectName()
Locals
self	
buildbot.status.web.waterfall.WaterfallStatusResource instance @
0x8a13e0c <buildbot.status.web.waterfall.WaterfallStatusResource
instance at 0x8a13e0c>
request	
twisted.web.server.Request instance @ 0x8ab770c <GET /waterfall HTTP/1.1>
/usr/lib/python2.5/site-packages/buildbot/status/web/base.py, line 256
in getStatus
254
255  def getStatus(self, request):
256    return request.site.buildbot_service.getStatus()
257  def getControl(self, request):
Locals
self	
buildbot.status.web.waterfall.WaterfallStatusResource instance @
0x8a13e0c <buildbot.status.web.waterfall.WaterfallStatusResource
instance at 0x8a13e0c>
request	
twisted.web.server.Request instance @ 0x8ab770c <GET /waterfall HTTP/1.1>
/usr/lib/python2.5/site-packages/buildbot/status/web/baseweb.py, line
504 in getStatus
502
503  def getStatus(self):
504    return self.parent.getStatus()
505  def getControl(self):
Self
parent	None
Locals
self	
buildbot.status.web.baseweb.WebStatus instance @ 0x8a1318c <WebStatus
on port tcp:8237 at 0x8a1318c>

<type 'exceptions.AttributeError'>: 'NoneType' object has no attribute
'getStatus'




More information about the devel mailing list