1
votes

Sonarqube Build Environment details as follows:

SonarQube Server Version - 5.6.6 (64-Bit). 
Sonar-scanner Version - 3.0.3.778 (running through “Execute SonarQube Scanner” in Jenkins)
sonar-java-plugin-4.14.0.11784.jar
sonar-findbugs-plugin-3.6.0.jar
Build Mode: Jenkins - (Version-2.46.2-LTS)
Build: Maven

Problem Description:

The sonar-project.properties declared in Jenkins itself. While analyzing it fails with below errors.

ERROR: Error during SonarQube Scanner execution
java.lang.IllegalStateException: Unable to load component class org.sonar.api.config.Settings
    at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:69)
    at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:678)
    at org.sonar.core.platform.ComponentContainer.getComponentByType(ComponentContainer.java:272)
    at org.sonar.batch.scan.ProjectScanContainer.doBeforeStart(ProjectScanContainer.java:112)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:140)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
    at org.sonar.batch.task.ScanTask.execute(ScanTask.java:47)
    at org.sonar.batch.task.TaskContainer.doAfterStart(TaskContainer.java:86)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
    at org.sonar.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:106)
    at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:119)
    at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:63)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
    at com.sun.proxy.$Proxy0.execute(Unknown Source)
    at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:233)
    at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)
    at org.sonarsource.scanner.cli.Main.runAnalysis(Main.java:123)
    at org.sonarsource.scanner.cli.Main.execute(Main.java:77)
    at org.sonarsource.scanner.cli.Main.main(Main.java:61)
Caused by: java.lang.IllegalStateException: Unable to load component class org.sonar.batch.repository.ProjectRepositories
    at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:69)
    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:67)
    ... 23 more
Caused by: org.sonarqube.ws.client.HttpException: Error 500 on http://100.101.102.103:9000/batch/project.protobuf?key=scm.sesi.sm.ds
    at org.sonarqube.ws.client.BaseResponse.failIfNotSuccessful(BaseResponse.java:34)
    at org.sonar.batch.bootstrap.BatchWsClient.failIfUnauthorized(BatchWsClient.java:99)
    at org.sonar.batch.bootstrap.BatchWsClient.call(BatchWsClient.java:69)
    at org.sonar.batch.repository.DefaultProjectRepositoriesLoader.load(DefaultProjectRepositoriesLoader.java:58)
    at org.sonar.batch.repository.ProjectRepositoriesProvider.provide(ProjectRepositoriesProvider.java:39)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    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:67)
    ... 37 more
ERROR: 
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
ERROR: SonarQube scanner exited with non-zero code: 1

sonar.log file error as follows

2017.10.11 05:03:13 ERROR web[o.s.s.w.WebServiceEngine] Fail to process request http://100.101.102.103:9000/batch/project.protobuf?key=scm.sesi.sm.ds
java.lang.NullPointerException: null
    at com.google.protobuf.ByteString.copyFromUtf8(ByteString.java:321) ~[protobuf-java-3.0.0-beta-2.jar:na]
    at com.google.protobuf.TextFormat.escapeText(TextFormat.java:1892) ~[protobuf-java-3.0.0-beta-2.jar:na]
    at com.google.protobuf.TextFormat$Printer.printFieldValue(TextFormat.java:428) ~[protobuf-java-3.0.0-beta-2.jar:na]
    at com.google.protobuf.TextFormat$Printer.printSingleField(TextFormat.java:368) ~[protobuf-java-3.0.0-beta-2.jar:na]
    at com.google.protobuf.TextFormat$Printer.printField(TextFormat.java:327) ~[protobuf-java-3.0.0-beta-2.jar:na]
    at com.google.protobuf.TextFormat$Printer.print(TextFormat.java:314) ~[protobuf-java-3.0.0-beta-2.jar:na]
    at com.google.protobuf.TextFormat$Printer.printFieldValue(TextFormat.java:450) ~[protobuf-java-3.0.0-beta-2.jar:na]
    at com.google.protobuf.TextFormat$Printer.printSingleField(TextFormat.java:368) ~[protobuf-java-3.0.0-beta-2.jar:na]
    at com.google.protobuf.TextFormat$Printer.printField(TextFormat.java:324) ~[protobuf-java-3.0.0-beta-2.jar:na]
    at com.google.protobuf.TextFormat$Printer.print(TextFormat.java:314) ~[protobuf-java-3.0.0-beta-2.jar:na]
    at com.google.protobuf.TextFormat$Printer.access$400(TextFormat.java:288) ~[protobuf-java-3.0.0-beta-2.jar:na]
    at com.google.protobuf.TextFormat.shortDebugString(TextFormat.java:113) ~[protobuf-java-3.0.0-beta-2.jar:na]
    at org.sonarqube.ws.MessageFormatter.print(MessageFormatter.java:32) ~[sonar-ws-5.6.6.jar:na]
    at org.sonar.server.ws.WsUtils.writeProtobuf(WsUtils.java:63) ~[sonar-server-5.6.6.jar:na]
    at org.sonar.server.batch.ProjectAction.handle(ProjectAction.java:83) ~[sonar-server-5.6.6.jar:na]
    at org.sonar.server.ws.WebServiceEngine.execute(WebServiceEngine.java:107) ~[sonar-server-5.6.6.jar:na]
    at sun.reflect.GeneratedMethodAccessor206.invoke(Unknown Source) ~[na:na]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_111]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_111]
    at org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:425) [jruby-complete-1.7.9.jar:na]
    at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:292) [jruby-complete-1.7.9.jar:na]
    at org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:44) [jruby-complete-1.7.9.jar:na]
    at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:70) [jruby-complete-1.7.9.jar:na]
    at rubyjit.Api::JavaWsController$$index_E9F115BCB78D2E226E3015CDA52C1912485D30D0262463297.__file__(/opt/sonarqube-5.6.6/web/WEB-INF/app/controllers/api/java_ws_controller.rb:34) [jruby-complete-1.7.9.jar:na]

I have tried the below to solve this issue,

1) Rebooted the server then re-installed all the plugins. 
2) Cleared the $SONARQUBE_HOME/data/es folder 
3) Switched the quality profile(First default then changed to custom profile).

However still same problem persists, Now only thing pending is that I need to delete the $SONARQUBE_HOME/temp/. data from sonarqube server then after reboot I need to check the analyze.

2
Did you find any error/warning in $SONARQUBE_HOME/logs/web.log file? You can try to find there text equal to No such file or directory.agabrys
Actually I have access.log and sonar.log in $SONARQUBE_HOME/logs/ directory, sonar.log shows same errors,which is already given below.Kishore
It is weird that sonar.log contains logs from scanner execution. The bug must be there. Please attach that file.agabrys
sonar.log errors added in question category.Kishore
Unfortunately too little data to solve the problem. I did some research and they may be several reasons: database is inconsistent, invalid encoding (e.g. between SonarQube and database), broken quality profile (you can try to use default quality profile and switch to yours after "first" analysis), missing files etc. You can try to reinstall all plugins, stop server and remove all temporary files, start server, do first analysis with default profiles and finally use your profiles. You can also try to analyze your maven project by the maven scanner instead of the standalone scanner.agabrys

2 Answers

0
votes

Is 100.101.102.103 really the IP address of your SonarQube server? If so, you might have forgotten the sonar context path in the URL somewhere in your configuration.

It should probably be something like:

http://100.101.102.103:9000/sonar

Instead of:

http://100.101.102.103:9000/
-1
votes

This seems to be fixed in version 6.5. See this issue. Alternatively, you can delete your project and it will be recreated without issues.