Corrupted characters in build-wrapper-dump.json

Hello,

I have an issue with compiling a project using the sonar wrapper that results in corrupted characters in the build-wrapper-dump.json. This fails the build with the following error:

ERROR: Error during SonarScanner execution 11:07:40 com.google.gson.JsonSyntaxException: java.nio.charset.MalformedInputException: Input length = 3 11:07:40 at com.google.gson.Gson.fromJson(Gson.java:1229) 11:07:40 at com.google.gson.Gson.fromJson(Gson.java:1173) 11:07:40 at com.sonar.cpp.plugin.BuildWrapperJsonReader.readCaptures(BuildWrapperJsonReader.java:85) 11:07:40 at com.sonar.cpp.plugin.CFamilySensor.process(CFamilySensor.java:905) 11:07:40 at com.sonar.cpp.plugin.CFamilySensor.process(CFamilySensor.java:410) 11:07:40 at com.sonar.cpp.plugin.CFamilySensor.execute(CFamilySensor.java:215) 11:07:40 at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:64) 11:07:40 at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:88) 11:07:40 at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:64) 11:07:40 at org.sonar.scanner.scan.SpringModuleScanContainer.doAfterStart(SpringModuleScanContainer.java:82) 11:07:40 at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188) 11:07:40 at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167) 11:07:40 at org.sonar.scanner.scan.SpringProjectScanContainer.scan(SpringProjectScanContainer.java:403) 11:07:40 at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:399) 11:07:40 at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:368) 11:07:40 at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188) 11:07:40 at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167) 11:07:40 at org.sonar.scanner.bootstrap.SpringGlobalContainer.doAfterStart(SpringGlobalContainer.java:137) 11:07:40 at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188) 11:07:40 at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167) 11:07:40 at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72) 11:07:40 at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66) 11:07:40 at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46) 11:07:40 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 11:07:40 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 11:07:40 at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 11:07:40 at java.base/java.lang.reflect.Method.invoke(Unknown Source) 11:07:40 at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60) 11:07:40 at com.sun.proxy.$Proxy0.execute(Unknown Source) 11:07:40 at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189) 11:07:40 at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138) 11:07:40 at org.sonarsource.scanner.cli.Main.execute(Main.java:126) 11:07:40 at org.sonarsource.scanner.cli.Main.execute(Main.java:81) 11:07:40 at org.sonarsource.scanner.cli.Main.main(Main.java:62) 11:07:40 Caused by: java.nio.charset.MalformedInputException: Input length = 3 11:07:40 at java.base/java.nio.charset.CoderResult.throwException(Unknown Source) 11:07:40 at java.base/sun.nio.cs.StreamDecoder.implRead(Unknown Source) 11:07:40 at java.base/sun.nio.cs.StreamDecoder.read(Unknown Source) 11:07:40 at java.base/java.io.InputStreamReader.read(Unknown Source) 11:07:40 at java.base/java.io.BufferedReader.fill(Unknown Source) 11:07:40 at java.base/java.io.BufferedReader.read1(Unknown Source) 11:07:40 at java.base/java.io.BufferedReader.read(Unknown Source) 11:07:40 at com.google.gson.stream.JsonReader.fillBuffer(JsonReader.java:1349) 11:07:40 at com.google.gson.stream.JsonReader.nextQuotedValue(JsonReader.java:1041) 11:07:40 at com.google.gson.stream.JsonReader.nextString(JsonReader.java:824) 11:07:40 at com.google.gson.internal.bind.TypeAdapters$15.read(TypeAdapters.java:421) 11:07:40 at com.google.gson.internal.bind.TypeAdapters$15.read(TypeAdapters.java:409) 11:07:40 at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40) 11:07:40 at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82) 11:07:40 at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) 11:07:40 at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.readIntoField(ReflectiveTypeAdapterFactory.java:212) 11:07:40 at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:431) 11:07:40 at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:391) 11:07:40 at com.google.gson.Gson.fromJson(Gson.java:1214) 11:07:40 … 33 more

Must-share information (formatted with Markdown):

  • which versions are you using: SonarQube 9.9.0.65466
  • how is SonarQube deployed: Jenkins
  • what are you trying to achieve: Successful build
  • what have you tried so far to achieve this:
    Updated to the latest build wrapper and sonar scanner, tried a similar workaround from this thread: Error during SonarQube Scanner execution - Caused by: Input length = 1 - #7 by jtbaird .
    This is an issue that is happening sporadically, on some dev branches, but not others. Updating the sonar wrapper fixed the issue for some branches, but not all of them. I have also run the build with -X enabled, but there was no additional information that would help in this case.

Do not share screenshots of logs – share the text itself (bonus points for being well-formatted)!

Here is the end of the build-wrapper-dump.json:
“,\n"IDENTITY_ENDPOINT=http:\/\/loca⦕봁஥ᄀ鼠䙩˓”,
“寠䙟˓”,
"/met

I can provide additional logs in private if needed

Best Regards,
Mihai

Hello @kvg, and welcome to the community,

I will send you a private message so you can send both build-wrapper-dump.json and the logs. There is probably either a file name or environment variable with an unsupported encoding, but let’s verify first.

Thanks for the report. I have logged [CPP-4196] - Jira

Thanks to @kvg we have been able to identify that this issue can happen in Windows 2016 Server for relatively big environment blocks. Windows 11 is unaffected.

This will be fixed in a future release of the CFamily sensor.