intellij-haxe
intellij-haxe copied to clipboard
plugin 1.4.28 exception
Hi. IntelliJ IDEA 2023.2.5, Haxe plugin 1.4.28
com.intellij.diagnostic.PluginException: Non-idempotent computation: it returns different results when invoked multiple times or on different threads:
0 != 1
which is length of [] and [FIELD_DECLARATION 'visible' "var visible(get, set) : Bool;"]
Recomputation gives [FIELD_DECLARATION 'visible' "var visible(get, set) : Bool;"] (class java.util.Collections$SingletonList) which is equivalent to 'fresh'
Recomputation log:
Resolving REFERENCE_EXPRESSION "_raysAnim.visible":_raysAnim.visible:HaxeReferenceExpressionImpl of class com.intellij.plugins.haxe.lang.psi.impl.HaxeReferenceExpressionImpl [Plugin: com.intellij.plugins.haxe]
at com.intellij.diagnostic.PluginProblemReporterImpl.createPluginExceptionByClass(PluginProblemReporterImpl.java:23)
at com.intellij.diagnostic.PluginException.createByClass(PluginException.java:89)
at com.intellij.util.IdempotenceChecker.reportFailure(IdempotenceChecker.java:97)
at com.intellij.util.IdempotenceChecker.checkEquivalence(IdempotenceChecker.java:82)
at com.intellij.psi.impl.source.resolve.ResolveCache.cache(ResolveCache.java:296)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:224)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:268)
at com.intellij.plugins.haxe.lang.psi.HaxeResolver.resolve(HaxeResolver.java:100)
at com.intellij.plugins.haxe.lang.psi.impl.HaxeReferenceImpl.doResolve(HaxeReferenceImpl.java:248)
at com.intellij.plugins.haxe.lang.psi.impl.HaxeReferenceImpl.multiResolve(HaxeReferenceImpl.java:239)
at com.intellij.plugins.haxe.lang.psi.impl.HaxeReferenceImpl.multiResolve(HaxeReferenceImpl.java:281)
at com.intellij.plugins.haxe.lang.psi.impl.HaxeReferenceImpl.resolve(HaxeReferenceImpl.java:295)
at com.intellij.plugins.haxe.lang.psi.impl.HaxeReferenceImpl.resolve(HaxeReferenceImpl.java:177)
at com.intellij.plugins.haxe.ide.annotator.HaxeAnnotatingVisitor.checkDeprecatedVarCall(HaxeAnnotatingVisitor.java:122)
at com.intellij.plugins.haxe.ide.annotator.HaxeAnnotatingVisitor.visitReferenceExpression(HaxeAnnotatingVisitor.java:50)
at com.intellij.plugins.haxe.lang.psi.impl.HaxeReferenceExpressionImpl.accept(HaxeReferenceExpressionImpl.java:20)
at com.intellij.plugins.haxe.lang.psi.impl.HaxeReferenceExpressionImpl.accept(HaxeReferenceExpressionImpl.java:25)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:59)
at com.intellij.plugins.haxe.ide.annotator.HaxeAnnotatingVisitor.visitElement(HaxeAnnotatingVisitor.java:106)
at com.intellij.plugins.haxe.lang.psi.HaxeVisitor.visitPsiCompositeElement(HaxeVisitor.java:916)
at com.intellij.plugins.haxe.lang.psi.HaxeVisitor.visitExpression(HaxeVisitor.java:235)
at com.intellij.plugins.haxe.lang.psi.HaxeVisitor.visitBinaryExpression(HaxeVisitor.java:89)
at com.intellij.plugins.haxe.lang.psi.HaxeVisitor.visitAssignExpression(HaxeVisitor.java:77)
at com.intellij.plugins.haxe.lang.psi.impl.HaxeAssignExpressionImpl.accept(HaxeAssignExpressionImpl.java:21)
at com.intellij.plugins.haxe.lang.psi.impl.HaxeAssignExpressionImpl.accept(HaxeAssignExpressionImpl.java:26)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:59)
at com.intellij.plugins.haxe.ide.annotator.HaxeAnnotatingVisitor.visitElement(HaxeAnnotatingVisitor.java:106)
at com.intellij.plugins.haxe.lang.psi.HaxeVisitor.visitPsiCompositeElement(HaxeVisitor.java:916)
at com.intellij.plugins.haxe.lang.psi.HaxeVisitor.visitBlockStatementPsiMixin(HaxeVisitor.java:832)
at com.intellij.plugins.haxe.lang.psi.HaxeVisitor.visitBlockStatement(HaxeVisitor.java:101)
at com.intellij.plugins.haxe.lang.psi.impl.HaxeBlockStatementImpl.accept(HaxeBlockStatementImpl.java:20)
at com.intellij.plugins.haxe.lang.psi.impl.HaxeBlockStatementImpl.accept(HaxeBlockStatementImpl.java:25)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:59)
at com.intellij.plugins.haxe.ide.annotator.HaxeAnnotatingVisitor.visitElement(HaxeAnnotatingVisitor.java:106)
at com.intellij.plugins.haxe.lang.psi.HaxeVisitor.visitPsiCompositeElement(HaxeVisitor.java:916)
at com.intellij.plugins.haxe.lang.psi.HaxeVisitor.visitMethod(HaxeVisitor.java:864)
at com.intellij.plugins.haxe.ide.annotator.HaxeAnnotatingVisitor.visitMethodDeclaration(HaxeAnnotatingVisitor.java:76)
at com.intellij.plugins.haxe.lang.psi.impl.HaxeMethodDeclarationImpl.accept(HaxeMethodDeclarationImpl.java:20)
at com.intellij.plugins.haxe.lang.psi.impl.HaxeMethodDeclarationImpl.accept(HaxeMethodDeclarationImpl.java:25)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:59)
at com.intellij.plugins.haxe.ide.annotator.HaxeAnnotatingVisitor.visitElement(HaxeAnnotatingVisitor.java:106)
at com.intellij.plugins.haxe.lang.psi.HaxeVisitor.visitPsiCompositeElement(HaxeVisitor.java:916)
at com.intellij.plugins.haxe.lang.psi.HaxeVisitor.visitClassBody(HaxeVisitor.java:128)
at com.intellij.plugins.haxe.lang.psi.impl.HaxeClassBodyImpl.accept(HaxeClassBodyImpl.java:20)
at com.intellij.plugins.haxe.lang.psi.impl.HaxeClassBodyImpl.accept(HaxeClassBodyImpl.java:25)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:59)
at com.intellij.plugins.haxe.ide.annotator.HaxeAnnotatingVisitor.visitElement(HaxeAnnotatingVisitor.java:106)
at com.intellij.plugins.haxe.lang.psi.HaxeVisitor.visitPsiCompositeElement(HaxeVisitor.java:916)
at com.intellij.plugins.haxe.lang.psi.HaxeVisitor.visitClass(HaxeVisitor.java:836)
at com.intellij.plugins.haxe.lang.psi.HaxeVisitor.visitClassDeclaration(HaxeVisitor.java:132)
at com.intellij.plugins.haxe.lang.psi.impl.HaxeClassDeclarationImpl.accept(HaxeClassDeclarationImpl.java:20)
at com.intellij.plugins.haxe.lang.psi.impl.HaxeClassDeclarationImpl.accept(HaxeClassDeclarationImpl.java:25)
at com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:59)
at com.intellij.plugins.haxe.ide.annotator.HaxeAnnotatingVisitor.visitElement(HaxeAnnotatingVisitor.java:106)
at com.intellij.plugins.haxe.lang.psi.HaxeVisitor.visitPsiCompositeElement(HaxeVisitor.java:916)
at com.intellij.plugins.haxe.lang.psi.HaxeVisitor.visitModule(HaxeVisitor.java:508)
at com.intellij.plugins.haxe.lang.psi.impl.HaxeModuleImpl.accept(HaxeModuleImpl.java:20)
at com.intellij.plugins.haxe.lang.psi.impl.HaxeModuleImpl.accept(HaxeModuleImpl.java:25)
at com.intellij.psi.impl.source.tree.SharedImplUtil.acceptChildren(SharedImplUtil.java:183)
at com.intellij.psi.impl.source.PsiFileImpl.acceptChildren(PsiFileImpl.java:747)
at com.intellij.plugins.haxe.ide.annotator.HaxeAnnotatingVisitor.visitElement(HaxeAnnotatingVisitor.java:106)
at com.intellij.psi.PsiElementVisitor.visitFile(PsiElementVisitor.java:51)
at com.intellij.plugins.haxe.ide.inspections.HaxeUnresolvedSymbolInspection.checkFile(HaxeUnresolvedSymbolInspection.java:94)
at com.intellij.codeInspection.LocalInspectionTool$1.visitFile(LocalInspectionTool.java:138)
at com.intellij.extapi.psi.PsiFileBase.accept(PsiFileBase.java:59)
at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processInOrder$10(InspectionRunner.java:322)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1133)
at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processInOrder$11(InspectionRunner.java:342)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:201)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:207)
at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processInOrder$12(InspectionRunner.java:348)
at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:159)
at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:151)
at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processInOrder$13(InspectionRunner.java:311)
at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:130)
at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:119)
at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processInOrder$14(InspectionRunner.java:311)
at com.intellij.concurrency.JobLauncherImpl$1MyProcessQueueTask.lambda$call$0(JobLauncherImpl.java:314)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:603)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:61)
at com.intellij.concurrency.JobLauncherImpl$1MyProcessQueueTask.call(JobLauncherImpl.java:299)
at com.intellij.concurrency.JobLauncherImpl.processQueue(JobLauncherImpl.java:367)
at com.intellij.codeInsight.daemon.impl.InspectionRunner.processInOrder(InspectionRunner.java:310)
at com.intellij.codeInsight.daemon.impl.InspectionRunner.visitElements(InspectionRunner.java:285)
at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$inspect$4(InspectionRunner.java:129)
at com.intellij.codeInspection.InspectionEngine.withSession(InspectionEngine.java:227)
at com.intellij.codeInsight.daemon.impl.InspectionRunner.inspect(InspectionRunner.java:115)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.collectInformationWithProgress(LocalInspectionsPass.java:113)
at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:95)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:57)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$1(PassExecutorService.java:390)
at com.intellij.platform.diagnostic.telemetry.helpers.TraceKt.runWithSpanIgnoreThrows(trace.kt:77)
at com.intellij.platform.diagnostic.telemetry.helpers.TraceUtil.runWithSpanThrows(TraceUtil.java:24)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:386)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1133)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$3(PassExecutorService.java:377)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:603)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:61)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:376)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:352)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:201)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:207)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:350)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:190)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
could you try 1.4.30 and see if the problem happens again ?
i believe most Non-idempotent computation errors should be fixed now so closing this one.