Alternating error

Hello,

We have TFS2010.  I'm using the FinalBuilder workflow.  We are building delphi projects so I've modified the TFSexample to make use of Delphi Compiler build.

I have most things working but just about ever other build fails with the error below.  If I simply restart the build again it will likely succeed.  I have 2169 installed right now.

Any ideas on what is going on?

 

Create Label

Label ACSFBDevelopment_20130306.13@$/AutostainerControlSoftware (version W16_1_dlb01vmusserv;DAKO_USA\dlbuilder) was successfully created.

 

00:04

FinalBuilder

00:04

FinalBuilderAnalyzing labels ACSFBDevelopment_20130306.12 and ACSFBDevelopment_20130306.13.

Exception encountered when running FinalBuilder: Value cannot be null. Parameter name: item at Microsoft.TeamFoundation.Common.TFCommonUtil.CheckStringForNullOrEmpty(String stringVar, String stringVarName, Boolean trim) at Microsoft.TeamFoundation.VersionControl.Client.Client.d__7.MoveNext() at Microsoft.TeamFoundation.VersionControl.Client.Client.d__0.MoveNext() at System.Linq.Enumerable.d__b1`1.MoveNext() at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection) at VSoftTechnologies.FinalBuilder.TFS.Workflow.RunFinalBuilder.GetTriggerFileXML() at VSoftTechnologies.FinalBuilder.TFS.Workflow.RunFinalBuilder.GetTriggerFile() at VSoftTechnologies.FinalBuilder.TFS.Workflow.RunFinalBuilder.Execute(CodeActivityContext context)

FinalBuilder project failed with error code 99. Please see the build log for details.

 

 

I also get this error in my local VS (2012) it seems after queueing the build:

Error: Could not load file or assembly ‘file:///C:\Users\dev\AppData\Local\Temp\VSTFSBuild\d9342c19-e229-4cb8-9f46-114035858293\A1473076552\Microsoft.TeamFoundation.Build.Client.dll’ or one of its dependencies. The system cannot find the file specified.

A bit more info on this issue… If I leave a previsou build in place I get the error. It seems to be comparing the label for the prior build to the current label and it gets the error:

Analyzing labels ACSFBDevelopment_20130306.18 and ACSFBDevelopment_20130306.19.

.18 was a successful build. I just left it in the list. I queued .19 and it failed with the error.

If I right click in VS and delete both .18 and .19 so no builds appear in the list then the next build I queue will succeed.

Any ideas?

I’m not sure what is causing this issue, nothing has changed in this area in the last year. I have added a null check where I think the error is occuring (difficult to be sure from the stack trace), a tfs api which is supposed to be returning IEnumberable is perhaps returning null. The tfs doco is practically useless, so it’s hard to know if it is ever supposed to return null, but the general convention with IEnumerable is to return and empty collection, not null.

I’ll post here with another build later today.

As for the assembly load error, I have no idea, not much out there on google about this.

Posted By MarkHolbrook on 06 Mar 2013 09:41 PM
A bit more info on this issue... If I leave a previsou build in place I get the error. It seems to be comparing the label for the prior build to the current label and it gets the error:

Analyzing labels ACSFBDevelopment_20130306.18 and ACSFBDevelopment_20130306.19.

.18 was a successful build. I just left it in the list. I queued .19 and it failed with the error.

If I right click in VS and delete both .18 and .19 so no builds appear in the list then the next build I queue will succeed.

Any ideas?

I'm trying to get my head around the code, the person who wrote it left last year and there are very few comments. From what I can tell, we find the most recent successful build from previous builds, and use the the date of that build to find changesets. The reason we do this is because the changesets passed in by TFS are not actually populated (the changes property is empty), so we get them by calling QueryHistory. If there are no previous builds then the we do not call queryhistory, that makes me think that I'm looking at the right general area. Unfortunately our test TFS 2010 install seems to be broken (TFS will not run), so it looks like I need to re-install TFS to test this. 

Hi Mark

Please try this build : http://downloads.finalbuilder.com/downloads/finalbuilder/700/FB700_2179.exe

Hi Vincent, well that seems to have fixed it. Not sure why but just having the new build of FB seems to allow me to create build after build just fine. Thanks.

Hi Mark

Thanks for the feedback. That suggests that the queryhistory api does indeed return null instead of an empty IEnumerable.