DocProject gets stuck in an infinite loop

Topics: Bugs
Jun 14, 2010 at 4:21 AM

Hi,

We're having an intermittent problem with out docproject build. The build gets stuck in an infinite loop, restarting at step 1 immediately after the 'Building Assembler' step.

This build is running frequently on our Continuous Integration server. The docproject project is part of a VS2008 solution which is built from the command line using MSBuild. The MSBuild log file eventually fills up the entire free space on the hard drive (about 30gb), which then crashes our server. We have another (much larger) documentation project building in this configuration, and have never had any problems with it.

Here is the relevant MSBuild output. Steps 1 through 10 just repeat forever:

Step 9 Time Elapsed: 00:00:33.5400000
Step 10 of 15: Build Assembler {sandcastle.help1x.config}
Preparing...
Executing...
Topics processed: 990
Starting help build for Documentation...
Preparing target directory...
Building documentation for Documentation...
Step 1 of 15: Change Directory

Is this a known problem, and is there a workaround we could use?

or, is there a way to request more verbose diagnostic output from docproject so we can figure out what is going on?

Cheers!

Coordinator
Jun 14, 2010 at 10:38 AM

Hi,

This has never been reported before and I've never experienced it on my own CI build servers (TeamCity and Team Build).

  1. Have you made any changes to DocProject's or Visual Studio's MSBuild files?
  2. How about changes to the DocProject or DocSite project file?
  3. Do you have any custom code in the build process component file in your DocProject or DocSite?  (BuildProcess.cs or BuildProcess.vb)
  4. Have you customized Sandcastle at all?
  5. Which version of MSBuild are you using?  .NET 3.5?

DocProject doesn't provide detailed output, but MSBuild can using the /verbosity switch:

http://msdn.microsoft.com/en-us/library/ms171470.aspx

I'd be interested in seeing what MSBuild logs immediately before it starts the DocProject target again, unless of course DocProject is running some internal loop on its own.  If the MSbuild log file is too large to post here you can send me your email address and I'll send you mine.

Also check the Application event log on the server for events with DocProject as the source.  It could be that DocProject is throwing an exception and for some unknown reason it's restarting the build without yielding to MSBuild, although it seems unlikely.

- Dave