Builds fail with "Problem with Finish Build Trigger"

Hi all,

We are attempting to use TeamCity to handle our build needs, but are failing a little (probably doe to some really dumb mistake of mine, but that remains to be seen :) )

Please - if you have any good reason to tell me to do things differently, don't hesitate.

Our current setup:
18 projects where each project is a Java framework or Java product (web application). The dependency tree is somewhat of a spaghetti, but basically there are four levels:

Level 1: Applications ( A1, A2, ..., A7 )
Level 2: Application Framework ( B1 )
Level 3: Primary frameworks ( F1, F2, F3 )
Level 4: Low-level frameworks ( L1, L2, ..., L8 )

A1..7 depend on F1
A1..3 depend on B1
A2..A7 depend on F2 and F3
A1..7 depend on many of L1..L8

F1 depends on L1
F2 depends on L2 and L3
F3 depends on L1 and L4

L* has no dependencies

This should give a rough idea of the spaghetti...

All have:
   VCS Trigger
   Finish Build Trigger ( wait for successful build in each of its dependencies )
   Snapshot Dependencies ( dependency defined for the frameworks the framework/product is dependant upon )

This is all good and nice and seems to work while there is only 1 message receiver downstream ( i.e. Fx triggers Ax and there is only 1 of A )

But when there are many receivers of the message (many A) a build triggered by a change (or manual run) of Fx or Lx which should trigger downstream only, triggers a build chain of Ax and fails all Ax̅.

All projects are "OK", but the error "Problem with Finish Build Trigger" pops up ever so briefly on the projects that failed and shows the following message and stack trace:

Revisions are not found for build configurations: USWebObjects :: USWebObjects {id=bt10}, EKApplication :: EKApplication {id=bt3}, USJava :: USJava {id=bt12}, USTPos :: USTPos {id=bt11}, EkjaFramework :: EkjaFramework {id=bt7}, USUtilities :: USUtilities {id=bt13}, USCommonComponents :: USCommonComponents {id=bt8}, ES :: ES - Deployment Build {id=bt15}, USJars :: USJars {id=bt9}


jetbrains.buildServer.buildTriggers.BuildTriggerException: Revisions are not found for build configurations: USWebObjects :: USWebObjects {id=bt10}, EKApplication :: EKApplication {id=bt3}, USJava :: USJava {id=bt12}, USTPos :: USTPos {id=bt11}, EkjaFramework :: EkjaFramework {id=bt7}, USUtilities :: USUtilities {id=bt13}, USCommonComponents :: USCommonComponents {id=bt8}, ES :: ES - Deployment Build {id=bt15}, USJars :: USJars {id=bt9}
at jetbrains.buildServer.serverSide.impl.BuildTriggersChecker.callTrigger(BuildTriggersChecker.java:37)
at jetbrains.buildServer.serverSide.impl.BuildTriggersChecker.access$800(BuildTriggersChecker.java:109)
at jetbrains.buildServer.serverSide.impl.BuildTriggersChecker$BuildTriggersGroup.processTriggers(BuildTriggersChecker.java:27)
at jetbrains.buildServer.serverSide.impl.BuildTriggersChecker.triggerBuilds(BuildTriggersChecker.java:94)
at jetbrains.buildServer.serverSide.impl.BuildServerRunner$4.doSomething(BuildServerRunner.java:1)
at jetbrains.buildServer.serverSide.impl.BuildServerRunner$BuildServerWorker.runAction(BuildServerRunner.java:12)
at jetbrains.buildServer.serverSide.impl.BuildServerRunner$BuildServerWorker.run(BuildServerRunner.java:32)
at java.lang.Thread.run(Thread.java:662)
Caused by: jetbrains.buildServer.vcs.impl.RevisionsNotFoundException: Revisions are not found for build configurations: USWebObjects :: USWebObjects {id=bt10}, EKApplication :: EKApplication {id=bt3}, USJava :: USJava {id=bt12}, USTPos :: USTPos {id=bt11}, EkjaFramework :: EkjaFramework {id=bt7}, USUtilities :: USUtilities {id=bt13}, USCommonComponents :: USCommonComponents {id=bt8}, ES :: ES - Deployment Build {id=bt15}, USJars :: USJars {id=bt9}
at jetbrains.buildServer.vcs.impl.HistoryChangesCollector$HistoryChangesResult.checkRevisionsAreSet(HistoryChangesCollector.java:30)
at jetbrains.buildServer.vcs.impl.HistoryChangesCollector$HistoryChangesResult.computeRevisions(HistoryChangesCollector.java:27)
at jetbrains.buildServer.vcs.impl.HistoryChangesCollector$HistoryChangesResult.access$100(HistoryChangesCollector.java:74)
at jetbrains.buildServer.vcs.impl.HistoryChangesCollector$1.get(HistoryChangesCollector.java:11)
at jetbrains.buildServer.vcs.impl.HistoryChangesCollector$1.get(HistoryChangesCollector.java:3)
at jetbrains.buildServer.serverSide.impl.CancelableTaskHolder.waitForTaskToComplete(CancelableTaskHolder.java:9)
at jetbrains.buildServer.serverSide.impl.dependency.TopBuildDependencyGraphImpl.doCollectChanges(TopBuildDependencyGraphImpl.java:138)
at jetbrains.buildServer.serverSide.impl.dependency.TopBuildDependencyGraphImpl.access$000(TopBuildDependencyGraphImpl.java:88)
at jetbrains.buildServer.serverSide.impl.dependency.TopBuildDependencyGraphImpl$3.run(TopBuildDependencyGraphImpl.java)
at jetbrains.buildServer.serverSide.impl.dependency.TopBuildDependencyGraphImpl$3.run(TopBuildDependencyGraphImpl.java:1)
at jetbrains.buildServer.serverSide.impl.dependency.TopBuildDependencyGraphImpl$4.run(TopBuildDependencyGraphImpl.java)
at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAs(SecurityContextImpl.java:24)
at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAsSystem(SecurityContextImpl.java:19)
at jetbrains.buildServer.serverSide.impl.dependency.TopBuildDependencyGraphImpl.runAsSystem(TopBuildDependencyGraphImpl.java:122)
at jetbrains.buildServer.serverSide.impl.dependency.TopBuildDependencyGraphImpl.collectChangesForGraph(TopBuildDependencyGraphImpl.java:8)
at jetbrains.buildServer.serverSide.impl.BuildCustomizerImpl.createPromotion(BuildCustomizerImpl.java:53)
at jetbrains.buildServer.serverSide.impl.BuildCustomizerImpl.createPromotion(BuildCustomizerImpl.java:25)
at jetbrains.buildServer.buildTriggers.dependency.FinishBuildTriggerService$3.triggerBuild(FinishBuildTriggerService.java:48)
at jetbrains.buildServer.serverSide.impl.BuildTriggersChecker.callTrigger(BuildTriggersChecker.java:50)
... 7 more

These are just visible for some seconds, and then the projects revert to an "OK" state (which is inherently incorrect since a dependency "changed").

I wonder if anyone might shed some light on what's happening, why, and how I fix it :)

Best from Iceland,
   Þór

1 comment
Comment actions Permalink

In case anyone wondered, I already verified that:

Revisions are not found for build configurations:
     USWebObjects :: USWebObjects {id=bt10},
     EKApplication :: EKApplication {id=bt3},
     USJava :: USJava {id=bt12},
     USTPos :: USTPos {id=bt11},
     EkjaFramework :: EkjaFramework {id=bt7},
     USUtilities :: USUtilities {id=bt13},
     USCommonComponents :: USCommonComponents {id=bt8},
     ES :: ES - Deployment Build {id=bt15},
     USJars :: USJars {id=bt9}

the builds for the ids actually exist.

Manually starting the application build and have it accept its dependencies is a click of the run button.

Nothing explains why it would fail.

0

Please sign in to leave a comment.