Your browser was unable to load all of the resources. They may have been blocked by your firewall, proxy or browser configuration.
Press Ctrl+F5 or Ctrl+Shift+R to have your browser try again.

TFS parsing error #2385

mister_oz ·
I'm working in a group that's using QuickBuild and this issue has killed QuickBuild's effectiveness twice this week. The quickbuild version is 5.0.18, 2013-05-12.

It appears the parser does not handle additional information between username and name for TFS checkins. The team's workflow includes both QuickBuild and TFS Build. The error is triggered by someone submitting a TFS build with a gated shelveset checkin. The guidance in the near is don't do this!

17:43:31,390 ERROR - Error pumping stream.
com.pmease.quickbuild.plugin.scm.helper.ScmException: Parse error. Unable to parse date line. Changeset [
Changeset: 396

User: Joe Developer
Checked in by: DevGroup Build Bot
Date: Monday, July 01, 2013 2:01:59 PM
Comment:
This is the checkin comment. Just a placeholder to protect the innocent.
***NO_CI***
Items:
edit $/Team_Group_Id/Sources/FeaturesCacheTests.cs
].
at com.pmease.quickbuild.plugin.scm.tfs.ChangeLogConsumer.parseChangeLog(ChangeLogConsumer.java:148)
at com.pmease.quickbuild.plugin.scm.tfs.ChangeLogConsumer.consume(ChangeLogConsumer.java:60)
at com.pmease.quickbuild.execution.LineConsumer.processBuffer(LineConsumer.java:86)
at com.pmease.quickbuild.execution.LineConsumer.write(LineConsumer.java:73)
at java.io.OutputStream.write(Unknown Source)
at com.pmease.quickbuild.execution.ProcessStreamPumper$1.run(ProcessStreamPumper.java:92)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

17:43:31,408 ERROR - Step 'master>Run Project Build>Run Full Build' is failed: Failed to run command: tf history $/Team_Group_Id/Sources -version:C391~C399 -recursive -noprompt -format:detailed
  • replies 9
  • views 4883
  • stars 0
steveluo ADMIN ·
What is your version of tf command? Seems that you have one line below which causes the failure:
Checked in by: DevGroup Build Bot

I'd like to suggest you install Team Explorer Everywhere instead, because the tf command bundled with Visual Studio are not so CI friendly. TEE(Team Explorer Everywhere) can be download from Microsoft below:
http://www.microsoft.com/en-us/download ... x?id=30661

Also, you need upgrade your QuickBuild server to the latest version.
mister_oz ·
Thanks Steve

That's helpful guidance. In a moderately sized org with 10-100 teams on the QuickBuild deployment upgrading is something approached with caution (Issue fixed in later build?). Similarly installing a different set of command-line tools on the QuickBuild servers compared to the developer machines is a hard sell and if it bites any team we have to justify it citing the QuickBuild issue. Root cause fix would address both.
steveluo ADMIN ·
The latest version cannot resolve your issues, QuickBuild can only parse the normal commit messages without any additional information. That is why I'm asking you to change to TEE as it can generate XML output which is more CI friendly. Sorray for the inconvenience. I have also updated the wiki page to suggest user install TEE instead.

I know your situation and we'll consider using some other methods to avoid installing the command line tool later both on server and on agents.
steveluo ADMIN ·
By the way, you still need upgrade your QB server, we added TEE change log XML format parser since version 5.0.25.
mister_oz ·
Thanks Steve! I'll relay this to our build team and hopefully we can get the TEE path lit up.
avsln ·
I have QuickBuild version 5.1.15 installed and I ran into the same issue when I use a scheduled build. But when I ran it manually it worked just fine. I also took your suggestion and installed TEE on my QuickBuild server to see if that will help with my scheduled process tonight.

Has this issue not been addressed so far?
avsln ·
Right now this is what I have in my plugin configuration.

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\tf.exe

I made it empty hoping that it will use the path variable but I get the below error

Cannot run program "tf" (in directory "D:\quickbuild-5.1.15\bin"): CreateProcess error=2, The system cannot find the file specified


I executed tf from the command line on the QuickBuild server from the same path as above and I get the message

Team Explorer Everywhere Command Line Client (version 11.0.0.201306181526)


Is there anything else I am missing?
avsln ·
Ok One step further.

I added the actual path where I installed TEE to the TFS Plugin configuration path

D:\TEE-CLC-11.0.0\tf.cmd


Now I get a message saying I have to run "tf eula" to accept the End User License Agreement. I went to the server and ran it, but I still get the same error.

I tried manually executing the TF command that QuickBuild was trying to execute and it seems to work fine.
steveluo ADMIN ·
Hi,

This error normally caused by different user you were trying. That is, you are running QuickBuild with user A, but you are testing with another user. So please make sure you are testing by using the same user you run QuickBuild.