Error 404 on {"errors":[{"msg":"Unknown url : /api/v2/analysis/active-rules"}]}

Must share information:

  • ALM used: GitHub
  • CI system used: GitHub Actions
  • Scanner command used when applicable:
  • ./gradlew sonar
  • Gradle plugin version: tried with both 6.2.0.5505 and 6.0.1.5171
  • Languages of the repository: java, kotlin and typescript
  • Error observed
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':sonar'.
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:148)
	at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:146)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:134)
	at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
	at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74)
	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
	at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314)
	at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:80)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:463)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:380)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47)
Caused by: org.sonarqube.gradle.AnalysisException: java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.report.ActiveRulesPublisher
	at org.sonarqube.gradle.SonarTask.run(SonarTask.java:148)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:58)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
	at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:248)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
	at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:233)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:463)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:380)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47)
Caused by: java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.report.ActiveRulesPublisher
	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.batch.bootstrapper.Batch.doExecute(Batch.java:58)
	at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:52)
	at org.sonarsource.scanner.lib.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:41)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at org.sonarsource.scanner.lib.internal.facade.inprocess.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:62)
	at jdk.proxy5/jdk.proxy5.$Proxy127.execute(Unknown Source)
	at org.sonarsource.scanner.lib.internal.facade.inprocess.InProcessScannerEngineFacade.doAnalyze(InProcessScannerEngineFacade.java:38)
	at org.sonarsource.scanner.lib.internal.facade.AbstractScannerEngineFacade.analyze(AbstractScannerEngineFacade.java:65)
	at org.sonarqube.gradle.SonarTask.run(SonarTask.java:140)
	... 120 more
Caused by: java.lang.IllegalStateException: Unable to load component class org.sonar.api.batch.rule.internal.DefaultActiveRules
	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)
	... 151 more
Caused by: java.lang.IllegalStateException: Unable to load active rules
	at org.sonar.scanner.rule.DefaultActiveRulesLoader.load(DefaultActiveRulesLoader.java:52)
	at org.sonar.scanner.rule.ActiveRulesProvider.load(ActiveRulesProvider.java:58)
	at org.sonar.scanner.rule.ActiveRulesProvider.provide(ActiveRulesProvider.java:49)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	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)
	... 165 more
Caused by: com.sonarsource.scanner.engine.webapi.client.HttpException: Error 404 on https://sonarcloud.io/api/v2/analysis/active-rules?organization=<redacted>&project=<redacted> : {"errors":[{"msg":"Unknown url : /api/v2/analysis/active-rules"}]}
	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.rule.DefaultActiveRulesLoader.load(DefaultActiveRulesLoader.java:48)
	... 179 more

Our project is constantly getting the exception above whenever we try to run any analysis.

I redacted the organization and project name from the url in the exception above, but it is basically calling out the url:
https://sonarcloud.io/api/v2/analysis/active-rules?organization=&project=

It will return the same message as indicating in the exception that it is an unknown url.

Checking the status page, everything seems operational.

Is it something in my project? Previous runs from yesterday were fine.

2 Likes

We are experiencing similar issues. It seems that there was an update on the Server earlier today, right before the issue occurred, from SonarQube Server 8.0.0.65350 to SonarQube Server 8.0.0.65365 and all jobs started failing with this error message:

Caused by: com.sonarsource.scanner.engine.webapi.client.HttpException: Error 404 on ***api/v2/analysis/active-rules?organization=****&project=**** : {"errors":[{"msg":"Unknown url : /api/v2/analysis/active-rules"}]}
2 Likes

Hi all,

Thanks for these reports. We’re looking into this, and more info would be immensely helpful

@John_Economidis are you also seeing this in a Gradle analysis? Only in Gradle analysis?

Could both of you share your analysis commands and configuration? In particular, I’m interested in your host URL specification.

Also @afmjr what version of the GitHub action are you using? (Your full pipeline w/r/t analysis would be helpful :pleading_face:)

 
Thx,
Ann

Hi again,

We believe this is due to having a trailing slash in your host value. E.G. sonar.host.url=https://sonarcloud.io/ (versus sonar.host.url=https://sonarcloud.io with no slash).

We’re assessing the fix. In the meantime, a workaround would be to update your configuration to drop any trailing slash.

 
Ann

@ganncamp We are running on GitHub runners version 2.324.0.

The command I’m running is simply:

./gradlew sonar

And inside build.gradle, we have the following setup:

sonar {
    properties {
        property "sonar.host.url", "https://sonarcloud.io/"

        // Organization, ProjectKey and Token
        property "sonar.organization", "<organization - redacted>"
        property "sonar.projectKey", "<project key - redacted>"
        property "sonar.projectName", "<project name - redacted>"
        property "sonar.token", project.findProperty("sonar.token.backend") ?: System.getenv("SONAR_TOKEN")

        // Set project version
        property "sonar.projectVersion", project.findProperty("system.version")

        // Set data for Pull Request analysis
        property "sonar.pullrequest.key", System.getenv("PULL_REQUEST_NUMBER") ?: ''
        property "sonar.pullrequest.branch", System.getenv("PULL_REQUEST_SOURCE_BRANCH") ?: ''
        property "sonar.pullrequest.base", System.getenv("PULL_REQUEST_TARGET_BRANCH") ?: ''

        // Log level to INFO so we can get more details if we get any issue with the analysis
        property "sonar.log.level", "INFO"

        // Main sources
        property "sonar.sources", "src"

        // Test Sources, but we also limit to just the ones that are under **/test/** folder/package
        property "sonar.tests", "src"
        property "sonar.test.inclusions", "**/test/**"

        // Source for Coverage reports
        if (System.getProperty("coverageReport") != null) {
            property "sonar.coverage.jacoco.xmlReportPaths", System.getProperty("coverageReport", project.rootDir.absolutePath) + "/**/codeCoverageReport.xml"
        } else {
            property "sonar.coverage.exclusions", "**/*"
        }

        // Source for Checkstyle reports
        property "sonar.java.checkstyle.reportPaths", getCheckstyleReportPaths()

        // Source for Test reports
        property "sonar.junit.reportPaths", getTestReportPaths()
    }
}

And before running ./gradlew sonar, we also run a ./gradlew build.

1 Like

Hi,

Thanks for the configuration @afmjr.

BTW, I wanted to mention that https://sonarcloud.io is the default now, so dropping sonar.host.url altogether is another option.

 
Ann

1 Like

Hi again,

We’re working on the fix. It should be deployed tomorrow. (Possibly today. :crossed_fingers:)

 
Ann

Hey Ann,

The suggested workaround (removing the trailing slash from the sonar host url) worked for us.

Thanks!

2 Likes

I just tested the workaround to remove the trailing slash, and it worked.
Also tested simply removing the config to set the host, and it also worked.

2 Likes

We’re seeing this exact same issue:

##[error]Caused by: com.sonarsource.scanner.engine.webapi.client.HttpException: Error 404 on https://api.sonarcloud.io/analysis/active-rules?organization=+***-cloud-key-a42w31&project=Project-name :
Caused by: com.sonarsource.scanner.engine.webapi.client.HttpException: Error 404 on https://api.sonarcloud.io/analysis/active-rules?organization=+***-cloud-key-a42w31&project=Project-name

Using the Azure DevOps task, SonarCloudAnalyze@3, there is no option to remove the trailing / ?

Hi @CDH,

Welcome to the community and thanks for this report!

In the ADO task, do you have a configuration for the host URL that you can remove altogether?

 
Thx,
Ann

Hi,

We do not, it looks like this:

steps:
- task: SonarCloudAnalyze@3
  inputs:
    jdkversion: 'JAVA_HOME_17_X64'
  displayName: Run Code Analysis

But i can confirm, every pipeline is failing because of the same error now. Presumably the suggestive fix would be rolled out to the ADO task at the same time? If not, any workaround specifically for ADO task users?

Hi,

The fix will be deployed directly to SonarQube Cloud, so yes for all users at once.

Could you share your full analyze task, please?

 
Thx,
Ann

P.S. Could you check your service connection?

That was the full task, it’s followed by the publish task, there is very limited control we have other the configuration other than what’s out the box.


steps:
- task: SonarCloudAnalyze@3
  inputs:
    jdkversion: 'JAVA_HOME_17_X64'
  displayName: Run Code Analysis

- task: SonarCloudPublish@3
  displayName: Publish Quality Gate Result

I’ve checked the service connection, hitting verify tells me everything is healthy:

1 Like

Hi,

Thanks for checking.

The fix is grinding through deployment process. You should see it in an hour or so.

 
Thx,
Ann

Hi,

To give a quick update, the process is still grinding, and it may be a couple hours more. :frowning:

 
Ann

Hi all,

I have good news this time: the fix has been deployed to production. Can you check and make sure the error is cleared for you?

 
Thx,
Ann

6 posts were split to a new topic: Error from + prefixed to org id

3 posts were merged into an existing topic: Error from + prefixed to org id