Our setup is a SonarQube server 5.6.5 LTS and a TFS2017 on-premise server.
I'm running Code analysis on a big solution which takes about 15 minutes to build and about the same time to complete the analysis build step. On "Complete SonarQube analysis" build step I get the following error:
2017-01-31T08:52:44.8355200Z 09:52:44.741 Post-processing succeeded.
2017-01-31T08:52:46.9293440Z Waiting on the SonarQube server to finish processing in order to determine the quality gate status.
2017-01-31T08:57:47.7364532Z ##[error]System.Management.Automation.RuntimeException: The analysis did not complete in the allotted time of 300 seconds. Consider setting the build variable SonarQubeAnalysisTimeoutInSeconds to a higher value. ---> System.Management.Automation.RuntimeException: The analysis did not complete in the allotted time of 300 seconds. Consider setting the build variable SonarQubeAnalysisTimeoutInSeconds to a higher value.
2017-01-31T08:57:47.7364532Z --- Ende der internen Ausnahmestapelüberwachung ---
2017-01-31T08:57:47.7364532Z bei System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input)
2017-01-31T08:57:47.7364532Z bei System.Management.Automation.PowerShell.Worker.ConstructPipelineAndDoWork(Runspace rs, Boolean performSyncInvoke)
2017-01-31T08:57:47.7364532Z bei System.Management.Automation.PowerShell.Worker.CreateRunspaceIfNeededAndDoWork(Runspace rsToUse, Boolean isSync)
2017-01-31T08:57:47.7364532Z bei System.Management.Automation.PowerShell.CoreInvokeHelper[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
2017-01-31T08:57:47.7364532Z bei System.Management.Automation.PowerShell.CoreInvoke[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
2017-01-31T08:57:47.7364532Z bei Microsoft.TeamFoundation.DistributedTask.Handlers.LegacyVSTSPowerShellHost.VSTSPowerShellHost.Main(String[] args)
2017-01-31T08:57:47.7676884Z ##[error]LegacyVSTSPowerShellHost.exe completed with return code: -1.
2017-01-31T08:57:47.7676884Z ##[section]Finishing: Complete the SonarQube analysis
The Timeout in the build steps control options are set to zero/infinite. Where can i set SonarQubeAnalysisTimeoutInSeconds
or are there any other Timeout settings I should set higher?
If I uncheck the "Include full analysis report in the build summary" in the prepare build task, the build runs green.
But in both cases there is a OutOfMemoryError
in the SonarQube Sever Logs:
2017.01.31 09:54:10 INFO [o.s.s.c.s.ComputationStepExecutor] Compute duplication measures | time=399ms
2017.01.31 09:54:56 ERROR [o.s.s.c.t.CeWorkerCallableImpl] Failed to execute task AVnzuYyFhG9cSXnted2v
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source) ~[na:1.8.0_121]
at java.lang.AbstractStringBuilder.ensureCapacityInternal(Unknown Source) ~[na:1.8.0_121]
at java.lang.AbstractStringBuilder.append(Unknown Source) ~[na:1.8.0_121]
at java.lang.StringBuilder.append(Unknown Source) ~[na:1.8.0_121]
at org.sonar.server.computation.step.DuplicationDataMeasuresStep$DuplicationVisitor.appendDuplication(DuplicationDataMeasuresStep.java:131) ~[sonar-server-5.6.5.jar:na]
...
Are these 2 Errors correlated?
We didn't have this issue with SQ Version 6.4 and SonarQube TFS extension version SonarSource.sonarqube-3.0.2. But we just upgraded to SQ v7.0 and started having this issue.
Even after setting the build variable "SonarQubeAnalysisTimeoutInSeconds", not working.
ERROR SonarQubeAnalysisTimeoutInSeconds is set to 600 and will be used to poll for the SonarQube task completion. The analysis did not complete in the allotted time of 600 seconds. Consider setting the build variable SonarQubeAnalysisTimeoutInSeconds to a higher value.
Regards, San
The two errors are correlated. Your build task is waiting for the server to respond with the build results, and it's not responding because of the
OutOfMemoryError
.To grant the process more memory, edit
$SONARQUBE_HOME/conf/sonar.properties
, uncomment thesonar.ce.javaOpts
line, and adjust the values as needed.