简体   繁体   中英

Timout on SonarQube Analysis on TFS2017

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?

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.

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 technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM