Concurrent CruiseControl >> FinalBuilder Builds

FinalBuilder 5.0.0.143
CruiseControl.Net: 1.3.0.2735

We’re using Cruise Control.Net to call into FinalBuilder using CC.Net’s FB Task. Whenever two build requests collide/coincide, I see the following exception:


<request source="“reloaded” from="" state="" file"="" buildcondition="“ForceBuild”">reloaded from state file triggered a build (ForceBuild)

<build date="“4/5/2007” 5:33:31="" pm"="" buildtime="“00:00:09"” error="“true”" buildcondition="“ForceBuild”">
Error Loading Project File : Cannot open file “C:\Program Files\FinalBuilder 5\StandardBuild\StandardBuild.fbl5”. The process cannot access the file because it is being used by another process

Exit with return code: 9 (PROJECTLOADERROR)




Have I misconfigured something? I thought FBCMD would facilitate multiple instances…? Should I pose this to the CC.Net user groups…?

Thanks, guys.

Hi Jeff,

I take it that you’ve got multiple FinalBuilder tasks configured in your ccnet.config? If so, this is an FB issue. A single project log file cannot be opened by two instances of FinalBuilder at once.

One option is to enable “DontWriteToLog” on one of the projects. Alternatively, create two different project files (one for each CC.NET task.)

If you’ve only got one FB task, it would be nice if CruiseControl.NET could determine when it is running and not start a second instance. I’ll see if we can modify the CruiseControl.NET task so that it does this internally.

Regards,

Angus

Disabling the log for all the tasks within the ccnet.config worked great. We leverage the internal XML log file anyway so no loss.

Thanks!

Hi Angus,

Just to let you know, the functionality in the CC task you mention would be nice. We have two FB projects, both in a seperate cc.net project. CCNet project B is automatically run when CCNet project A finishes. But the two projects are trigerred by two different source control folders also.
For now, we are just going to accept that things go wrong when the two projects run at the same time. See how that evolves. Als long as the scheduled builds run without problems. Maybe in the future, this gets more advanced. Maybe something for FBServer...

Jaap.