PDA

View Full Version : Failure due to log being truncated


smeadows
02-12-2007, 12:53 PM
Once in awhile we get this problem where the project thinks there is a failure, but there isn't.
The log file generated is truncated in the middle of a line from visual studio's log. It also gets truncated at different spots each time.
This doesn't happen all the time. We have it setup to run automatically on a 10 minute recurring schedule. Even when no files have changed, we will get a failure about every 10th build.
This is the output from Visual Build Pro:

GraphicsIncludes - 0 error(s), 0 warning(s)
========== Rebuild All: 32 succeeded,2/12/2007 9:24:23 AM: Step 'Build the solution' failed
2/12/2007 9:24:23 AM: Building failure step 'Failure'...
2/12/2007 9:24:23 AM: Building failure step 'Set Macro'...


Has anyone else seen this and know what's going on?

thx

kinook
02-12-2007, 04:55 PM
Please ZIP and send or post:
1) The info from Help | About | Install Info
2) The version+SP of Visual Studio being used
3) The .bld file
4) A truncated build log file
5) The .sln file and project files (no source code files)

Thanks.

smeadows
02-13-2007, 11:18 AM
Okay a little more information,

We are running it on a dual processor machine.
Does VBP even support devenv.exe on dual processors?

Another thing we noticed is that we have the option
"Parse build output for failed projects"
turned on, in the help it says this:
Parse build output for failed projects: Sometimes, devenv.com will return a success (0) exit code even if one or more projects failed to build. If this box is checked, the action also parses the build output to verify that 0 projects failed to build, and if an error condition is found, the step will also be marked as failed. This flag does not apply when building Visual Studio 2005 projects with msbuild.exe.

In what cases will it return 0 on a failure?
Has this been documented anywhere by microsoft, cause I can't find any more info on it?
Would this in fact try to parse the log before the spooler finsihed dumping it?

thx for your help

kinook
02-13-2007, 12:44 PM
If you have that option checked, the action looks for the string ', 0 failed,' in the log output. I don't know under what conditions devenv will return 0 when project(s) actually failed to build (some customers reported encountering this problem, so we added that option as a workaround).

The parsing this option triggers does not occur until the devenv process has completed and all output has been captured. I suspect that in your case, devenv is not always outputting all of the log info. I would suggest trying it with that option unchecked to see if it helps.

Please send the details previously requested if this doesn't help. Thanks.

smeadows
02-13-2007, 12:52 PM
Do you know if Visual Build Pro has any issues when using a multi core machine to build VS.2005 solutions?

pjaquiery
02-13-2007, 03:42 PM
For historical reasons we are using the devenv command line (rather than the built in VBP step) to build on a dual core system. We had trouble trying to get VCBuild working when we first installed VS 2005 and haven't retried since applying the service pack. I'm hazy on the details, but we have set things up for a single processor compile to avoid early problems we had. At some point soon we'll revisit the 2005 build process and see if we can get it to work correctly using multiple cores.

With VS 2003 we had occasional link errors that caused trouble with our builds. Retrying the compile if a link error was detected fixed the problem.

Update: I should have noted that none of the issues are VBP related - command line builds showed the same problems.

kinook
02-13-2007, 04:25 PM
We're not aware of any VBP issues when building VS 2005 solutions on multi-processor systems.

MikePeterson
11-06-2008, 07:12 PM
Was this issue ever resolved. I have a VS2005 compile step with post-build actions that's reporting a failure. The log appears truncated as described here, it contains a "0 failed", and otherwise looks correct. Thanks.

kinook
11-06-2008, 08:04 PM
Are you saying that VS indicates a failure, but the step succeeds? Or that it doesn't indicate a failure, but the step fails? Or?

Have you tried unchecking the 'Parse build output for failed projects' option on the Project/Solution tab? That apparently resolved the problem for smeadows.

Another possibility is that devenv/msbuild returned a non-zero exit code even when the output indicates no failures. In that case, one workaround might be to change Step.BuildStatus = vbldStepStatSucceeded in the vbld_StepDone script event.

If that doesn't help, please ZIP and post or send to support@kinook.com:
1) The info from Help | About | Install Info
2) The .bld file
3) A build log file
4) The .sln file and project files (no source code files)

Thanks.

MikePeterson
11-07-2008, 08:56 AM
Thanks for the quick response and I apologize for not providing sufficient information about the issue.

To answer your question, the step fails but from the preceding log it looks like VS successfully did everything it was supposed to do.

Here's the step:
11/6/2008 3:07:37 PM: Building subroutine step 'Build National plug-in'...
Pre-processing... C:\Products_NemsisNational\NationalPlugin\National Plug_In.csproj...setting properties...setting version...
Building configuration 'Release|Any CPU'...
Command: "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" "C:\NemsisNational\NationalPlugin.sln" /build "Release|Any CPU" /Out "C:\Products_NemsisNational\NationalPlugin.log"

All project return:
Compile complete -- 0 errors, 0 warnings

The solution includes some post-build steps:
mkdir "XSLT"
copy "C:\Products_NemsisNational\XSLT\*.XSLT" "XSLT\"
mkdir "XML"
copy "C:\Products_NemsisNational\XML\*.*" "XML\"
mkdir "SQL"
copy "C:\Products_NemsisNational\SQL\*.sql" "SQL\"
and that result in corresponding:
1 file(s) copied.
35 file(s) copied.
1 file(s) copied.11/6/2008 3:07:49 PM: Step 'Build National plug-in' failed

One oddity from an appearance standpoint in the log is that all of the post-build commands are grouped together, then there's a space, and then all of the command output is grouped together (i.e. you do NOT see command, output, command, output, etc).

So... At this point I believe that everything's good - compiles were successful, all of the post-build folders have the right files, etc. - but then the step flags a failure.

I had seen the reference to the "Parse build output for failed projects" note but I really do want the step to fail if one of the projects does not compile properly (i.e. non-zero errors, whatever warnings). Am I misunderstanding how this property is used?

I'm not familiar with the Step.BuildStatus step but I wanted to respond to your reply first and I'll go start reading up on it now.

Thanks again for the help.

kinook
11-07-2008, 10:37 AM
Uncheck the 'Parse build output for failed projects' option. That is just a workaround for VS 2003 apparently sometimes returning a non-zero exit code when the build actually failed. If devenv.com returns a non-zero exit code on failure (which it normally does), the step will still fail in VBP.

MikePeterson
11-07-2008, 10:42 AM
The build is successful after unchecking that property. Sweet!!! Thanks again for the quick responses.