SQ 7.9.1 Start Failure with JavaScript 6.2 Plugin

Upgraded to the latest JavaScript plugin via the marketplace and SQ won’t start.

web.log shows:

2020.04.06 00:36:06 INFO  web[][o.s.s.q.BuiltInQProfileRepositoryImpl] Load quality profiles
2020.04.06 00:36:07 WARN  web[][o.s.s.q.BuiltInQProfileDefinitionsBridge] Unable to activate unknown rule : 'ENTITY_MASS_ASSIGNMENT'
2020.04.06 00:36:07 WARN  web[][o.s.s.q.BuiltInQProfileDefinitionsBridge] Unable to activate unknown rule : 'OVERLY_PERMISSIVE_FILE_PERMISSION'
2020.04.06 00:36:07 WARN  web[][o.s.s.q.BuiltInQProfileDefinitionsBridge] Unable to activate unknown rule : 'ENTITY_LEAK'
2020.04.06 00:36:07 WARN  web[][o.s.s.q.BuiltInQProfileDefinitionsBridge] Unable to activate unknown rule : 'TEMPLATE_INJECTION_PEBBLE'
2020.04.06 00:36:07 WARN  web[][o.s.s.q.BuiltInQProfileDefinitionsBridge] Unable to activate unknown rule : 'SAML_IGNORE_COMMENTS'
2020.04.06 00:36:07 WARN  web[][o.s.s.q.BuiltInQProfileDefinitionsBridge] Unable to activate unknown rule : 'ENTITY_MASS_ASSIGNMENT'
2020.04.06 00:36:07 WARN  web[][o.s.s.q.BuiltInQProfileDefinitionsBridge] Unable to activate unknown rule : 'OVERLY_PERMISSIVE_FILE_PERMISSION'
2020.04.06 00:36:07 WARN  web[][o.s.s.q.BuiltInQProfileDefinitionsBridge] Unable to activate unknown rule : 'ENTITY_LEAK'
2020.04.06 00:36:07 WARN  web[][o.s.s.q.BuiltInQProfileDefinitionsBridge] Unable to activate unknown rule : 'TEMPLATE_INJECTION_PEBBLE'
2020.04.06 00:36:07 WARN  web[][o.s.s.q.BuiltInQProfileDefinitionsBridge] Unable to activate unknown rule : 'SAML_IGNORE_COMMENTS'
2020.04.06 00:36:08 ERROR web[][o.s.s.p.Platform] Background initialization failed. Stopping SonarQube
java.lang.IllegalStateException: Rule with key 'javascript:FunctionDeclarationsWithinBlocks' not found
	at com.google.common.base.Preconditions.checkState(Preconditions.java:197)
	at org.sonar.server.qualityprofile.BuiltInQProfileRepositoryImpl.lambda$updateOrCreateBuilder$5(BuiltInQProfileRepositoryImpl.java:188)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
	at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1085)
	at org.sonar.server.qualityprofile.BuiltInQProfileRepositoryImpl.updateOrCreateBuilder(BuiltInQProfileRepositoryImpl.java:185)
	at org.sonar.server.qualityprofile.BuiltInQProfileRepositoryImpl.lambda$toQualityProfileBuilders$4(BuiltInQProfileRepositoryImpl.java:164)
	at java.base/java.util.HashMap.compute(HashMap.java:1228)
	at org.sonar.server.qualityprofile.BuiltInQProfileRepositoryImpl.toQualityProfileBuilders(BuiltInQProfileRepositoryImpl.java:162)
	at org.sonar.server.qualityprofile.BuiltInQProfileRepositoryImpl.lambda$toFlatList$2(BuiltInQProfileRepositoryImpl.java:133)
	at org.sonar.core.util.stream.MoreCollectors.lambda$uniqueIndex$9(MoreCollectors.java:258)
	at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
	at java.base/java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1746)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
	at org.sonar.server.qualityprofile.BuiltInQProfileRepositoryImpl.toFlatList(BuiltInQProfileRepositoryImpl.java:131)
	at org.sonar.server.qualityprofile.BuiltInQProfileRepositoryImpl.initialize(BuiltInQProfileRepositoryImpl.java:81)
	at org.sonar.server.qualityprofile.BuiltInQProfileLoader.start(BuiltInQProfileLoader.java:37)
	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:135)
	at org.sonar.server.platform.platformlevel.PlatformLevel.start(PlatformLevel.java:90)
	at org.sonar.server.platform.platformlevel.PlatformLevelStartup.access$001(PlatformLevelStartup.java:47)
	at org.sonar.server.platform.platformlevel.PlatformLevelStartup$1.doPrivileged(PlatformLevelStartup.java:83)
	at org.sonar.server.user.DoPrivileged.execute(DoPrivileged.java:46)
	at org.sonar.server.platform.platformlevel.PlatformLevelStartup.start(PlatformLevelStartup.java:80)
	at org.sonar.server.platform.Platform.executeStartupTasks(Platform.java:196)
	at org.sonar.server.platform.Platform.access$400(Platform.java:46)
	at org.sonar.server.platform.Platform$1.lambda$doRun$1(Platform.java:121)
	at org.sonar.server.platform.Platform$AutoStarterRunnable.runIfNotAborted(Platform.java:371)
	at org.sonar.server.platform.Platform$1.doRun(Platform.java:121)
	at org.sonar.server.platform.Platform$AutoStarterRunnable.run(Platform.java:355)
	at java.base/java.lang.Thread.run(Thread.java:834)
2020.04.06 00:36:08 INFO  web[][o.s.p.ProcessEntryPoint] Hard stopping process

Hello @Will,

Are you sure you don’t have an issue with your install? First these warnings about missing Findbugs rules, then a standard rule not found… there’s something fishy here.

What I suggest is to:

  • install SQ 7.9.3 (from here) into a fresh new fodler
  • report the needed conf from your former install (+ sonar.log.level=DEBUG in case it still does not start, you’ll know more)
  • copy your third party plugins
  • start SQ. Does it start? If no there is likely something wrong in the DB…
  • as it will start with bundled plugins from 7.9, there’ll not be up to date. So go to the marketplace and update everything
  • restart SQ

Let me know how it goes.

Hello Antoine,

Thanks for the reply. We instead moved to 8.2 which resolved this.

Will