jnhyperion / HyperRobotFrameworkPlugin

Robot Framework plugin for PyCharm.
30 stars 4 forks source link

Pycharm IDE internal error #52

Closed NikosKoul closed 1 year ago

NikosKoul commented 1 year ago

java.lang.Throwable: Cannot distinguish StubFileElementTypes. This might worsen the performance. Providing unique externalId or adding a distinctive debugName when instantiating StubFileElementTypes can help. Version: psi.file:0:FILE -> [com.intellij.psi.tree.IStubFileElementType{psi.file;FILE;Language: Robot}, com.intellij.psi.tree.IStubFileElementType{psi.file;FILE;Language: ANY}] at com.intellij.openapi.diagnostic.Logger.error(Logger.java:202) at com.intellij.psi.stubs.PerFileElementTypeStubModificationTracker.lambda$determinePreviousFileElementType$8(PerFileElementTypeStubModificationTracker.java:203) at java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1916) at com.intellij.psi.stubs.PerFileElementTypeStubModificationTracker.determinePreviousFileElementType(PerFileElementTypeStubModificationTracker.java:199) at com.intellij.psi.stubs.PerFileElementTypeStubModificationTracker.fastCheck(PerFileElementTypeStubModificationTracker.java:101) at com.intellij.psi.stubs.PerFileElementTypeStubModificationTracker.lambda$endUpdatesBatch$2(PerFileElementTypeStubModificationTracker.java:76) at com.intellij.openapi.application.ReadAction.lambda$run$1(ReadAction.java:60) at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:891) at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:69) at com.intellij.openapi.application.ReadAction.run(ReadAction.java:59) at com.intellij.psi.stubs.PerFileElementTypeStubModificationTracker.endUpdatesBatch(PerFileElementTypeStubModificationTracker.java:75) at com.intellij.util.indexing.events.ChangedFilesCollector$4.endBatch(ChangedFilesCollector.java:246) at com.intellij.util.indexing.events.ChangedFilesCollector$5.lambda$endBatch$2(ChangedFilesCollector.java:283) at com.intellij.util.ConcurrencyUtil.withLock(ConcurrencyUtil.java:258) at com.intellij.util.indexing.events.ChangedFilesCollector$5.endBatch(ChangedFilesCollector.java:282) at com.intellij.util.indexing.events.VfsEventsMerger.processChanges(VfsEventsMerger.java:109) at com.intellij.util.indexing.events.ChangedFilesCollector.processFilesInReadAction(ChangedFilesCollector.java:265) at com.intellij.util.indexing.events.ChangedFilesCollector.processFilesToUpdateInReadAction(ChangedFilesCollector.java:224) at com.intellij.util.indexing.events.ChangedFilesCollector.ensureUpToDate(ChangedFilesCollector.java:190) at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:836) at com.intellij.psi.stubs.StubIndexEx.getContainingIds(StubIndexEx.java:365) at com.intellij.psi.stubs.StubIndexEx.processElements(StubIndexEx.java:166) at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:102) at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:90) at com.jetbrains.python.psi.stubs.PyClassNameIndex.find(PyClassNameIndex.java:28) at com.jetbrains.python.psi.stubs.PyClassNameIndex.find(PyClassNameIndex.java:35) at com.github.jnhyperion.hyperrobotframeworkplugin.psi.ref.PythonResolver.d(Unknown Source) at com.github.jnhyperion.hyperrobotframeworkplugin.psi.ref.PythonResolver.c(Unknown Source) at com.github.jnhyperion.hyperrobotframeworkplugin.psi.element.HeadingImpl.f(Unknown Source) at com.github.jnhyperion.hyperrobotframeworkplugin.psi.element.RobotFileImpl.a(Unknown Source) at com.github.jnhyperion.hyperrobotframeworkplugin.psi.element.RobotFileImpl.a(Unknown Source) at com.github.jnhyperion.hyperrobotframeworkplugin.psi.element.RobotFileImpl.a(Unknown Source) at com.github.jnhyperion.hyperrobotframeworkplugin.psi.element.RobotFileImpl.a(Unknown Source) at com.github.jnhyperion.hyperrobotframeworkplugin.psi.element.RobotFileImpl.a(Unknown Source) at com.github.jnhyperion.hyperrobotframeworkplugin.psi.ref.ResolverUtils.a(Unknown Source) at com.github.jnhyperion.hyperrobotframeworkplugin.psi.ref.RobotKeywordReference.resolve(Unknown Source) at com.intellij.codeInsight.TargetElementUtilBase.getReferencedElement(TargetElementUtilBase.java:176) at com.intellij.codeInsight.TargetElementUtilBase.doGetReferenceOrReferencedElement(TargetElementUtilBase.java:164) at com.intellij.codeInsight.TargetElementUtilBase.getReferenceOrReferencedElement(TargetElementUtilBase.java:209) at com.intellij.codeInsight.TargetElementUtilBase.getReferencedElement(TargetElementUtilBase.java:253) at com.intellij.codeInsight.TargetElementUtilBase.doFindTargetElement(TargetElementUtilBase.java:232) at com.intellij.codeInsight.TargetElementUtilBase.findTargetElement(TargetElementUtilBase.java:297) at com.intellij.codeInsight.TargetElementUtil.findTargetElement(TargetElementUtil.java:147) at com.intellij.model.psi.impl.TargetsKt.fromTargetEvaluator(targets.kt:175) at com.intellij.model.psi.impl.TargetsKt.declarationsOrReferences(targets.kt:136) at com.intellij.model.psi.impl.TargetsKt.declaredReferencedData(targets.kt:42) at com.intellij.model.psi.impl.TargetsKt.targetSymbols(targets.kt:24) at com.intellij.codeInsight.daemon.impl.IdentifierHighlighterPass.getTargetSymbols(IdentifierHighlighterPass.java:194) at com.intellij.codeInsight.daemon.impl.IdentifierHighlighterPass.highlightReferencesAndDeclarations(IdentifierHighlighterPass.java:186) at com.intellij.codeInsight.daemon.impl.IdentifierHighlighterPass.doCollectInformation(IdentifierHighlighterPass.java:91) at com.intellij.codeInsight.highlighting.BackgroundHighlighter.lambda$submitIdentifierHighlighterPass$5(BackgroundHighlighter.java:203) at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$OTelMonitor.callWrapped(NonBlockingReadActionImpl.java:746) at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$OTelMonitor$MonitoredComputation.call(NonBlockingReadActionImpl.java:778) at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.insideReadAction(NonBlockingReadActionImpl.java:573) at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$attemptComputation$3(NonBlockingReadActionImpl.java:537) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1102) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:72) at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:63) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:129) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:110) at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$1(ProgressManager.java:70) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:186) 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:60) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:173) at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:70) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:107) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:72) at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.attemptComputation(NonBlockingReadActionImpl.java:537) at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$transferToBgThread$1(NonBlockingReadActionImpl.java:444) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699) at java.base/java.lang.Thread.run(Thread.java:833)

jnhyperion commented 1 year ago

are you using the latest version 0.1.9?

NikosKoul commented 1 year ago

Yes, its the 0.1.9

image

In addition, all the keywords definitions missing, but the libraries I use, are recognised by the IDE.

image

jnhyperion commented 1 year ago

I reproduced this error in my local, I'll try to fix it in next release :)

about the library cannot be resolved issue, it's because FlaUILibrary is a dynamic library, which means the keywords is loaded in robot runtime.

you can ask this library owner to add a pyi file (SeleniumLibrary Example) to help IDE recognise the keyword statically

jnhyperion commented 1 year ago

fixed in 0.1.10