[Buildbot-devel] console does not match waterfall for older builds (0.7.12 + CSS fix; SVN)

Charles Lepple clepple at gmail.com
Mon Feb 8 03:33:33 UTC 2010


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:

http://buildbot.ghz.cc/public/nut/console

-- 
- Charles Lepple




More information about the devel mailing list