maximehamm / tzatziki

Cucumber y Tzatziki
26 stars 7 forks source link

Exception when changing between currently open feature files #46

Closed s2k closed 1 year ago

s2k commented 1 year ago

This exception happened in IntelliJ (IntelliJ IDEA 2022.3.2 (Ultimate Edition), Build #IU-223.8617.56, built on January 26, 2023), when I moved from one feature file to another.

Update: It also happened after updating IntelliJ to version 2022.3.3 RC (Ultimate Edition), Build #IU-223.8836.35, built on March 8, 2023)

Kotlin: 223-1.8.0-release-345-IJ8836.35

Cucumber+ Version: 12.0.3

java.lang.Throwable: Light files should have PSI only in one project, existing=com.intellij.psi.SingleRootFileViewProvider{vFile=LightVirtualFile: /DHBKB-1108-WaterSportsVacationalGroup.feature, content=com.intellij.psi.AbstractFileViewProvider$PsiFileContent@f65130c, eventSystemEnabled=false} in Project(name=HO KB Cucumber, containerState=COMPONENT_CREATED, componentStore=/Users/stephan/Documents/projects/HRE-2023/dev/kb-acceptance-default-ho-basis/Cucumber), requested in Project(name=HO KB Flexrules, containerState=COMPONENT_CREATED, componentStore=/Users/stephan/Documents/projects/HRE-2023/dev/kb-acceptance-default-ho-basis/Flexrules); psiFiles: class org.jetbrains.plugins.cucumber.psi.impl.GherkinFileImpl [Language: Gherkin]
    at com.intellij.openapi.diagnostic.Logger.error(Logger.java:202)
    at com.intellij.psi.impl.file.impl.FileManagerImpl.checkLightFileHasNoOtherPsi(FileManagerImpl.java:207)
    at com.intellij.psi.impl.file.impl.FileManagerImpl.findViewProvider(FileManagerImpl.java:195)
    at com.intellij.psi.impl.file.impl.FileManagerImpl.findFile(FileManagerImpl.java:362)
    at com.intellij.psi.impl.PsiDocumentManagerBase.getPsiFile(PsiDocumentManagerBase.java:148)
    at com.intellij.psi.impl.PsiDocumentManagerBase.getPsiFile(PsiDocumentManagerBase.java:97)
    at com.intellij.psi.impl.PsiDocumentManagerImpl.getPsiFile(PsiDocumentManagerImpl.java:64)
    at io.nimbly.tzatziki.view.CucumberPlusTagsView$initTagsPanel$1$1.documentChanged(CucumberPlusTagsView.kt:95)
    at jdk.internal.reflect.GeneratedMethodAccessor477.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at com.intellij.util.EventDispatcher.dispatchVoidMethod(EventDispatcher.java:120)
    at com.intellij.util.EventDispatcher.lambda$createMulticaster$1(EventDispatcher.java:85)
    at jdk.proxy1/jdk.proxy1.$Proxy100.documentChanged(Unknown Source)
    at com.intellij.openapi.editor.impl.DocumentImpl.lambda$changedUpdate$2(DocumentImpl.java:922)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeNonCancelableSection$3(CoreProgressManager.java:222)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:628)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$computeInNonCancelableSection$4(CoreProgressManager.java:230)
    at com.intellij.openapi.progress.Cancellation.computeInNonCancelableSection(Cancellation.java:95)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computeInNonCancelableSection(CoreProgressManager.java:230)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeNonCancelableSection(CoreProgressManager.java:221)
    at com.intellij.openapi.editor.impl.DocumentImpl.changedUpdate(DocumentImpl.java:919)
    at com.intellij.openapi.editor.impl.DocumentImpl.updateText(DocumentImpl.java:823)
    at com.intellij.openapi.editor.impl.DocumentImpl.replaceString(DocumentImpl.java:664)
    at com.intellij.openapi.editor.impl.DocumentImpl.replaceString(DocumentImpl.java:601)
    at com.intellij.psi.impl.PsiToDocumentSynchronizer.doCommitTransaction(PsiToDocumentSynchronizer.java:212)
    at com.intellij.psi.impl.PsiToDocumentSynchronizer.lambda$commitTransaction$1(PsiToDocumentSynchronizer.java:188)
    at com.intellij.psi.impl.PsiToDocumentSynchronizer.lambda$doSync$0(PsiToDocumentSynchronizer.java:106)
    at com.intellij.psi.impl.PsiToDocumentSynchronizer.performAtomically(PsiToDocumentSynchronizer.java:124)
    at com.intellij.psi.impl.PsiToDocumentSynchronizer.doSync(PsiToDocumentSynchronizer.java:106)
    at com.intellij.psi.impl.PsiToDocumentSynchronizer.commitTransaction(PsiToDocumentSynchronizer.java:188)
    at com.intellij.pom.core.impl.PomModelImpl.commitTransaction(PomModelImpl.java:197)
    at com.intellij.pom.core.impl.PomModelImpl.lambda$runTransaction$1(PomModelImpl.java:152)
    at com.intellij.psi.impl.DebugUtil.performPsiModification(DebugUtil.java:481)
    at com.intellij.pom.core.impl.PomModelImpl.lambda$runTransaction$2(PomModelImpl.java:104)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeNonCancelableSection$3(CoreProgressManager.java:222)
    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.lambda$computeInNonCancelableSection$4(CoreProgressManager.java:230)
    at com.intellij.openapi.progress.Cancellation.computeInNonCancelableSection(Cancellation.java:99)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computeInNonCancelableSection(CoreProgressManager.java:230)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeNonCancelableSection(CoreProgressManager.java:221)
    at com.intellij.pom.core.impl.PomModelImpl.runTransaction(PomModelImpl.java:93)
    at com.intellij.pom.core.impl.PomModelImpl.lambda$reparseFile$3(PomModelImpl.java:243)
    at com.intellij.codeInsight.completion.OffsetsInFile.replaceInCopy$lambda$2(OffsetsInFile.kt:54)
    at com.intellij.codeInsight.completion.CompletionInitializationUtil.lambda$doInsertDummyIdentifier$6(CompletionInitializationUtil.java:147)
    at com.intellij.codeInsight.completion.CompletionInitializationUtil.lambda$skipWriteLockIfNeeded$7(CompletionInitializationUtil.java:160)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWriteActionWithClass(ApplicationImpl.java:968)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:994)
    at com.intellij.openapi.application.WriteAction.compute(WriteAction.java:96)
    at com.intellij.codeInsight.completion.CompletionInitializationUtil.lambda$skipWriteLockIfNeeded$8(CompletionInitializationUtil.java:160)
    at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$scheduleContributorsAfterAsyncCommit$6(CodeCompletionHandlerBase.java:312)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$safeTransferToEdt$6(NonBlockingReadActionImpl.java:633)
    at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
    at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:21)
    at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:838)
    at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:454)
    at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:74)
    at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:114)
    at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:36)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:779)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:730)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:724)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:749)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:909)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:756)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$5(IdeEventQueue.java:437)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:436)
    at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
    at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:615)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:434)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:838)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:480)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
maximehamm commented 1 year ago

Hello Please would you mind test again with latest version... i've made many improvement those few weeks... it might probably be fixed...

s2k commented 1 year ago

I've not observed this behaviour in the recent few days.

Thanks, BTW, for the regular updates! I find Cucumber+ really useful.