Scanner report size issue

Hi SonarQube Community,

We are developing our own custom plugin to parse and analyze XML files (to be more specific, webMethods language files). For that, we use Maven and sonar-maven-plugin to scan files and send results to the server. We have a lot of files to parse and analyze (a few Gbs in total). On the client side, everything works just fine - maven does its job without (bigger) issues in 20 mins. But on the server side we are facing the below error

Error Details
java.lang.IllegalStateException: Decompression failed because unzipped size reached threshold: 4000000000 bytes
	at org.sonar.api.utils.ZipUtils.extractZipEntry(ZipUtils.java:150)
	at org.sonar.api.utils.ZipUtils.unzip(ZipUtils.java:132)
	at org.sonar.api.utils.ZipUtils.unzip(ZipUtils.java:87)
	at org.sonar.ce.task.projectanalysis.step.ExtractReportStep.execute(ExtractReportStep.java:72)
	at org.sonar.ce.task.step.ComputationStepExecutor.executeStep(ComputationStepExecutor.java:79)
	at org.sonar.ce.task.step.ComputationStepExecutor.executeSteps(ComputationStepExecutor.java:70)
	at org.sonar.ce.task.step.ComputationStepExecutor.execute(ComputationStepExecutor.java:57)
	at org.sonar.ce.task.projectanalysis.taskprocessor.ReportTaskProcessor.process(ReportTaskProcessor.java:75)
	at org.sonar.ce.taskprocessor.CeWorkerImpl$ExecuteTask.executeTask(CeWorkerImpl.java:212)
	at org.sonar.ce.taskprocessor.CeWorkerImpl$ExecuteTask.run(CeWorkerImpl.java:194)
	at org.sonar.ce.taskprocessor.CeWorkerImpl.findAndProcessTask(CeWorkerImpl.java:160)
	at org.sonar.ce.taskprocessor.CeWorkerImpl$TrackRunningState.get(CeWorkerImpl.java:135)
	at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:87)
	at org.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:53)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)

I believe this error is related to the change introduced in the [SONAR-17183] - Jira

How can we mitigate/workaround this issue?

  • Versions we are using
    • SonarQube - 9.9.0.65466
    • Plugin - org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184
  • SonarQube is deployed locally as a Docker container (FROM sonarqube:9.9.0-community)

Hey there.

I think the quickest/only workaround would be to split your project into several projects by narrowing the focus so that the scanner report doesn’t exceed 4GB.

Hi Colin ,

Thanks for your (quick!) reply. And what is the suggested, proper solution?