Unterminated array error in CFamilySensor

SonarQube: Version 7.7 (build 23042)
SonarQube Scanner 3.3.0.1492
CFamily 6.1 (build 11021)

Execution error due:

0:59:28.747 ERROR: Error during SonarQube Scanner execution
java.lang.IllegalStateException: com.google.gson.stream.MalformedJsonException: Unterminated array at line 15 column 1976
        at com.sonar.cpp.plugin.CFamilySensor.process(CFamilySensor.java:283)
        at com.sonar.cpp.plugin.CFamilySensor.execute(CFamilySensor.java:198)
        at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:48)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:85)
        at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:62)
        at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:82)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
        at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:359)
        at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:354)
        at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:317)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
        at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:128)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
        at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:73)
        at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67)
        at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
        at com.sun.proxy.$Proxy0.execute(Unknown Source)
        at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:185)
        at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:137)
        at org.sonarsource.scanner.cli.Main.execute(Main.java:111)
        at org.sonarsource.scanner.cli.Main.execute(Main.java:75)
        at org.sonarsource.scanner.cli.Main.main(Main.java:61)
Caused by: com.google.gson.stream.MalformedJsonException: Unterminated array at line 15 column 1976
        at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1505)
        at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:465)
        at com.google.gson.stream.JsonReader.hasNext(JsonReader.java:403)
        at com.sonar.cpp.plugin.CFamilySensor.process(CFamilySensor.java:254)

Unfortunately I can’t provide a way to reporduce, but I can define a couple of features of our project:

  • It contains ~30 modules
  • It uses report from build-wrapper
    In the report build log I’ve seen some Java Scanner errors, but those didn’t stop execution (also disabling JavaScanner didn’t help):
org.sonar.java.se.ExplodedGraphWalker$MaximumStepsReachedException: reached limit of 16000 steps for method onTouchEvent#373 in class GameView
        at org.sonar.java.se.ExplodedGraphWalker.throwMaxSteps(ExplodedGraphWalker.java:297)
        at org.sonar.java.se.ExplodedGraphWalker.execute(ExplodedGraphWalker.java:236)
        at org.sonar.java.se.ExplodedGraphWalker.visitMethod(ExplodedGraphWalker.java:209)
        at org.sonar.java.se.ExplodedGraphWalker.visitMethod(ExplodedGraphWalker.java:201)
        at org.sonar.java.se.SymbolicExecutionVisitor.execute(SymbolicExecutionVisitor.java:78)
        at org.sonar.java.se.SymbolicExecutionVisitor.visitNode(SymbolicExecutionVisitor.java:64)
        at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:103)
        at org.sonar.java.ast.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:128)
        at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:105)
        at org.sonar.java.ast.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:128)
        at org.sonar.java.ast.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:105)
        at org.sonar.java.ast.visitors.SubscriptionVisitor.scanTree(SubscriptionVisitor.java:86)
        at org.sonar.java.ast.visitors.SubscriptionVisitor.scanFile(SubscriptionVisitor.java:72)
        at org.sonar.java.se.SymbolicExecutionVisitor.scanFile(SymbolicExecutionVisitor.java:54)
        at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:148)
        at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:136)
        at org.sonar.java.ast.JavaAstScanner.simpleScan(JavaAstScanner.java:96)
        at org.sonar.java.ast.JavaAstScanner.scan(JavaAstScanner.java:68)
        at org.sonar.java.JavaSquid.scanSources(JavaSquid.java:113)
        at org.sonar.java.JavaSquid.scan(JavaSquid.java:107)

Hi @piotr.paczkowski,

did your build succeeded? The following error is probably due to the fact that the build-wrapper-dump.json file has not been properly finalised not being a valid json, this can happen if the build has not succeded.

Could you make sure that the build-wrapper + build command returns successfully?

Regarding

nothing to be worried about, you can ignore these messages.

Good call, I had build-wrapper-dump.json but because of some reason JSON was malformed. Looked like problem could be connected with executing make with several processes, but I wasn’t able to reproduce it further. Case closed, I have working report.
(maybe can you please add some error log which indicates where to look for an error?)

Cheers!

1 Like

Hi @piotr.paczkowski,

thank you for your answer, we may look at improving error reporting in case of malformed json: CPP-2226.