Internal Error on SonarLint in Eclipse with SonarJava-6.0.1

Hi,

I’m using SonarQube Server version 7.9.1.27448.

After Installing SonarJava Plugin version 6.0.1 the SonarLint plugin in Eclipse 2019-12 (4.14) stop working with an error message each time I open an java file.

An internal error occurred during: "SonarLint processing file ...".
lombok/launch/PatchFixesHider$ValPortal

With SonarJava Plugin version 5.14 everything works fine.

Here is the full stack trace from eclipse error view:

java.lang.NoClassDefFoundError: lombok/launch/PatchFixesHider$ValPortal
at org.eclipse.jdt.internal.compiler.parser.Parser.consumeExitVariableWithInitialization(Parser.java:4031)
at org.eclipse.jdt.internal.compiler.parser.Parser.consumeRule(Parser.java:6859)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:12037)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:12289)
at org.eclipse.jdt.internal.compiler.parser.Parser.parse(Parser.java:12246)
at org.eclipse.jdt.internal.compiler.parser.Parser.dietParse(Parser.java:10654)
at org.eclipse.jdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:849)
at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:394)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:1173)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:714)
at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1217)
at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:832)
at org.sonar.java.model.JParser.parse(JParser.java:289)
at org.sonar.java.model.JParser.parse(JParser.java:249)
at org.sonar.java.ast.JavaAstScanner.simpleScan(JavaAstScanner.java:93)
at org.sonar.java.ast.JavaAstScanner.scan(JavaAstScanner.java:65)
at org.sonar.java.JavaSquid.scanSources(JavaSquid.java:111)
at org.sonar.java.JavaSquid.scan(JavaSquid.java:105)
at org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:88)
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:134)
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:81)
at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.lambda$analyze$0(ConnectedSonarLintEngineImpl.java:152)
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:327)
at org.sonarlint.eclipse.core.internal.jobs.AnalyzeConnectedProjectJob.runAnalysis(AnalyzeConnectedProjectJob.java:72)
at org.sonarlint.eclipse.core.internal.jobs.AnalyzeConnectedProjectJob.runAnalysis(AnalyzeConnectedProjectJob.java:1)
at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.run(AbstractAnalyzeProjectJob.java:399)
at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.runAnalysisAndUpdateMarkers(AbstractAnalyzeProjectJob.java:207)
at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.doRun(AbstractAnalyzeProjectJob.java:169)
at org.sonarlint.eclipse.core.internal.jobs.AbstractSonarProjectJob.run(AbstractSonarProjectJob.java:45)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.lang.ClassNotFoundException: lombok.launch.PatchFixesHider$ValPortal
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)
… 38 more

I’m using SonarLint Eclipse Plugin version 4.3.0.12432 and
Lombok v1.18.10

I would appreciate any hints for a workarount.

Best Regards,
Karsten

I’m also facing the same problem and same stacktrace.

My environment is
OS: Windows 10 Home
JDK: 1.8.0_181
Eclipse: 2019-12
Lombok: 1.18.10
SonarLint for Eclipse: 4.3.0.12432
SonarQube: 8.1.0.31237 (Community Edition)
Sonar Java: 6.0.1 (build 20589)

Hi,

Thanks for reporting this issue. I have managed to reproduce, but only in Eclipse. I guess this is due to the way lombok is installed in Eclipse (as a Java agent for the global JVM), contrary to IntelliJ where it is “just” configured as an annotation processor for the project.

I will see with my colleagues if there is anything we can do on our side.

Ticket created:
https://jira.sonarsource.com/browse/SLE-336

This has been fixed on Lombok side: https://github.com/rzwitserloot/lombok/issues/2351

1 Like

I can confirm that after upgrading the Lombok to version 1.18.12, everything work fine.

Thank you very much.

2 Likes

@Julien_HENRY I’m running into exactly the same issue as reported above and I’m already using lombok 1.18.12.

See the following post:

1 Like

I’m facing the same problem:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=563453

Be sure to update to the latest lombok agent in Eclipse (see eclipse.ini). This is not enough to update your lombok dependency in your project.

1 Like

FYI, on a Mac, for newer versions of STS the file is called “SpringToolSuite4.ini”. Also, the file does not readily show up in Spotlight. It’s hidden in the app.