SonarQube exception after upgrade to 6.5

343 views
Skip to first unread message

vmak...@gmail.com

unread,
Aug 11, 2017, 3:21:26 AM8/11/17
to SonarQube
Hi,

After upgrading to SonarQube 6.5 (build 27846) and the latest code analyzer for C# 6.3 (build 2862) we get a build failure due to an IllegalStateException in the SonarQube Scanner

[exec] ERROR: Error during SonarQube Scanner execution
[exec] java.lang.IllegalStateException: Line 18 is out of range in the file DAL/TableAdapters/ConnectionStrings.cs (lines: 15)
[exec] at org.sonar.api.internal.google.common.base.Preconditions.checkState(Preconditions.java:197)
[exec] at org.sonar.api.batch.sensor.coverage.internal.DefaultCoverage.validateLine(DefaultCoverage.java:89)
[exec] at org.sonar.api.batch.sensor.coverage.internal.DefaultCoverage.lineHits(DefaultCoverage.java:77)
[exec] at org.sonar.plugins.dotnet.tests.CoverageReportImportSensor.analyze(CoverageReportImportSensor.java:119)
[exec] at org.sonar.plugins.dotnet.tests.CoverageReportImportSensor.execute(CoverageReportImportSensor.java:95)
[exec] at org.sonar.scanner.sensor.SensorWrapper.analyse(SensorWrapper.java:53)
[exec] at org.sonar.scanner.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:88)
[exec] at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:82)
[exec] at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:73)
[exec] at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:78)
[exec] at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:179)
[exec] at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:144)
[exec] at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:129)
[exec] at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:261)
[exec] at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:256)
[exec] at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:245)
[exec] at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:144)
[exec] at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:129)
[exec] at org.sonar.scanner.task.ScanTask.execute(ScanTask.java:47)
[exec] at org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.java:84)
[exec] at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:144)
[exec] at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:129)
[exec] at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:119)
[exec] at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:116)
[exec] at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:63)
[exec] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[exec] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
[exec] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[exec] at java.lang.reflect.Method.invoke(Unknown Source)
[exec] at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
[exec] at com.sun.proxy.$Proxy0.execute(Unknown Source)
[exec] at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:233)
[exec] at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)
[exec] at org.sonarsource.scanner.cli.Main.runAnalysis(Main.java:123)
[exec] at org.sonarsource.scanner.cli.Main.execute(Main.java:77)
[exec] at org.sonarsource.scanner.cli.Main.main(Main.java:61)
[exec] ERROR:
[exec] ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
[exec] The SonarQube Scanner did not complete successfully
[exec] 16:33:33.796 Creating a summary markdown file...
[exec] 16:33:33.796 Post-processing failed. Exit code: 1

We are using sonar-scanner-3.0.3.778.

The file that fails was changed between the SonarQube upgrade, some properties where changed to expression-bodied property making the file shorter.
After reverting that change, our build nog longer fails, but the SonarQube background task does fail

java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.ensureCapacityInternal(Unknown Source)
at java.lang.AbstractStringBuilder.append(Unknown Source)
at java.lang.StringBuilder.append(Unknown Source)
at org.sonar.server.computation.task.projectanalysis.step.DuplicationDataMeasuresStep$DuplicationVisitor.appendDuplication(DuplicationDataMeasuresStep.java:132)
at org.sonar.server.computation.task.projectanalysis.step.DuplicationDataMeasuresStep$DuplicationVisitor.appendDuplication(DuplicationDataMeasuresStep.java:125)
at org.sonar.server.computation.task.projectanalysis.step.DuplicationDataMeasuresStep$DuplicationVisitor.processDuplicationBlock(DuplicationDataMeasuresStep.java:114)
at org.sonar.server.computation.task.projectanalysis.step.DuplicationDataMeasuresStep$DuplicationVisitor.createXmlDuplications(DuplicationDataMeasuresStep.java:100)
at org.sonar.server.computation.task.projectanalysis.step.DuplicationDataMeasuresStep$DuplicationVisitor.computeDuplications(DuplicationDataMeasuresStep.java:85)
at org.sonar.server.computation.task.projectanalysis.step.DuplicationDataMeasuresStep$DuplicationVisitor.visitFile(DuplicationDataMeasuresStep.java:80)
at org.sonar.server.computation.task.projectanalysis.component.DepthTraversalTypeAwareCrawler.visitNode(DepthTraversalTypeAwareCrawler.java:79)
at org.sonar.server.computation.task.projectanalysis.component.DepthTraversalTypeAwareCrawler.visitImpl(DepthTraversalTypeAwareCrawler.java:51)
at org.sonar.server.computation.task.projectanalysis.component.DepthTraversalTypeAwareCrawler.visit(DepthTraversalTypeAwareCrawler.java:39)
at org.sonar.server.computation.task.projectanalysis.component.DepthTraversalTypeAwareCrawler.visitChildren(DepthTraversalTypeAwareCrawler.java:98)
at org.sonar.server.computation.task.projectanalysis.component.DepthTraversalTypeAwareCrawler.visitImpl(DepthTraversalTypeAwareCrawler.java:54)
at org.sonar.server.computation.task.projectanalysis.component.DepthTraversalTypeAwareCrawler.visit(DepthTraversalTypeAwareCrawler.java:39)
at org.sonar.server.computation.task.projectanalysis.component.DepthTraversalTypeAwareCrawler.visitChildren(DepthTraversalTypeAwareCrawler.java:98)
at org.sonar.server.computation.task.projectanalysis.component.DepthTraversalTypeAwareCrawler.visitImpl(DepthTraversalTypeAwareCrawler.java:54)
at org.sonar.server.computation.task.projectanalysis.component.DepthTraversalTypeAwareCrawler.visit(DepthTraversalTypeAwareCrawler.java:39)
at org.sonar.server.computation.task.projectanalysis.component.DepthTraversalTypeAwareCrawler.visitChildren(DepthTraversalTypeAwareCrawler.java:98)
at org.sonar.server.computation.task.projectanalysis.component.DepthTraversalTypeAwareCrawler.visitImpl(DepthTraversalTypeAwareCrawler.java:54)
at org.sonar.server.computation.task.projectanalysis.component.DepthTraversalTypeAwareCrawler.visit(DepthTraversalTypeAwareCrawler.java:39)
at org.sonar.server.computation.task.projectanalysis.step.DuplicationDataMeasuresStep.execute(DuplicationDataMeasuresStep.java:67)
at org.sonar.server.computation.task.step.ComputationStepExecutor.executeSteps(ComputationStepExecutor.java:64)
at org.sonar.server.computation.task.step.ComputationStepExecutor.execute(ComputationStepExecutor.java:52)
at org.sonar.server.computation.task.projectanalysis.taskprocessor.ReportTaskProcessor.process(ReportTaskProcessor.java:75)
at org.sonar.ce.taskprocessor.CeWorkerImpl.executeTask(CeWorkerImpl.java:92)
at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:59)
at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:35)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)

This week we also updated Java to version 8 update 144

Not sure what's happing and where the fault lies, hopefully this wil be our only project with issues (building another now but that one takes three hours)

With king regards,

Valentijn

G. Ann Campbell

unread,
Aug 11, 2017, 9:14:32 AM8/11/17
to SonarQube, vmak...@gmail.com
Hi Valentijn,

For the background task problem, it sounds like you need to tweak the memory allocations in $SONARQUBE_HOME/conf/sonar.properties, specifically the "-Xmx" value of sonar.ce.javaOpts. It looks like this is commented out by default - so you get default memory settings. Uncomment that setting and adjust the values. Since you appear to be in a .NET shop, you may find this SO post about Xmx interesting.


HTH,
Ann

vmak...@gmail.com

unread,
Aug 14, 2017, 4:03:30 AM8/14/17
to SonarQube, vmak...@gmail.com
Hi,

Here an update.

Changing the memory parameters didn't solve the background task problem. (I want up as high as 8Gb for -Xmx)
In  the end I ended up excluding a number of Javascript libraries which don't really need to be analyzed.

When everything worked again I redid the earlier code change and this time there is no exception
Don't really understand what was going on but the problems seemed to be solved now


Kind regards,

Valentijn
 
Reply all
Reply to author
Forward
0 new messages