Ticket #38 (closed defect: fixed)

Opened 6 years ago

Last modified 6 years ago

BotPerspective.__repr__() dies after slave disconnects (0.7.5)

Reported by: clepple Owned by: warner
Priority: minor Milestone: 0.7.6
Version: Keywords:
Cc:

Description

At 19:33 in the following log, I reconfigured buildbot, and the SVNPoller interval is set to 15 minutes. Apparently there was a TCP timeout with the openSUSE-10.2 builder, and I got this error:

2007/05/14 19:50 EDT [Broker,23,10.1.2.3] loadConfig_Sources, change_svc is <buildbot.changes.changes.ChangeMaster instance at 0x4077218c> <buildbot.master.BuildMaster instance at 0x40614f8c>
2007/05/14 19:50 EDT [Broker,23,10.1.2.3] SVNPoller(svn://svn.debian.org/nut) shutting down
2007/05/14 19:50 EDT [Broker,23,10.1.2.3] SVNPoller(svn://svn.debian.org/nut) starting
2007/05/14 19:50 EDT [Broker,23,10.1.2.3] configuration update complete
2007/05/14 19:50 EDT [Broker,23,10.1.2.3] maybeStartBuild <Builder 'Debian-etch-mipsel' at 1083892332>: [] [<buildbot.process.builder.SlaveBuilder instance at 0x40947e6c>]
2007/05/14 19:50 EDT [Broker,23,10.1.2.3] maybeStartBuild <Builder 'FreeBSD-6.2-i686-HAL' at 1083893740>: [<buildbot.process.base.BuildRequest instance at 0x4095a7cc>, <buildbot.process.base.BuildRequest instance at 0x40abf0ac>, <buildbot.process.base.BuildRequest instance at 0x408a8fcc>, <buildbot.process.base.BuildRequest instance at 0x409c2e6c>, <buildbot.process.base.BuildRequest instance at 0x40903f8c>, <buildbot.process.base.BuildRequest instance at 0x409eb4ac>] []
2007/05/14 19:50 EDT [Broker,23,10.1.2.3] <Builder 'FreeBSD-6.2-i686-HAL' at 1083893740>: want to start build, but we don't have a remote
2007/05/14 19:50 EDT [Broker,23,10.1.2.3] maybeStartBuild <Builder 'FreeBSD-6.2-i686' at 1083895436>: [<buildbot.process.base.BuildRequest instance at 0x409211ec>, <buildbot.process.base.BuildRequest instance at 0x409eb5cc>] []
2007/05/14 19:50 EDT [Broker,23,10.1.2.3] <Builder 'FreeBSD-6.2-i686' at 1083895436>: want to start build, but we don't have a remote
2007/05/14 19:50 EDT [Broker,23,10.1.2.3] maybeStartBuild <Builder 'openSUSE-10.2' at 1083892172>: [] [<buildbot.process.builder.SlaveBuilder instance at 0x408fee2c>]
2007/05/14 19:50 EDT [Broker,23,10.1.2.3] maybeStartBuild <Builder 'Ubuntu-feisty-AthlonXP' at 1083892300>: [] []
2007/05/14 19:50 EDT [Broker,23,10.1.2.3] maybeStartBuild <Builder 'Debian-etch-PowerPC' at 1083895788>: [] [<buildbot.process.builder.SlaveBuilder instance at 0x40886cac>]
2007/05/14 19:50 EDT [Broker,23,10.1.2.3] maybeStartBuild <Builder 'CentOS-3.3' at 1083116812>: [] [<buildbot.process.builder.Slave Builder instance at 0x4093f8cc>]
2007/05/14 19:50 EDT [Broker,23,10.1.2.3] maybeStartBuild <Builder 'MacOSX-10.4-G4' at 1083114412>: [] []
2007/05/14 19:50 EDT [Broker,23,10.1.2.3] <Builder 'openSUSE-10.2' at 1083892172>.detached xyz
2007/05/14 19:50 EDT [Broker,23,10.1.2.3] Buildslave xyz detached from openSUSE-10.2
2007/05/14 19:50 EDT [Broker,23,10.1.2.3] BotPerspective.detached(xyz)
2007/05/14 19:50 EDT [Broker,23,10.1.2.3] Unhandled error in Deferred:
2007/05/14 19:50 EDT [Broker,23,10.1.2.3] Traceback (most recent call last):
          File "/usr/lib/python2.4/site-packages/twisted/internet/tcp.py", line 402, in connectionLost
            protocol.connectionLost(reason)
          File "/usr/lib/python2.4/site-packages/twisted/spread/pb.py", line 624, in connectionLost
            d.errback(failure.Failure(PBConnectionLost(reason)))
          File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line 251, in errback
            self._startRunCallbacks(fail)
          File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line 294, in _startRunCallbacks
            self._runCallbacks()
        --- <exception caught here> ---
          File "/usr/lib/python2.4/site-packages/twisted/internet/defer.py", line 307, in _runCallbacks
            self.result = callback(self.result, *args, **kw)
          File "/usr/lib/python2.4/site-packages/buildbot/master.py", line 225, in _set_failed
            log.msg("BotPerspective.sendBuilderList (%s) failed" % self)
          File "/usr/lib/python2.4/site-packages/buildbot/master.py", line 62, in __repr__
            return "<BotPerspective '%s', builders: %s>" % 
        exceptions.AttributeError: BotPerspective instance has no attribute 'builders'

(IP addresses have been changed to protect the innocent.)

The SVNPoller kept going, but the builder never built rev 901 (apparently due to the exception).

I am having a little trouble following the class hierarchy, but it seems like the repr call might need to guard against this sort of thing in case hosts go down.

This is from buildbot 0.7.5 as found in Debian testing, and the only patch applied to the source tree is #34 (which shouldn't affect the line numbers mentioned in the traceback).

Let me know if you need further configuration details.

Change History

comment:1 Changed 6 years ago by warner

  • Milestone set to 0.7.6

comment:2 Changed 6 years ago by warner

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

current trunk no longer uses self.builders in that method (source:buildbot/master.py@325#L63). I'm not sure when it changed, but I believe this is no longer a problem.

Man that code is old, though. string.join? What was I thinking?

Note: See TracTickets for help on using tickets.