Sonar Scan is failing on gradle multi-module project (Error 500 on https://api.sonarcloud.io)

Hi,

As part of our CI/CD pipelines, we scan our backend code (Java) using the org.sonarqube gradle plugin (version 3.3). We have a multi-module Gradle project, and everything was working just fine until 2 days ago, when suddenly the scan stopped working with the following error:

2025-10-02T13:12:00.339+0000 [ERROR] [org.sonarsource.scanner.lib.internal.facade.forked.ScannerEngineLauncher] Error during SonarScanner Engine execution
java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.report.MetadataPublisher
	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:52)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:621)
	at org.picocontainer.parameters.CollectionComponentParameter.getArrayInstance(CollectionComponentParameter.java:334)
	at org.picocontainer.parameters.CollectionComponentParameter.access$100(CollectionComponentParameter.java:49)
	at org.picocontainer.parameters.CollectionComponentParameter$1.resolveInstance(CollectionComponentParameter.java:139)
	at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:141)
	at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
	at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
	at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
	at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
	at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
	at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
	at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
	at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
	at org.picocontainer.DefaultPicoContainer.instantiateComponentAsIsStartable(DefaultPicoContainer.java:1034)
	at org.picocontainer.DefaultPicoContainer.addAdapterIfStartable(DefaultPicoContainer.java:1026)
	at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1003)
	at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:767)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:122)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
	at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:128)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
	at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
	at org.sonar.scanner.bootstrap.ScannerMain.runScannerEngine(ScannerMain.java:143)
	at org.sonar.scanner.bootstrap.ScannerMain.run(ScannerMain.java:58)
	at org.sonar.scanner.bootstrap.ScannerMain.main(ScannerMain.java:42)
Caused by: java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.analysis.Analysis
	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:52)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:632)
	at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
	at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
	at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
	at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
	at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
	at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
	at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
	at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
	at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
	at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
	at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647)
	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:50)
	... 25 common frames omitted
Caused by: java.lang.IllegalStateException: Unable to create analysis
	at org.sonar.scanner.analysis.AnalysisCreator.load(AnalysisCreator.java:129)
	at org.sonar.scanner.analysis.AnalysisCreator.createAnalysis(AnalysisCreator.java:92)
	at org.sonar.scanner.analysis.AnalysisCreator.create(AnalysisCreator.java:84)
	at java.base/java.util.Optional.orElseGet(Unknown Source)
	at org.sonar.scanner.analysis.AnalysisProvider.provide(AnalysisProvider.java:19)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.picocontainer.injectors.MethodInjector.invokeMethod(MethodInjector.java:129)
	at org.picocontainer.injectors.MethodInjector.access$000(MethodInjector.java:39)
	at org.picocontainer.injectors.MethodInjector$2.run(MethodInjector.java:113)
	at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
	at org.picocontainer.injectors.MethodInjector.decorateComponentInstance(MethodInjector.java:120)
	at org.picocontainer.injectors.CompositeInjector.decorateComponentInstance(CompositeInjector.java:58)
	at org.picocontainer.injectors.Reinjector.reinject(Reinjector.java:142)
	at org.picocontainer.injectors.ProviderAdapter.getComponentInstance(ProviderAdapter.java:96)
	at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699)
	at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647)
	at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:50)
	... 39 common frames omitted
Caused by: com.sonarsource.scanner.engine.webapi.client.HttpException: Error 500 on https://api.sonarcloud.io/analysis/analyses : 
	at com.sonarsource.scanner.engine.webapi.client.BaseResponse.failIfNotSuccessful(BaseResponse.java:22)
	at org.sonar.scanner.http.DefaultScannerWsClient.failIfUnauthorized(DefaultScannerWsClient.java:82)
	at org.sonar.scanner.http.DefaultScannerWsClient.call(DefaultScannerWsClient.java:55)
	at org.sonar.scanner.analysis.AnalysisCreator.load(AnalysisCreator.java:125)
	... 58 common frames omitted
2025-10-02T13:12:00.871+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
2025-10-02T13:12:00.872+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception.
2025-10-02T13:12:00.872+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
2025-10-02T13:12:00.872+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong:
2025-10-02T13:12:00.872+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Execution failed for task ':sonar'.
2025-10-02T13:12:00.872+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > The analysis has failed! See the logs for more details.
2025-10-02T13:12:00.872+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
2025-10-02T13:12:00.872+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Try:
2025-10-02T13:12:00.872+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Run with --stacktrace option to get the stack trace.
2025-10-02T13:12:00.872+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Run with --scan to get full insights.
2025-10-02T13:12:00.872+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Get more help at https://help.gradle.org.
2025-10-02T13:12:00.873+0000 [ERROR] [org.gradle.internal.buildevents.BuildResultLogger] 
2025-10-02T13:12:00.873+0000 [ERROR] [org.gradle.internal.buildevents.BuildResultLogger] BUILD FAILED in 1m 27s

After this error, we tried to run the scan again, and I would say after 2 hours it start working again, but at the end of the day, it stopped working, again. Now it is still not working.

We tried upgrading the gradle plugin to version 6.3.1.5724, but it didn’t do anything; the error is still there.

Any idea what could be happening? Any help would be much appreciated.

I also saw the same error on this topic: Cannot create scan with "Ignore issues on blocks" config . Not sure if the issues are related.

Thank you,

Liviu

We’ve the same issue Our Azure DevOps pipeline fails when the Sonar Maven scanner tries to create the analysis. I can reproduce the same failure locally, so this doesn’t look environment-specific.

  • CI & Local: Azure DevOps Maven task and local run show identical behavior.
    Command used locally:
    mvn -Psonar-local,sonar-mvn311 -Dsonar.verbose=true clean verify sonar:sonar

  • Env (local): Maven 3.8.7, Java 21.0.8, Ubuntu/WSL2. Tried sonar-maven-plugin 5.0.0.4389 and 3.11.0.3922 — same result.

  • What works:
    Auth OK (/api/authentication/validate{"valid":true})
    Project visible (/api/projects/search 200)
    Scanner loads settings/branches/quality profiles (200s)
    Build/tests/JaCoCo all pass.

  • What fails:
    During Create analysis, scanner calls:

    POST https://api.sonarcloud.io/analysis/analyses
    → HTTP 500 (empty body)
    
    

    Log excerpt:

    CreateAnalysisRequest[organizationKey=org-cerc-key, projectKey=interop-controlbase-relation-sender, projectVersion=0.0.1-SNAPSHOT, branchName=main, ...]
    Error: Unable to create analysis: HttpException: Error 500 on /analysis/analyses
    
    
  • Ask: Could you check server-side logs for this POST /analysis/analyses and confirm if there’s a known incident or a condition on the service that returns 500 for private projects (possibly when NOT_BOUND)?
    If there’s a required setting (org/project/branch/ALM binding) we’re missing that would avoid this 500, please advise.

[INFO] Load quality profiles
[DEBUG] --> GET https://sonarcloud.io/api/qualityprofiles/search.protobuf?projectKey=project-xpto&organization=org-xpto
[DEBUG] <-- 200 https://sonarcloud.io/api/qualityprofiles/search.protobuf?projectKey=project-xpto&organization=org-xpto (706ms, 5547-byte body)
[INFO] Load quality profiles (done) | time=735ms
[DEBUG] ScaApiWsClient url: https://api.sonarcloud.io
[DEBUG] Initialize GenericWsClient
[INFO] Create analysis
[DEBUG] Create analysis with parameters CreateAnalysisRequest[organizationKey=org-xpto, projectKey=project-xpto, projectVersion=0.0.1-SNAPSHOT, branchName=main, pullRequestKey=null, referenceBranchId=c69f057d-a277-4e8f-8751-4bab8b996668, analysisId=null]
[DEBUG] --> POST https://api.sonarcloud.io/analysis/analyses (198-byte body)
[DEBUG] <-- 500 https://api.sonarcloud.io/analysis/analyses (438ms, 0-byte body)
[DEBUG] Cleanup org.eclipse.jgit.util.FS$FileStoreAttributes$$Lambda$245/0x00007fd5642c6000@644abb8f during JVM shutdown
[ERROR] Error during SonarScanner Engine execution
java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.report.MetadataPublisher
        at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:52)
        at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:621)
        at org.picocontainer.parameters.CollectionComponentParameter.getArrayInstance(CollectionComponentParameter.java:334)
        at org.picocontainer.parameters.CollectionComponentParameter.access$100(CollectionComponentParameter.java:49)
        at org.picocontainer.parameters.CollectionComponentParameter$1.resolveInstance(CollectionComponentParameter.java:139)
        at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:141)
        at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
        at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
        at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
        at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
        at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
        at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
        at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
        at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
        at org.picocontainer.DefaultPicoContainer.instantiateComponentAsIsStartable(DefaultPicoContainer.java:1034)
        at org.picocontainer.DefaultPicoContainer.addAdapterIfStartable(DefaultPicoContainer.java:1026)
        at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1003)
        at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:767)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:122)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
        at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:128)
        at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
        at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:109)
        at org.sonar.scanner.bootstrap.ScannerMain.runScannerEngine(ScannerMain.java:143)
        at org.sonar.scanner.bootstrap.ScannerMain.run(ScannerMain.java:58)
        at org.sonar.scanner.bootstrap.ScannerMain.main(ScannerMain.java:42)
Caused by: java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.analysis.Analysis
        at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:52)
        at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:632)
        at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:118)
        at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136)
        at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:78)
        at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:309)
        at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:335)
        at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
        at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364)
        at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
        at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
        at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
        at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699)
        at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647)
        at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:50)
        ... 25 common frames omitted
Caused by: java.lang.IllegalStateException: Unable to create analysis
        at org.sonar.scanner.analysis.AnalysisCreator.load(AnalysisCreator.java:129)
        at org.sonar.scanner.analysis.AnalysisCreator.createAnalysis(AnalysisCreator.java:92)
        at org.sonar.scanner.analysis.AnalysisCreator.create(AnalysisCreator.java:84)
        at java.base/java.util.Optional.orElseGet(Unknown Source)
        at org.sonar.scanner.analysis.AnalysisProvider.provide(AnalysisProvider.java:19)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.picocontainer.injectors.MethodInjector.invokeMethod(MethodInjector.java:129)
        at org.picocontainer.injectors.MethodInjector.access$000(MethodInjector.java:39)
        at org.picocontainer.injectors.MethodInjector$2.run(MethodInjector.java:113)
        at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270)
        at org.picocontainer.injectors.MethodInjector.decorateComponentInstance(MethodInjector.java:120)
        at org.picocontainer.injectors.CompositeInjector.decorateComponentInstance(CompositeInjector.java:58)
        at org.picocontainer.injectors.Reinjector.reinject(Reinjector.java:142)
        at org.picocontainer.injectors.ProviderAdapter.getComponentInstance(ProviderAdapter.java:96)
        at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:699)
        at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:647)
        at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:50)
        ... 39 common frames omitted
Caused by: com.sonarsource.scanner.engine.webapi.client.HttpException: Error 500 on https://api.sonarcloud.io/analysis/analyses :
        at com.sonarsource.scanner.engine.webapi.client.BaseResponse.failIfNotSuccessful(BaseResponse.java:22)
        at org.sonar.scanner.http.DefaultScannerWsClient.failIfUnauthorized(DefaultScannerWsClient.java:82)
        at org.sonar.scanner.http.DefaultScannerWsClient.call(DefaultScannerWsClient.java:55)
        at org.sonar.scanner.analysis.AnalysisCreator.load(AnalysisCreator.java:125)
        ... 58 common frames omitted

[DEBUG] Java command exited with code 1
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  29.919 s
[INFO] Finished at: 2025-10-02T15:54:41-03:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:5.0.0.4389:sonar (default-cli) on project project-xpto: Analysis failed -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:5.0.0.4389:sonar (default-cli) on project project-xpto: Analysis failed
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:375)


Hi,

Welcome to the community and thanks for this report!

Does either of you have exclusions configured, either in the UI or via properties?

 
Thx,
Ann

On the pom.xml file no, but in my sonar template, I’ve this block command per standard:

echo -e “${BLUE}[+] Gerando sonar-scanner - $blang${DEFAULT}”
echo ’
sonar.host.url=https://sonarcloud.io
sonar.organization=org-xpto
sonar.coverage.jacoco.xmlReportPaths=‘$java_cov’
sonar.java.binaries=./target/classes
sonar.javascript.lcov.reportPaths=‘$npm_cov’
sonar.projectKey=‘$projectKey’
sonar.sources=./
sonar.exclusions=charts/**,*.yaml,*.yml,test/**,tests/**,src/tests/**,mocks/**,coverage/**,src/config/**,helm/**,src/components/**,*.json,**/node_modules/**,*config.js,*.conf,*.md,*.config.cjs,Dockerfile,commitlint.config.js,commitlint.config.cjs,scripts/**
’ | sed -e 's/^[\[:space:\]]*//’ -e ‘/^$/d’ | sed ‘1 i\’ >>sonar-project.properties
sed -i ‘/^$/d’ sonar-project.properties
# Sobrescreve opções do sonar-project.properties configuradas no projeto
OverwriteSonarProp sonar-project.properties
echo -e “${YELLOW}#############################################################################”
cat sonar-project.properties
echo -e “${YELLOW}#############################################################################”
echo -e “${BLUE}[+] Iniciando scanner…${DEFAULT}”
sonar=$(find /opt/ -type d -name "sonar-scanner-*" | grep “-linux”)
bash $sonar/bin/sonar-scanner

Hi,

Thanks for your configs.

I should have been more precise. :woman_facepalming: It doesn’t look like you have specific issue exclusions here. And I think that’s what I needed to know.

Unfortunately, I don’t have a fix for you now, but we’ll be on this first thing in the (European) morning.

 
Thx,
Ann

Hi there,

As per the other thread mentioned here, we deployed a fix. Please let us know if you still see the issue.

Thank you so much for your help. I can confirm the issue has been fixed.

Have a great day.