Sonarqube not extracting the report. Each time it returns different errors

Hi

I’ve just installed the sonarqube community edition by using the docker-compose present in this url

docker-compose config

services:
  sonarqube:
    image: sonarqube:community
    depends_on:
      - db
    environment:
      SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
      SONAR_JDBC_USERNAME: sonar
      SONAR_JDBC_PASSWORD: sonar
    volumes:
      - sonarqube_data:/opt/sonarqube/data
      - sonarqube_extensions:/opt/sonarqube/extensions
      - sonarqube_logs:/opt/sonarqube/logs
    ports:
      - "9000:9000"
  db:
    image: postgres:12
    environment:
      POSTGRES_USER: sonar
      POSTGRES_PASSWORD: sonar
    volumes:
      - postgresql:/var/lib/postgresql
      - postgresql_data:/var/lib/postgresql/data

volumes:
  sonarqube_data:
  sonarqube_extensions:
  sonarqube_logs:
  postgresql:
  postgresql_data:

Maven Plugin Used on my project

    <plugin>
        <groupId>org.sonarsource.scanner.maven</groupId>
        <artifactId>sonar-maven-plugin</artifactId>
        <version>4.0.0.4121</version>
    </plugin>

Local machine’s JDK version

openjdk version "17.0.11" 2024-04-16
OpenJDK Runtime Environment Homebrew (build 17.0.11+0)
OpenJDK 64-Bit Server VM Homebrew (build 17.0.11+0, mixed mode, sharing)

Snippet of maven build logs

--------------------------------------------------------------------------
[INFO] 01:32:57.184 CPD Executor 256 files had no CPD blocks
[INFO] 01:32:57.184 CPD Executor Calculating CPD for 412 files
[INFO] 01:32:57.222 CPD Executor CPD calculation finished (done) | time=38ms
[INFO] 01:32:57.225 SCM revision ID 'd3e5f14972da5f7bf4c5862e745a780b85f30c06'
[INFO] 01:32:57.415 Analysis report generated in 158ms, dir size=4.3 MB
[INFO] 01:32:58.481 Analysis report compressed in 1066ms, zip size=2.2 MB
[INFO] 01:33:01.571 Analysis report uploaded in 3088ms
[INFO] 01:33:01.574 ANALYSIS SUCCESSFUL, you can find the results at: http://<remote-domain>:9000/dashboard?id=com.tlc%3Acomponents
[INFO] 01:33:01.574 Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
[INFO] 01:33:01.574 More about the report processing at http://<remote-domain>:9000/api/ce/task?id=05d84e43-ad79-42b4-bf70-27a056960666
[INFO] 01:33:01.854 Analysis total time: 22.967 s

--------------------------------------------------------------------------

Report processing is failed each time and i can see different errors

Error 1 - Relate to above build log

java.lang.IllegalArgumentException: malformed input off : 2, length : 1
	at java.base/java.lang.String.throwMalformed(Unknown Source)
	at java.base/java.lang.String.decodeUTF8_UTF16(Unknown Source)
	at java.base/java.lang.String.newStringUTF8NoRepl(Unknown Source)
	at java.base/java.lang.System$2.newStringUTF8NoRepl(Unknown Source)
	at java.base/java.util.zip.ZipCoder$UTF8ZipCoder.toString(Unknown Source)
	at java.base/java.util.zip.ZipCoder.toStringUTF8(Unknown Source)
	at java.base/java.util.zip.ZipInputStream.readLOC(Unknown Source)
	at java.base/java.util.zip.ZipInputStream.getNextEntry(Unknown Source)
	at org.sonar.api.utils.ZipUtils.unzip(ZipUtils.java:125)
	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:76)
	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)
Caused by: java.nio.charset.MalformedInputException: Input length = 1
	... 30 more

Error -2 Sometimes I got below error

Error Details
java.lang.IllegalStateException: Fail to extract report b19c1b16-db4c-4668-b2fe-fb549bec381c from database
	at org.sonar.ce.task.projectanalysis.step.ExtractReportStep.execute(ExtractReportStep.java:74)
	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:76)
	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)
Caused by: java.util.zip.ZipException: invalid distance too far back
	at java.base/java.util.zip.InflaterInputStream.read(Unknown Source)
	at java.base/java.util.zip.ZipInputStream.read(Unknown Source)
	at java.base/java.io.FilterInputStream.read(Unknown Source)
	at org.sonar.api.utils.ZipUtils.extractZipEntry(ZipUtils.java:146)
	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)
	... 19 more

Additional Information

1. If i push small projects from my laptop, i could see the results in sonarqube. [Original Size: 210.1KB, compressed size: 27.3KB]
2. I have even used the docker image's tag as lts-community by removing all volumes and all. Still the same issue happening.

Please help me to resolve this issue…

Hey there.

This is a tricky one, as the error message implies some corruption going on somewhere.

  • Are the logs you shared also coming from builds on your laptop?
  • Is size really the determining factor here? If you clone an open-source project like sonar-php and run mvn clean package sonar:sonar (and any necessary credentials), does it process?

Some other (potential) things that could be causing some projects to process successfully and others not

  • Different file paths (like if your home directory contains a weird character)
  • Different languages
  • Different scanner (here you’re using the Scanner for Maven. Are the successful projects also using Maven?)