"Unable to save integration result" error

457 views
Skip to first unread message

Hugo Estrada

unread,
Sep 2, 2010, 6:47:02 PM9/2/10
to ccnet-user
Hi,

I am trying to set up a server, and it seems that it is working, but
on the command line output I keep getting this error:

"Unable to save integration result: ThoughtsWorks.CruiseControl.Core.
CruiseControl.Exception: Unable to save the IntegrationResult to the
specified directory: C:\Program Files\CruiseControl.Net\server
\Framework.state"

I suspect that I am missing a configuration value, but I don't know
which. How can I fix this?

Thanks in advance,

Hugo

Ruben Willems

unread,
Sep 4, 2010, 5:22:00 AM9/4/10
to ccnet...@googlegroups.com
Hi

can you post the config of your project from ccnet.config


with kind regards
Ruben Willems

Benjamin Baumann

unread,
Sep 6, 2010, 3:58:10 AM9/6/10
to ccnet...@googlegroups.com
Hi,

Do the users running the ccnet service and yours are different? Did you check that either have rights to write on C:\Program Files\CruiseControl.Net\server ?

Benjamin Baumann

2010/9/3 Hugo Estrada <hugo...@gmail.com>

Hugo Estrada

unread,
Sep 7, 2010, 5:17:19 AM9/7/10
to ccnet-user
Here you go:

<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<!-- This is your CruiseControl.NET Server Configuration file. Add
your projects below! -->
<project name="Framework" >
<workingDirectory>c:\SVN\CI\Framework\</workingDirectory>
<artifactDirectory>c:\SVN\CI\Artifacts.Framework</artifactDirectory>
<webURL>http://localhost:81/ccnet</webURL>
<triggers>
<intervalTrigger initialSeconds="0" />
</triggers>
<sourcecontrol type="svn">
<trunkUrl>file:///C:/SVN/repository/Framework</trunkUrl>
<executable>C:\Program Files\SlikSvn\bin\svn.exe</executable>
<username>hestrada</username>
<password></password>
</sourcecontrol>
<tasks>
<msbuild>
<executable>
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
</executable>
<projectFile>Framework.sln</projectFile>
<buildArgs>/p:Configuration=Release /verbosity:minimal </buildArgs>
<logger>C:\Program Files\CruiseControl.NET\server
\ThoughtWorks.CruiseControl.MSBuild.dll</logger>
</msbuild>
</tasks>

</project>

<project name="WindowsCalculator" >
<workingDirectory>C:\SVN\CI\WindowsCalculator</workingDirectory>
<artifactDirectory>C:\SVN\CI\WindowsCalculator.Artifacts</
artifactDirectory>
<webURL>http://localhost:81/ccnet</webURL>
<triggers>
<intervalTrigger initialSeconds="0" />
<projectTrigger project="Framework">
<triggerStatus>Success</triggerStatus>
</projectTrigger>
</triggers>
<sourcecontrol type="svn">
<trunkUrl>file:///svn/repository/WindowsCalculator</trunkUrl>
<executable>C:\Program Files\SlikSvn\bin\svn.exe</executable>
<username>hestrada</username>
<password></password>
</sourcecontrol>
<tasks>
<msbuild>
<executable>
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
</executable>
<projectFile>WindowsCalculator.sln</projectFile>
<buildArgs>/p:Configuration=Release /verbosity:minimal </buildArgs>
<logger>C:\Program Files\CruiseControl.NET\server
\ThoughtWorks.CruiseControl.MSBuild.dll</logger>
</msbuild>
</tasks>

</project>

</cruisecontrol>


On Sep 4, 5:22 am, Ruben Willems <ruben.will...@gmail.com> wrote:
> Hi
>
> can you post the config of your project from ccnet.config
>
> with kind regards
> Ruben Willems
>

SandRock

unread,
Sep 12, 2010, 5:04:09 PM9/12/10
to ccnet-user
Same issue here. The build is a success by an error message is created
in the windows events.

It seems the web dashboard is trying to save a file in C:\Program
Files (x86)\CruiseControl.NET\server\project.state but has no right to
do it.
I tried allowing the IIS user and the "Everyone" user but the error
persists.

Is there a way to set an appropriate folder for this file?

2010-09-12 22:48:34,753 [project] ERROR CruiseControl.NET [(null)] -
Unable to save integration result:
ThoughtWorks.CruiseControl.Core.CruiseControlException: Unable to save
the IntegrationResult to the specified directory: C:\Program Files
(x86)\CruiseControl.NET\server\project.state
<?xml version="1.0" encoding="utf-8"?>
<IntegrationResult xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
scmError="false">
<ProjectName>project</ProjectName>
<BuildCondition>ForceBuild</BuildCondition>
<Label>4</Label>
<Parameters>
<NameValuePair name="Build Name" value="Unknown" />
<NameValuePair name="$CCNetArtifactDirectory" value="C:\CruiseData
\project\Artifacts" />
<NameValuePair name="$CCNetBuildCondition" value="ForceBuild" />
<NameValuePair name="$CCNetBuildDate" value="2010-09-12" />
<NameValuePair name="$CCNetBuildTime" value="22:48:21" />
<NameValuePair name="$CCNetFailureUsers"
value="System.Collections.ArrayList" />
<NameValuePair name="$CCNetIntegrationStatus" value="Unknown" />
<NameValuePair name="$CCNetLabel" value="4" />
<NameValuePair name="$CCNetLastIntegrationStatus" value="Success" /
>
<NameValuePair name="$CCNetListenerFile" value="C:\CruiseData
\project\Artifacts\project_ListenFile.xml" />
<NameValuePair name="$CCNetModifyingUsers"
value="System.Collections.ArrayList" />
<NameValuePair name="$CCNetNumericLabel" value="4" />
<NameValuePair name="$CCNetProject" value="project" />
<NameValuePair name="$CCNetRequestSource" value="WILDWURGER" />
<NameValuePair name="$CCNetUser" value="admin" />
<NameValuePair name="$CCNetWorkingDirectory" value="C:\CruiseData
\project\Workspace" />
</Parameters>
<WorkingDirectory>C:\CruiseData\project\Workspace</WorkingDirectory>
<ArtifactDirectory>C:\CruiseData\project\Artifacts</
ArtifactDirectory>
<Status>Success</Status>
<StartTime>2010-09-12T22:48:21.3079645+02:00</StartTime>
<EndTime>2010-09-12T22:48:34.7446045+02:00</EndTime>
<LastIntegrationStatus>Success</LastIntegrationStatus>
<LastSuccessfulIntegrationLabel>4</LastSuccessfulIntegrationLabel>
<FailureUsers />
<lastBuild>Success</lastBuild>
<SourceControl name="SVN:LastRevision:xxx" />
</IntegrationResult> ---> System.UnauthorizedAccessException: Access
to the path 'C:\Program Files (x86)\CruiseControl.NET\server
\project.state-NEW' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String
maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess
access, Int32 rights, Boolean useRights, FileShare share, Int32
bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String
msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode,
FileAccess access, FileShare share, Int32 bufferSize, FileOptions
options, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode,
FileAccess access, FileShare share, Int32 bufferSize, FileOptions
options)
at
ThoughtWorks.CruiseControl.Core.Util.SystemIoFileSystem.AtomicSave(String
file, String content, Encoding encoding)
at
ThoughtWorks.CruiseControl.Core.State.FileStateManager.SaveState(IIntegrationResult
result)
--- End of inner exception stack trace ---
at
ThoughtWorks.CruiseControl.Core.State.FileStateManager.SaveState(IIntegrationResult
result)
at
ThoughtWorks.CruiseControl.Core.IntegrationResultManager.FinishIntegration()

Ruben Willems

unread,
Sep 14, 2010, 3:31:39 PM9/14/10
to ccnet...@googlegroups.com
Hi


your configs are correct,
it is indeed a secrity setting

so allow the user under which ccnet runs to write in the program files folder,
or specify a state folder :
http://confluence.public.thoughtworks.org/display/CCNET/File+State+Manager

<project name="test>
    <state type="state">
      <directory>D:\rep\CCNet_1_6\project\Validator\bin\Debug\</directory>
    </state>
   ...
</project>

with kind regards
Ruben Willems


Reply all
Reply to author
Forward
0 new messages