Timout on SonarQube Analysis on TFS2017

2019-06-08 00:30发布

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?

2条回答
ゆ 、 Hurt°
2楼-- · 2019-06-08 01:02

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

查看更多
姐就是有狂的资本
3楼-- · 2019-06-08 01:04

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 the sonar.ce.javaOpts line, and adjust the values as needed.

查看更多
登录 后发表回答