lombok-intellij-plugin: Lombok exceptions on latest Intelliji Idea
Short description
Provide a short description of the issue here. Do not include stacktraces in this sectrion
getting exceptions while using lombok in new Intelliji Idea
During querying provider Run line marker (class com.intellij.execution.lineMarker.RunLineMarkerProvider)
com.intellij.diagnostic.PluginException: Element: class de.plushnikov.intellij.plugin.psi.LombokLightClassBuilder #JAVA because: psi is outdated invalidated at: no info [Plugin: Lombook Plugin] at com.intellij.ide.plugins.PluginManagerCore.createPluginException(PluginManagerCore.java:290) at com.intellij.diagnostic.PluginProblemReporterImpl.createPluginExceptionByClass(PluginProblemReporterImpl.java:12) at com.intellij.diagnostic.PluginException.createByClass(PluginException.java:67) at com.intellij.psi.util.PsiUtilCore.ensureValid(PsiUtilCore.java:478) at com.intellij.psi.impl.PsiClassImplUtil.lambda$createMembersMap$4(PsiClassImplUtil.java:346) at com.intellij.util.containers.ConcurrentFactoryMap$2.create(ConcurrentFactoryMap.java:174) at com.intellij.util.containers.ConcurrentFactoryMap.get(ConcurrentFactoryMap.java:40) at com.intellij.psi.impl.PsiClassImplUtil$MembersMap.get(PsiClassImplUtil.java:326) at com.intellij.psi.impl.PsiClassImplUtil$MembersMap.access$000(PsiClassImplUtil.java:318) at com.intellij.psi.impl.PsiClassImplUtil.getMap(PsiClassImplUtil.java:175) at com.intellij.psi.impl.PsiClassImplUtil.getAllByMap(PsiClassImplUtil.java:166) at com.intellij.psi.impl.PsiClassImplUtil.getAllInnerClasses(PsiClassImplUtil.java:63) at com.intellij.psi.impl.source.PsiClassImpl.getAllInnerClasses(PsiClassImpl.java:340) at com.intellij.execution.junit.JUnitUtil.lambda$isJUnit5TestClass$1(JUnitUtil.java:317) at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:153) at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54) at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:235) at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112) at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71) at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:236) at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43) at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:76) at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:150) at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:120) at com.intellij.execution.junit.JUnitUtil.isJUnit5TestClass(JUnitUtil.java:306) at com.intellij.execution.junit.JUnit5Framework.isTestClass(JUnit5Framework.java:56) at com.intellij.testIntegration.JavaTestFramework.isTestClass(JavaTestFramework.java:55) at com.intellij.codeInsight.TestFrameworks.computeFramework(TestFrameworks.java:88) at com.intellij.codeInsight.TestFrameworks.lambda$detectFramework$0(TestFrameworks.java:59) at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:153) at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54) at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:235) at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112) at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71) at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:236) at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43) at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:76) at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:150) at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:120) at com.intellij.codeInsight.TestFrameworks.detectFramework(TestFrameworks.java:58) at com.intellij.testIntegration.TestRunLineMarkerProvider.getInfo(TestRunLineMarkerProvider.java:25) at com.intellij.execution.lineMarker.RunLineMarkerProvider.getLineMarkerInfo(RunLineMarkerProvider.java:50) at com.intellij.codeInsight.daemon.impl.LineMarkersPass.queryProviders(LineMarkersPass.java:163) at com.intellij.codeInsight.daemon.impl.LineMarkersPass.lambda$doCollectInformation$3(LineMarkersPass.java:88) at com.intellij.codeInsight.daemon.impl.Divider.divideInsideAndOutsideInOneRoot(Divider.java:81) at com.intellij.codeInsight.daemon.impl.LineMarkersPass.doCollectInformation(LineMarkersPass.java:83) at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:54) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$1(PassExecutorService.java:399) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1110) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:392) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:629) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:581) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:391) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:367) at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:170) at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:182) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:365) at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:181) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177) Caused by: com.intellij.psi.PsiInvalidElementAccessException: Element: class de.plushnikov.intellij.plugin.psi.LombokLightClassBuilder #JAVA because: psi is outdated invalidated at: no info … 61 more
Expected behavior
Is there a specific expected behavior?
Version information
- IDEA Version: Please provide full IntelliJ IDEA Version - available from About view
- JDK Version: What is your JDK version, including update level?
- OS Type & Version: Are you on Mac/Windows/Linux? Provide as much information as possible about versions
- Lombok Plugin Version: _What is the version of the plugin installed?`_0.30 EPA
- Lombok Dependency Version: What version of lombok.jar are you using? Latest on Spring boot 2.3.2
Steps to reproduce
What steps do we need to take to reproduce this issue?
- ??? just try to anotate a class with any of the lombok annotation eg : @RequiredArgsContructor
- ???
- ???
Sample project
Please provide a sample project that exhibits the problem.
You should also include .idea folder so we can inspect the settings.
- Sample project provided
- [ X] I am able to reproduce this error on the sample project by following the steps described above
Additional information
Is there any additional information you can provide to help us understanding and solving the issue?
Stacktrace
If you are experiencing an issue and IntelliJ throws an error please provide the stacktrace.
STACKTRACE HERE (inside code markup)
provider: de.plushnikov.intellij.plugin.provider.LombokAugmentProvider@4bbe8059
com.intellij.diagnostic.PluginException: Element: class de.plushnikov.intellij.plugin.psi.LombokLightClassBuilder #JAVA because: psi is outdated
invalidated at: no info [Plugin: Lombook Plugin]
at com.intellij.ide.plugins.PluginManagerCore.createPluginException(PluginManagerCore.java:290)
at com.intellij.diagnostic.PluginProblemReporterImpl.createPluginExceptionByClass(PluginProblemReporterImpl.java:12)
at com.intellij.diagnostic.PluginException.createByClass(PluginException.java:67)
at com.intellij.psi.util.PsiUtilCore.ensureValid(PsiUtilCore.java:478)
at com.intellij.psi.impl.PsiClassImplUtil.lambda$createMembersMap$4(PsiClassImplUtil.java:346)
at com.intellij.util.containers.ConcurrentFactoryMap$2.create(ConcurrentFactoryMap.java:174)
at com.intellij.util.containers.ConcurrentFactoryMap.get(ConcurrentFactoryMap.java:40)
at com.intellij.psi.impl.PsiClassImplUtil$MembersMap.get(PsiClassImplUtil.java:326)
at com.intellij.psi.impl.PsiClassImplUtil$MembersMap.access$000(PsiClassImplUtil.java:318)
at com.intellij.psi.impl.PsiClassImplUtil.processCachedMembersByName(PsiClassImplUtil.java:498)
at com.intellij.psi.impl.PsiClassImplUtil.processDeclarationsInClass(PsiClassImplUtil.java:412)
at com.intellij.psi.impl.PsiClassImplUtil.processDeclarationsInClass(PsiClassImplUtil.java:389)
at com.intellij.psi.impl.source.PsiClassImpl.processDeclarations(PsiClassImpl.java:474)
at com.intellij.psi.scope.util.PsiScopesUtil.treeWalkUp(PsiScopesUtil.java:75)
at com.intellij.psi.scope.util.PsiScopesUtil.treeWalkUp(PsiScopesUtil.java:54)
at com.intellij.psi.scope.util.PsiScopesUtil.resolveAndWalk(PsiScopesUtil.java:221)
at com.intellij.psi.scope.util.PsiScopesUtil.resolveAndWalk(PsiScopesUtil.java:150)
at com.intellij.psi.impl.source.resolve.ResolveClassUtil.resolveClass(ResolveClassUtil.java:50)
at com.intellij.psi.impl.source.resolve.PsiResolveHelperImpl.resolveReferencedClass(PsiResolveHelperImpl.java:84)
at com.intellij.codeInsight.intention.AddAnnotationPsiFix.choosePlace(AddAnnotationPsiFix.java:209)
at com.intellij.codeInsight.intention.AddAnnotationPsiFix.<init>(AddAnnotationPsiFix.java:56)
at com.intellij.codeInsight.intention.AddAnnotationFix.<init>(AddAnnotationFix.java:39)
at de.plushnikov.intellij.plugin.quickfix.PsiQuickFixFactory.createAddAnnotationQuickFix(PsiQuickFixFactory.java:26)
at de.plushnikov.intellij.plugin.processor.clazz.EqualsAndHashCodeProcessor.validateCallSuperParamExtern(EqualsAndHashCodeProcessor.java:82)
at de.plushnikov.intellij.plugin.processor.clazz.DataProcessor.validate(DataProcessor.java:64)
at de.plushnikov.intellij.plugin.processor.clazz.AbstractClassProcessor.process(AbstractClassProcessor.java:64)
at de.plushnikov.intellij.plugin.provider.LombokAugmentProvider.getPsis(LombokAugmentProvider.java:167)
at de.plushnikov.intellij.plugin.provider.LombokAugmentProvider.access$000(LombokAugmentProvider.java:39)
at de.plushnikov.intellij.plugin.provider.LombokAugmentProvider$LombokCachedValueProvider.computeIntern(LombokAugmentProvider.java:156)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112)
at de.plushnikov.intellij.plugin.provider.LombokAugmentProvider$LombokCachedValueProvider.compute(LombokAugmentProvider.java:150)
at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:153)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:235)
at com.intellij.openapi.util.RecursionManager$1.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:71)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:236)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:76)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:150)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:120)
at de.plushnikov.intellij.plugin.provider.LombokAugmentProvider.getAugments(LombokAugmentProvider.java:104)
at com.intellij.psi.augment.PsiAugmentProvider.lambda$getAugments$0(PsiAugmentProvider.java:57)
at com.intellij.util.containers.ConcurrentFactoryMap$2.create(ConcurrentFactoryMap.java:174)
at com.intellij.util.containers.ConcurrentFactoryMap.get(ConcurrentFactoryMap.java:40)
at com.intellij.psi.augment.PsiAugmentProvider.getAugments(PsiAugmentProvider.java:60)
at com.intellij.psi.augment.PsiAugmentProvider.lambda$collectAugments$2(PsiAugmentProvider.java:109)
at com.intellij.psi.augment.PsiAugmentProvider.forEach(PsiAugmentProvider.java:167)
at com.intellij.psi.augment.PsiAugmentProvider.collectAugments(PsiAugmentProvider.java:108)
at com.intellij.psi.impl.source.ClassInnerStuffCache.lambda$getMethodsMap$10(ClassInnerStuffCache.java:173)
at com.intellij.util.containers.ConcurrentFactoryMap$2.create(ConcurrentFactoryMap.java:174)
at com.intellij.util.containers.ConcurrentFactoryMap.get(ConcurrentFactoryMap.java:40)
at com.intellij.psi.impl.source.ClassInnerStuffCache.findMethodsByName(ClassInnerStuffCache.java:72)
at com.intellij.psi.impl.source.PsiClassImpl.findMethodsByName(PsiClassImpl.java:360)
at com.intellij.psi.impl.PsiClassImplUtil.findMethodsAndTheirSubstitutorsByName(PsiClassImplUtil.java:895)
at com.intellij.psi.impl.source.PsiClassImpl.findMethodsAndTheirSubstitutorsByName(PsiClassImpl.java:366)
at com.intellij.psi.util.MethodSignatureUtil.findMethodBySignature(MethodSignatureUtil.java:239)
at com.intellij.psi.util.PsiSuperMethodUtil.collectOverrideEquivalents(PsiSuperMethodUtil.java:83)
at com.intellij.codeInsight.daemon.impl.analysis.GenericsHighlightUtil.checkUnrelatedDefaultMethods(GenericsHighlightUtil.java:420)
at com.intellij.codeInsight.daemon.impl.analysis.HighlightVisitorImpl.visitIdentifier(HighlightVisitorImpl.java:729)
at com.intellij.psi.impl.source.tree.java.PsiIdentifierImpl.accept(PsiIdentifierImpl.java:36)
at com.intellij.codeInsight.daemon.impl.analysis.HighlightVisitorImpl.visit(HighlightVisitorImpl.java:184)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.runVisitors(GeneralHighlightingPass.java:338)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$collectHighlights$5(GeneralHighlightingPass.java:271)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:297)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$analyzeByVisitors$6(GeneralHighlightingPass.java:300)
at com.intellij.codeInsight.daemon.impl.analysis.HighlightVisitorImpl.lambda$analyze$1(HighlightVisitorImpl.java:209)
at com.intellij.codeInsight.daemon.impl.analysis.RefCountHolder.analyze(RefCountHolder.java:362)
at com.intellij.codeInsight.daemon.impl.analysis.HighlightVisitorImpl.analyze(HighlightVisitorImpl.java:208)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:300)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$analyzeByVisitors$6(GeneralHighlightingPass.java:300)
at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:96)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:300)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectHighlights(GeneralHighlightingPass.java:268)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:214)
at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:80)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:54)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$1(PassExecutorService.java:399)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1110)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:392)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:629)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:581)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:391)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:367)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:170)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:182)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:365)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:181)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
Caused by: com.intellij.psi.PsiInvalidElementAccessException: Element: class de.plushnikov.intellij.plugin.psi.LombokLightClassBuilder #JAVA because: psi is outdated
invalidated at: no info
... 91 more
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Reactions: 16
- Comments: 16 (1 by maintainers)
Commits related to this issue
- Consider navigation element in PSI equality checks This seems to solve issues related to psi becoming outdated. Extension of comment by ajchun: https://github.com/mplushnikov/lombok-intellij-plugin/i... — committed to GingerGeek/lombok-intellij-plugin by GingerGeek 4 years ago
- Consider navigable element in equality - seems to fix psi outdated (#860) * Consider navigation element in PSI equality checks This seems to solve issues related to psi becoming outdated. Extensi... — committed to mplushnikov/lombok-intellij-plugin by GingerGeek 4 years ago
可以先禁用lombok插件,然后重启IntelliJ IDEA,再启用lombok插件。 我的是这样恢复的。
actually I tried all that - but as soon I annotate again with @RequiredArgsConstruct - it crashes again