Issues with SonarLint

I am having issues when running SonarLint within Eclipse in connected mode.

  • SonarLint 4.1.0
  • SonarQube 6.7.4
  • sonar-java-plugin-5.9.2.16552.jar
  • sonar-web-plugin-2.6.0.1053.jar
  • sonar-javascript-plugin-3.2.0.5506.jar

Whenever I analyze a JSP file, I get this error and no results are displayed.

An internal error occurred during: "SonarLint processing file <file name>".
org.sonar.plugins.web.lex.PageLexer (initialization failure)

Exception stack trace:
java.lang.NoClassDefFoundError: org.sonar.plugins.web.lex.PageLexer (initialization failure)
	at java.lang.J9VMInternals.initializationAlreadyFailed(J9VMInternals.java:96)
	at org.sonar.plugins.web.core.WebSensor.execute(WebSensor.java:80)
	at org.sonarsource.sonarlint.core.analyzer.sensor.SensorsExecutor.executeSensor(SensorsExecutor.java:81)
	at org.sonarsource.sonarlint.core.analyzer.sensor.SensorsExecutor.execute(SensorsExecutor.java:72)
	at org.sonarsource.sonarlint.core.container.analysis.AnalysisContainer.doAfterStart(AnalysisContainer.java:132)
	at org.sonarsource.sonarlint.core.container.ComponentContainer.startComponents(ComponentContainer.java:125)
	at org.sonarsource.sonarlint.core.container.ComponentContainer.execute(ComponentContainer.java:110)
	at org.sonarsource.sonarlint.core.container.storage.StorageAnalyzer.analyze(StorageAnalyzer.java:75)
	at org.sonarsource.sonarlint.core.container.storage.StorageContainerHandler.analyze(StorageContainerHandler.java:82)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.lambda$analyze$0(ConnectedSonarLintEngineImpl.java:152)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl$$Lambda$442.00000000224A9DE0.get(Unknown Source)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.withReadLock(ConnectedSonarLintEngineImpl.java:344)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.withReadLock(ConnectedSonarLintEngineImpl.java:334)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.analyze(ConnectedSonarLintEngineImpl.java:149)
	at org.sonarlint.eclipse.core.internal.server.Server.runAnalysis(Server.java:312)
	at org.sonarlint.eclipse.core.internal.jobs.AnalyzeConnectedProjectJob.runAnalysis(AnalyzeConnectedProjectJob.java:67)
	at org.sonarlint.eclipse.core.internal.jobs.AnalyzeConnectedProjectJob.runAnalysis(AnalyzeConnectedProjectJob.java:1)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.run(AbstractAnalyzeProjectJob.java:397)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.runAnalysisAndUpdateMarkers(AbstractAnalyzeProjectJob.java:205)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.doRun(AbstractAnalyzeProjectJob.java:167)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractSonarProjectJob.runInWorkspace(AbstractSonarProjectJob.java:44)
	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
Caused by: java.lang.NoClassDefFoundError: org.sonar.channel.Channel
	at java.lang.ClassLoader.defineClassImpl(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:379)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:154)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:729)
	at java.net.URLClassLoader.access$400(URLClassLoader.java:95)
	at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1184)
	at java.security.AccessController.doPrivileged(AccessController.java:732)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:604)
	at org.sonar.classloader.ClassRealm.loadClassFromSelf(ClassRealm.java:125)
	at org.sonar.classloader.ParentFirstStrategy.loadClass(ParentFirstStrategy.java:37)
	at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:87)
	at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:76)
	at org.sonar.plugins.web.lex.PageLexer.<clinit>(PageLexer.java:46)
	... 22 more
Caused by: java.lang.ClassNotFoundException: org.sonar.channel.Channel
	at org.sonar.classloader.ParentFirstStrategy.loadClass(ParentFirstStrategy.java:39)
	at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:87)
	at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:76)
	... 35 more

Session Data:
eclipse.buildId=unknown
java.fullversion=8.0.5.20 - pwa6480sr5fp20-20180802_01(SR5 FP20)
JRE 1.8.0 Windows Server 2012 R2 amd64-64-Bit Compressed References 20180731_393394 (JIT enabled, AOT enabled)
OpenJ9   - bd23af8
OMR      - ca1411c
IBM      - 98805ca
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -product com.ibm.rational.rad.product.v97.ide
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product com.ibm.rational.rad.product.v97.ide

Hello, the symptoms you describe look very similar to the ones mentioned in this old thread, so I suggest that you update the web plugin to version 3.0, which is the last version compatible with SonarQube 6.7.

If possible, I suggest that you also update your server to the latest SonarQube 7.9 LTS, which will allow you to update all language analyzers, among other things.

Hi,

Are you using an IBM JDK? This is maybe the reason of the error, we are not testing our analyzer with non Oracle JDK, so there might be some small differences.

Thanks for the response. This works fine with the SonarQube server version 7.9.1 and HTML plugin version 3.1.0.

1 Like

Yes, I am using IBM JDK. But as stated above, this worked fine with the new SonarQube version 7.9.1 and HTML plugin version 3.1.0. Thanks.