SonarQube runner failes with mismatched plugin hash

We have observed the below behavior twice in past 2 weeks while running sonar scanner.
C:\Users<redacted>.sonar\cache_tmp\fileCache1994988743661999883.tmp was expected to have hash 8e6daa465966370398f68c709da5ac51 but was downloaded with hash dbec2dd04c2e9a5ed9627c549c260e0e

Sonarqube restart solves the problem, but this is not accepted by our users. any idea why this is happening and how we can prevent it?

Hi Amit,
It would be helpful to have a little more context. What is the version of SonarQube that you are running?
Could you post all logs of the scanner around that entry with debug enabled (from a run when the problem happens)?

Hi Duarte,
We are on SonarQube CE Version 6.7.3 (build 38370)

Here is the full error log

10:29:53.056 DEBUG - GET 200 https://sonarURL/api/qualityprofiles/search.protobuf?projectKey=csv2_pilot_ifx_lib_production_integration | time=79ms 10:29:53.067 INFO - Load quality profiles (done) | time=91ms 10:29:53.087 INFO - Load active rules 10:29:53.991 DEBUG - GET 200 https://sonartestURL/api/rules/search.protobuf?f=repo,name,severity,lang,internalKey,templateKey,params,actives,createdAt&activation=true&qprofile=c%2B%2B-c%2B%2B-93k-codingstandards-released-72319&p=1&ps=500 | time=904ms INFO: ------------------------------------------------------------------------ INFO: EXECUTION FAILURE INFO: ------------------------------------------------------------------------ Total time: 3.600s Final Memory: 13M/228M INFO: ------------------------------------------------------------------------ ERROR: Error during Sonar runner execution org.sonar.runner.impl.RunnerException: Unable to execute Sonar at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91) at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75) at java.security.AccessController.doPrivileged(Native Method) at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69) at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50) at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102) at org.sonar.runner.api.Runner.execute(Runner.java:90) at org.sonar.runner.Main.executeTask(Main.java:70) at org.sonar.runner.Main.execute(Main.java:59) at org.sonar.runner.Main.main(Main.java:41) 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:64) 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:134) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:121) at org.sonar.scanner.task.ScanTask.execute(ScanTask.java:48) at org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.java:84) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:121) at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:121) at org.sonar.batch.bootstrapper.Batch.doExecuteTask(Batch.java:116) at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:71) at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:45) 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.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87) ... 9 more Caused by: java.lang.IllegalStateException: Unable to load component interface org.sonar.api.batch.rule.ActiveRules at org.sonar.core.platform.ComponentContainer$ExtendedDefaultPicoContainer.getComponent(ComponentContainer.java:64) 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:62) ... 41 more Caused by: java.lang.NullPointerException at org.sonar.scanner.rule.DefaultActiveRulesLoader.readPage(DefaultActiveRulesLoader.java:102) at org.sonar.scanner.rule.DefaultActiveRulesLoader.load(DefaultActiveRulesLoader.java:62) at org.sonar.scanner.rule.ActiveRulesProvider.load(ActiveRulesProvider.java:98) at org.sonar.scanner.rule.ActiveRulesProvider.load(ActiveRulesProvider.java:61) at org.sonar.scanner.rule.ActiveRulesProvider.provide(ActiveRulesProvider.java:48) 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:62) ... 55 more WARN: Unable to locate 'report-task.txt' in the workspace. Did the SonarScanner succeeded? ERROR: SonarQube scanner exited with non-zero code: 1 Email was triggered for: Always Sending email for trigger: Always

Hi,
The error posted looks unrelated to a problem downloading plugins as initially posted, right?
It would also be great to have the full logs of the scanner, not only the error.

Hi,
Apologies for reporting incorrect logs before; attaching relevant logs here.
Please let me know where I can get the correct logs in case the below is not what you need.

INFO: Runner configuration file: D:\slave\tools\hudson.plugins.sonar.SonarRunnerInstallation\sonar_runner_2.3_europe\sonar-runner-dist-2.3-europeTimezone\bin\..\conf\sonar-runner.properties
INFO: Project configuration file: NONE
INFO: Default locale: "en_US", source code encoding: "UTF-8"
INFO: Work directory: D:\slave\workspace\tde\sonarqube_pilot_for_IFX_Libraries_Production_integration\.sonar
INFO: SonarQube Server 6.7.3.38370
04:12:04.032 INFO  - Publish mode
04:12:04.206 INFO  - Load global settings
04:12:04.339 DEBUG - GET 200 https://sonarURL/api/settings/values.protobuf | time=123ms
04:12:04.356 INFO  - Load global settings (done) | time=151ms
04:12:04.371 INFO  - Server id: AW0Vue4S8jYPOBxVPjk3
04:12:04.381 INFO  - User cache: C:\Users\account\.sonar\cache
04:12:04.619 INFO  - Load plugins index
04:12:04.635 DEBUG - GET 200 https://sonarURL/api/plugins/installed | time=16ms
04:12:04.671 INFO  - Load plugins index (done) | time=52ms
04:12:04.671 DEBUG - Load plugins
04:12:04.681 DEBUG - Download plugin sonar-c-plugin.jar to C:\Users\account\.sonar\cache\_tmp\fileCache1994988743661999883.tmp
04:12:04.702 DEBUG - GET 200 https://sonarURL/deploy/plugins/c/sonar-c-plugin.jar | time=21ms
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 2.005s
Final Memory: 39M/220M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
	at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
	at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
	at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
	at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
	at org.sonar.runner.api.Runner.execute(Runner.java:90)
	at org.sonar.runner.Main.executeTask(Main.java:70)
	at org.sonar.runner.Main.execute(Main.java:59)
	at org.sonar.runner.Main.main(Main.java:41)
Caused by: java.lang.IllegalStateException: INVALID HASH: File C:\Users\account\.sonar\cache\_tmp\fileCache1994988743661999883.tmp was expected to have hash 8e6daa465966370398f68c709da5ac51 but was downloaded with hash dbec2dd04c2e9a5ed9627c549c260e0e
	at org.sonar.home.cache.FileCache.get(FileCache.java:85)
	at org.sonar.scanner.bootstrap.ScannerPluginInstaller.download(ScannerPluginInstaller.java:96)
	at org.sonar.scanner.bootstrap.ScannerPluginInstaller.loadPlugins(ScannerPluginInstaller.java:74)
	at org.sonar.scanner.bootstrap.ScannerPluginInstaller.installRemotes(ScannerPluginInstaller.java:64)
	at org.sonar.scanner.bootstrap.ScannerPluginRepository.start(ScannerPluginRepository.java:59)
	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.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:110)
	at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89)
	at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84)
	at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169)
	at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132)
	at org.picocontainer.behaviors.Stored.start(Stored.java:110)
	at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:1016)
	at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1009)
	at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:767)
	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:134)
	at org.sonar.batch.bootstrapper.Batch.doStart(Batch.java:94)
	at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:69)
	at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:45)
	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.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87)
	... 9 more
WARN: Unable to locate 'report-task.txt' in the workspace. Did the SonarScanner succeeded?
ERROR: SonarQube scanner exited with non-zero code: 1
Email was triggered for: Always
Sending email for trigger: Always```

Thanks for the logs. The fact that it only happens sometimes indicates that the problem is probably in the scanner side while downloading the file.
Any chance you’re running out of space in the device resulting in truncated files?
Also Is there anything particular about your network configuration that could result in modified files?