Ticket #1947 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

exceptions.TypeError: <buildbot.status.builder.BuildStepStatus instance at 0x3da3c20> is not JSON serializable

Reported by: tom.prince Owned by:
Priority: critical Milestone: 0.8.4
Version: 0.8.3p1 Keywords: web
Cc:

Description (last modified by dustin) (diff)

2011-05-04 16:39:41-0400 [HTTPChannel,1117,127.0.0.1] Unhandled Error
        Traceback (most recent call last):
          File "/Depot/BuildBot/bbot/lib/python2.7/site-packages/buildbot/status/web/status_json.py", line 188, in render_GET
            d = defer.maybeDeferred(lambda : self.content(request))
          File "/usr/lib/python2.7/site-packages/twisted/internet/defer.py", line 133, in maybeDeferred
            result = f(*args, **kw)
          File "/Depot/BuildBot/bbot/lib/python2.7/site-packages/buildbot/status/web/status_json.py", line 188, in <lambda>
            d = defer.maybeDeferred(lambda : self.content(request))
          File "/usr/lib/python2.7/site-packages/twisted/internet/defer.py", line 964, in unwindGenerator
            return _deferGenerator(f(*args, **kwargs), Deferred())
        --- <exception caught here> ---
          File "/usr/lib/python2.7/site-packages/twisted/internet/defer.py", line 866, in _deferGenerator
            result = g.next()
          File "/Depot/BuildBot/bbot/lib/python2.7/site-packages/buildbot/status/web/status_json.py", line 272, in content
            data = json.dumps(data, sort_keys=True, separators=(',',':'))
          File "/usr/lib/python2.7/site-packages/simplejson/__init__.py", line 269, in dumps
            use_decimal=use_decimal, **kw).encode(obj)
          File "/usr/lib/python2.7/site-packages/simplejson/encoder.py", line 214, in encode
            chunks = self.iterencode(o, _one_shot=True)
          File "/usr/lib/python2.7/site-packages/simplejson/encoder.py", line 282, in iterencode
            return _iterencode(o, 0)
          File "/usr/lib/python2.7/site-packages/simplejson/encoder.py", line 190, in default
            raise TypeError(repr(o) + " is not JSON serializable")
        exceptions.TypeError: <buildbot.status.builder.BuildStepStatus instance at 0x3da3c20> is not JSON serializable

Change History

comment:1 Changed 2 years ago by dustin

  • Description modified (diff)

comment:2 Changed 2 years ago by dustin

  • Keywords json removed
  • Priority changed from major to critical

comment:3 Changed 2 years ago by dustin

I can duplicate the original error with

/json/builders/builder/builds/_all/0/steps

A different, but related bug: doing a recursive wget on /json, I get

2011-05-07 14:05:47-0500 [HTTPChannel,45,172.16.1.18] Unhandled Error
        Traceback (most recent call last):
          File "/home/dustin/code/buildbot/t/buildbot/master/buildbot/status/web/status_json.py", line 188, in <lambda>
            d = defer.maybeDeferred(lambda : self.content(request))
          File "/home/dustin/code/buildbot/t/buildbot/sand26/lib/python2.6/site-packages/twisted/internet/defer.py", line 697, in unwindGenerator
            return _deferGenerator(f(*args, **kwargs), Deferred())
          File "/home/dustin/code/buildbot/t/buildbot/sand26/lib/python2.6/site-packages/twisted/internet/defer.py", line 600, in _deferGenerator
            result = g.next()
          File "/home/dustin/code/buildbot/t/buildbot/master/buildbot/status/web/status_json.py", line 255, in content
            defer.maybeDeferred(lambda :
        --- <exception caught here> ---
          File "/home/dustin/code/buildbot/t/buildbot/sand26/lib/python2.6/site-packages/twisted/internet/defer.py", line 102, in maybeDeferred
            result = f(*args, **kw)
          File "/home/dustin/code/buildbot/t/buildbot/master/buildbot/status/web/status_json.py", line 256, in <lambda>
            child.asDict(request)))
        exceptions.AttributeError: NoResource instance has no attribute 'asDict'

for

/json/builders/builder/builds?select=-1&select=-2&as_text=1

/json/builders/builder/builds?select=-1/source_stamp/changes&select=-2/source_stamp/changes&as_text=1

I think this is because I didn't have any changes present - adding some builds with changes fixed it.

Last edited 2 years ago by dustin (previous) (diff)

comment:4 Changed 2 years ago by Dustin J. Mitchell

  • Status changed from new to closed
  • Resolution set to fixed

Fix tracebacks in status_json

Fixes #1947. The error handling isn't too good, but it could be worse.

Changeset: b66bab3ce13c8ca0a5acf5a97d7d69e2706193cd

Note: See TracTickets for help on using tickets.