Plugin versions not compatible in sonaqube 9.3

Hi Team,

we recently upgrade sonarQube from 8.4 to 8.9 then to 9.3, but we found we cannot bring service up after copy existed plugins to 9.3 plugin folders. please note, everything is working fine if we don’t copy the plugins, we also check logs and find errors related to failed load plugin, so we believe it is due to plugin versions might not compatible with sonarQube9.3.

here is our plugin list:

1:backelite-sonar-swift-plugin-0.4.6.jar
2:cabl-license-prod.jar
3:cabl-security-rules-plugin-2.12.0.jar
4:esql-plugin-3.0.2.jar
5:riverside-rules-plugin-2.12.0.jar
6:sonar-groovy-plugin-1.6.jar
7:sonar-openedge-plugin-2.12.1.jar.

we download the latest version as below (I guess they are latest version, so hard to find where can download it)

1:backelite-sonar-swift-plugin-0.4.6.jar (cannot find latest version, it seems not compatible with sonarqube 9.3 verison)
2:cabl-security-rules-plugin-2.14.7.jar
3:esql-plugin-3.3.0.jar
4:riverside-rules-plugin-2.14.7.jar
5:sonar-groovy-plugin-1.8.jar

when I remove “backelite-sonar-swift-plugin-0.4.6.jar” from plugin folders and copy the above latest plugins into the folder, the sonarqube service is up(service still cannot be up if I leave"backelite-sonar-swift-plugin-0.4.6.jar" in the plugin folder ), but I cannot stop service, it’s showing below error:

2022.03.03 15:36:13 ERROR web[][o.s.s.p.Platform] Background initialization failed. Stopping SonarQube
java.lang.NoSuchMethodError: 'org.sonar.api.server.rule.RulesDefinition$NewRule 
rg.sonar.api.server.rule.RulesDefinition$NewRule.setDebtSubCharacteristic(java.lang.String)'
	at org.sonar.squidbridge.rules.SqaleXmlLoader.processRule(SqaleXmlLoader.java:124)
	at org.sonar.squidbridge.rules.SqaleXmlLoader.processSubChar(SqaleXmlLoader.java:92)
	at org.sonar.squidbridge.rules.SqaleXmlLoader.processRoot(SqaleXmlLoader.java:78)
	at org.sonar.squidbridge.rules.SqaleXmlLoader.loadXmlResource(SqaleXmlLoader.java:65)
	at org.sonar.squidbridge.rules.SqaleXmlLoader.load(SqaleXmlLoader.java:52)
	at com.backelite.sonarqube.swift.issues.swiftlint.SwiftLintRulesDefinition.define(SwiftLintRulesDefinition.java:61)
	at org.sonar.server.rule.RuleDefinitionsLoader.load(RuleDefinitionsLoader.java:53)
	at org.sonar.server.rule.RegisterRules.start(RegisterRules.java:119)
	at org.sonar.core.platform.StartableCloseableSafeLifecyleStrategy.start(StartableCloseableSafeLifecyleStrategy.java:40)
	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:136)
	at org.sonar.server.platform.platformlevel.PlatformLevel.start(PlatformLevel.java:90)
	at org.sonar.server.platform.platformlevel.PlatformLevelStartup.access$001(PlatformLevelStartup.java:51)
	at org.sonar.server.platform.platformlevel.PlatformLevelStartup$1.doPrivileged(PlatformLevelStartup.java:119)
	at org.sonar.server.user.DoPrivileged.execute(DoPrivileged.java:45)
	at org.sonar.server.platform.platformlevel.PlatformLevelStartup.start(PlatformLevelStartup.java:116)
	at org.sonar.server.platform.PlatformImpl.executeStartupTasks(PlatformImpl.java:198)
	at org.sonar.server.platform.PlatformImpl$1.lambda$doRun$1(PlatformImpl.java:122)
	at org.sonar.server.platform.PlatformImpl$AutoStarterRunnable.runIfNotAborted(PlatformImpl.java:370)
	at org.sonar.server.platform.PlatformImpl$1.doRun(PlatformImpl.java:122)
	at org.sonar.server.platform.PlatformImpl$AutoStarterRunnable.run(PlatformImpl.java:354)
	at java.base/java.lang.Thread.run(Thread.java:834)
2022.03.03 15:36:14 INFO  web[][o.s.p.ProcessEntryPoint] Hard stopping process
2022.03.03 15:36:14 INFO  web[][o.s.s.n.NotificationDaemon] Notification service stopped
2022.03.03 15:36:15 WARN  web[][o.s.p.ProcessEntryPoint$HardStopperThread] Can not stop in 1000ms
2022.03.03 15:36:15 WARN  web[][o.s.s.a.EmbeddedTomcat] Failed to stop web server
org.apache.catalina.LifecycleException: A child container failed during stop
	at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:1007)
	at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
	at org.apache.catalina.core.StandardService.stopInternal(StandardService.java:486)
	at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
	at org.apache.catalina.core.StandardServer.stopInternal(StandardServer.java:784)
	at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
	at org.apache.catalina.startup.Tomcat.stop(Tomcat.java:450)
	at org.sonar.server.app.EmbeddedTomcat.terminate(EmbeddedTomcat.java:112)
	at org.sonar.server.app.WebServer.hardStop(WebServer.java:84)
	at org.sonar.process.ProcessEntryPoint$HardStopperThread.lambda$new$0(ProcessEntryPoint.java:219)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

could you please
1: help me verify if the plugin versions are compatiable with sonarqube 9.3?
2: where I can download them.
3: could you please help to take a look why service cannot be stopped?

Regards
Sherry

Hi Sherry,

I have observed in the past that if SonarQube doesn’t start up cleanly then it won’t shut down cleanly, so I think that’s what you’re experiencing in terms of shutdown.

Regarding the plugins, OpenEdge is the only one in the Marketplace, and the Plugin Version Matrix makes clear that only version 2.14.1 is compatible with 8.9 and above. (Yes the usability of that matrix is crap and that has been reported internally many times… But anyway, the data’s there. :woman_shrugging:). For the rest, you should contact the plugin maintainers.

I suspect that, as you’ve guessed, they’re simply not compatible.

 
Ann

Hi Ann,
we figure out these two plugin caused the problem,
1:backelite-sonar-swift-plugin-0.4.6.jar
2riverside-rules-plugin-2.12.0.jar
any idea can we find out how to determine which projects are using that plugin? and how we can contact plugin team? I only find github documentations online but there is no contact info I can use to reach to them.

Regards
Sherry

Hi Sherry,

I can only suggest you create issues on the plugins’ GitHub projects.

 
Ann