Analysis Failures Report Missing Plugin

32 views
Skip to first unread message

Dan Diman

unread,
Jan 30, 2018, 11:21:49 AM1/30/18
to SonarQube
Hello all.

I'm having the same experience as Pablo in this post and by another user in this post.  I've also posted on StackOverflow.  I am trying to get Sonar working for the first time; no "old" data to carry forward, etc.

I am using a single sonar community edition server, writing to a Postgresql database.  Sonar is invoked by Jenkins.

There have never been two Sonar instances writing to the same database; Sonar. Jenkins and Postgres are all running on the same server.

A full example stack trace is below:

java.lang.IllegalArgumentException: Plugin [smells] does not exist
        at org
.sonar.ce.container.CePluginRepository.getPluginInfo(CePluginRepository.java:95)
        at org
.sonar.server.computation.task.projectanalysis.step.LoadReportAnalysisMetadataHolderStep.getBasePluginKey(LoadReportAnalysisMetadataHolderStep.java:132)
        at org
.sonar.server.computation.task.projectanalysis.step.LoadReportAnalysisMetadataHolderStep.lambda$loadQualityProfiles$1(LoadReportAnalysisMetadataHolderStep.java:127)
        at java
.util.stream.Collectors.lambda$toMap$58(Collectors.java:1321)
        at java
.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
        at java
.util.Iterator.forEachRemaining(Iterator.java:116)
        at java
.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
        at java
.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
        at java
.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
        at java
.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
        at java
.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java
.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
        at org
.sonar.server.computation.task.projectanalysis.step.LoadReportAnalysisMetadataHolderStep.loadQualityProfiles(LoadReportAnalysisMetadataHolderStep.java:125)
        at org
.sonar.server.computation.task.projectanalysis.step.LoadReportAnalysisMetadataHolderStep.execute(LoadReportAnalysisMetadataHolderStep.java:88)
        at org
.sonar.server.computation.task.step.ComputationStepExecutor.executeSteps(ComputationStepExecutor.java:64)
        at org
.sonar.server.computation.task.step.ComputationStepExecutor.execute(ComputationStepExecutor.java:52)
        at org
.sonar.server.computation.task.projectanalysis.taskprocessor.ReportTaskProcessor.process(ReportTaskProcessor.java:73)
        at org
.sonar.ce.taskprocessor.CeWorkerImpl.executeTask(CeWorkerImpl.java:134)
        at org
.sonar.ce.taskprocessor.CeWorkerImpl.findAndProcessTask(CeWorkerImpl.java:97)
        at org
.sonar.ce.taskprocessor.CeWorkerImpl.withCustomizedThreadName(CeWorkerImpl.java:81)
        at org
.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:73)
        at org
.sonar.ce.taskprocessor.CeWorkerImpl.call(CeWorkerImpl.java:43)
        at java
.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java
.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java
.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java
.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
        at java
.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at java
.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java
.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java
.lang.Thread.run(Thread.java:745)

Of course the smells plugin is there, and is reported as installed by the system.  However, it does not appear as "loaded" by the compute engine; the ce.log looks like this:

2018.01.30 16:02:31 INFO  ce[][o.s.p.ProcessEntryPoint] Starting ce

2018.01.30 16:02:31 INFO  ce[][o.s.ce.app.CeServer] Compute Engine starting up...

2018.01.30 16:02:32 INFO  ce[][o.e.p.PluginsService] no modules loaded

2018.01.30 16:02:32 INFO  ce[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.index.reindex.ReindexPlugin]

2018.01.30 16:02:32 INFO  ce[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.join.ParentJoinPlugin]

2018.01.30 16:02:32 INFO  ce[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.percolator.PercolatorPlugin]

2018.01.30 16:02:32 INFO  ce[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]

2018.01.30 16:02:33 INFO  ce[][o.s.s.e.EsClientProvider] Connected to local Elasticsearch: [127.0.0.1:9001]

2018.01.30 16:02:33 INFO  ce[][o.sonar.db.Database] Create JDBC data source for jdbc:postgresql://vpc-postgresql.enrfin.com/postgres

2018.01.30 16:02:34 INFO  ce[][o.s.s.p.ServerFileSystemImpl] SonarQube home: /opt/sonar

2018.01.30 16:02:34 INFO  ce[][o.s.c.c.CePluginRepository] Load plugins

2018.01.30 16:02:35 INFO  ce[][o.s.c.q.PurgeCeActivities] Delete the Compute Engine tasks created before Thu Aug 03 16:02:35 UTC 2017

2018.01.30 16:02:35 INFO  ce[][o.s.ce.app.CeServer] Compute Engine is operational


There are smells plugin files in $SONAR_HOME/data/web/deploy/plugins/smells/ as well as in temp/ce-exploded-plugins/smells/ so something is happening with the plugin.

I have recently purchased a commercial license for the developer version, so I would rather not create a new sonar instance, although I haven't installed the license yet, so it would only be mildly inconvenient to wait for a new license for a new server install.  Given that I have no "history" I need to save, I could take that route.

Can anyone suggest any way to get this working?  It has been suggested it's a "misconfiguration" but it's a brand new server.  What misconfiguration could cause this?

Any help much appreciated.

Thanks!

-Dan

dan....@joinmytable.com

unread,
Jan 30, 2018, 12:01:35 PM1/30/18
to SonarQube
I'm an idiot.  I was totally wrong and there *was* another sonar instance which, while it wasn't supposed to be talking to the same database, it was.

On Tuesday, January 30, 2018 at 10:21:49 AM UTC-6, Dan Diman wrote:

False:  There have never been two Sonar instances writing to the same database; Sonar. Jenkins and Postgres are all running on the same server.


Sebastien Lesaint

unread,
Jan 31, 2018, 2:44:04 AM1/31/18
to SonarQube
Glad to read it turned out to be a second SQ running on the same database, for 2 reasons:
* your problem is now fixed
* there is no other, nastier, problem to investigate on our side

You may be interested in this recently created ticket: SONAR-10362.

Cheers,

Sébastien LESAINT | SonarSource
Platform Developer

--
You received this message because you are subscribed to the Google Groups "SonarQube" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sonarqube+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sonarqube/c4974663-3e81-4f67-b5ac-8fa7b4931e45%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages