[Buildbot-devel] console does not match waterfall for older builds (0.7.12 + CSS fix; SVN)
Nicolas Sylvain
nsylvain at chromium.org
Mon Feb 8 03:48:56 UTC 2010
On Sun, Feb 7, 2010 at 7:33 PM, Charles Lepple <clepple at gmail.com> wrote:
> On Sun, Feb 7, 2010 at 8:48 PM, Nicolas Sylvain <nsylvain at chromium.org>
> wrote:
> > For some reasons the console does not look before build 85 for the
> FreeBSD
> > build. So it thinks
> > it saw r2317 first in build 85, so it attributes the failures in b85 to
> that
> > revisions as well. (while it fact it should have seen it first in build
> > 83).
> > The problem also seem to happen for the other builders.
> > By looking at the debug log at the bottom, it looks like it is using only
> 10
> > builds results to build the whole console, which is
> > clearly not enough. (and not expected)
> > If you are familiar with python and want to debug, I would look
> > into getBuildsForRevision in buildbot/status/web/console.py
> > In theory this function is supposed to return an array of all the builds
> > needed to compute the console for a given builder. You
> > can watch for calls to this function with "builderName" = "FreeBSD-i686",
> > and then you can add output to see what's going on
> > in the while.
> > This function is supposed to look at 40 builds maximum, but it seems to
> stop
> > early. There are 2 reasons:
> > 1. Maybe the self.comparator.isRevisionEarlier function is failing.
> Maybe
> > it's returning true when it should
> > not. I would try adding some prints there.
> > 2. getPreviousBuild() return None. This is outside the scope of the
> > console, but I doubt this is it.
> > My bet so far is that isRevisionEarlier is not called correctly. I
> thought
> > we fixed that though.
> > Can you replace :
> >
> > # Now break if we have enough builds.
> >
> > current_revision = self.getChangeForBuild(
> >
> > builder.getBuild(-1), revision)
> >
> > if self.comparator.isRevisionEarlier(
> >
> > devBuild, current_revision):
> >
> > break
> >
> >
> >
> >
> > by:
> >
> >
> > # Now break if we have enough builds.
> >
> > if int(got_rev) < int(revision):
> >
> > break
> >
> >
> > And try again. Maybe it will work. (you need to restart the master).
>
> That seems to have fixed it. The logs are all in the right place, as well:
>
Great, thanks!
I also tried on my master (who seemed to have started to act badly today
too), and it also worked.
+aviv: In case you know what the real fix should be.
Nicolas
> http://buildbot.ghz.cc/public/nut/console
>
> --
> - Charles Lepple
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20100207/8bb9a8d0/attachment.html>
More information about the devel
mailing list