Garethp / Rider-RimworldDevelopment

MIT License
9 stars 2 forks source link

FrontendDocumentationProvider crashes upon launch #31

Closed LinnielDW closed 8 months ago

LinnielDW commented 8 months ago

Using Rider 2023.3.3. Seen this issue before? It happens upon loading a project. The XML suggestions do not come up after this appears.

com.intellij.diagnostic.PluginException: com.jetbrains.rdclient.quickDoc.FrontendDocumentationProvider PluginClassLoader(plugin=PluginDescriptor(name=Rimworld Development Environment, id=com.jetbrains.rider.plugins.rimworlddev, descriptorPath=plugin.xml, path=~\AppData\Roaming\JetBrains\Rider2023.3\plugins\rimworlddev, version=2023.3.2, package=null, isBundled=false), packagePrefix=null, state=active)
    at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClass(ComponentManagerImpl.kt:1434)
    at com.intellij.serviceContainer.LazyExtensionInstance.createInstance(LazyExtensionInstance.java:55)
    at com.intellij.serviceContainer.LazyExtensionInstance.getInstance(LazyExtensionInstance.java:44)
    at com.intellij.serviceContainer.BaseKeyedLazyInstance.getInstance(BaseKeyedLazyInstance.java:38)
    at com.intellij.openapi.util.KeyedExtensionCollector.instantiate(KeyedExtensionCollector.java:174)
    at com.intellij.openapi.util.KeyedExtensionCollector.buildExtensionsFromExtensionPoint(KeyedExtensionCollector.java:162)
    at com.intellij.openapi.util.KeyedExtensionCollector.buildExtensions(KeyedExtensionCollector.java:137)
    at com.intellij.lang.LanguageExtension.buildExtensions(LanguageExtension.java:134)
    at com.intellij.lang.LanguageExtension.buildExtensions(LanguageExtension.java:19)
    at com.intellij.openapi.util.KeyedExtensionCollector.forKey(KeyedExtensionCollector.java:114)
    at com.intellij.lang.LanguageExtension.collectAllForLanguage(LanguageExtension.java:125)
    at com.intellij.lang.LanguageExtension.allForLanguage(LanguageExtension.java:118)
    at com.intellij.lang.LanguageDocumentation.findForLanguage(LanguageDocumentation.java:28)
    at com.intellij.lang.LanguageDocumentation.findForLanguage(LanguageDocumentation.java:10)
    at com.intellij.lang.LanguageExtension.forLanguage(LanguageExtension.java:93)
    at com.intellij.lang.LanguageDocumentation.forLanguage(LanguageDocumentation.java:23)
    at com.intellij.codeInsight.documentation.DocumentationManager.getProviderFromElement(DocumentationManager.java:1257)
    at com.intellij.codeInsight.documentation.DocumentationManager.getProviderFromElement(DocumentationManager.java:1235)
    at com.intellij.codeInsight.documentation.render.InlineDocumentationImplKt.inlineDocumentationItems(inlineDocumentationImpl.kt:21)
    at com.intellij.codeInsight.documentation.render.DocRenderPassFactory.calculateItemsToRender(DocRenderPassFactory.java:81)
    at com.intellij.codeInsight.documentation.render.DocRenderPassFactory$DocRenderPass.doCollectInformation(DocRenderPassFactory.java:66)
    at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:55)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$1(PassExecutorService.java:406)
    at com.intellij.platform.diagnostic.telemetry.helpers.TraceKt.runWithSpanIgnoreThrows(trace.kt:76)
    at com.intellij.platform.diagnostic.telemetry.helpers.TraceUtil.runWithSpanThrows(TraceUtil.java:34)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:401)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1075)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$3(PassExecutorService.java:392)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:610)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:685)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:641)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:609)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:78)
    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:200)
    at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:184)
    at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:365)
    at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:187)
    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)
Caused by: java.lang.ClassNotFoundException: com.jetbrains.rdclient.quickDoc.FrontendDocumentationProvider PluginClassLoader(plugin=PluginDescriptor(name=Rimworld Development Environment, id=com.jetbrains.rider.plugins.rimworlddev, descriptorPath=plugin.xml, path=~\AppData\Roaming\JetBrains\Rider2023.3\plugins\rimworlddev, version=2023.3.2, package=null, isBundled=false), packagePrefix=null, state=active)
    at com.intellij.serviceContainer.ComponentManagerImplKt.doLoadClass(ComponentManagerImpl.kt:2255)
    at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClass(ComponentManagerImpl.kt:1426)
    ... 43 more
Garethp commented 8 months ago

Is this happening with multiple projects, or just one?

LinnielDW commented 8 months ago

With all my projects. I've tried defining new ones too. I assumed it might have been a plugin conflict, so I disabled everything except yours but no dice. Let me try reinstalling rider and see if that helps.

Garethp commented 8 months ago

Can you also double-check which Rider version you're using? The latest is only 2023.3 as far as I can see. If you've got a specific version, I can test on that

LinnielDW commented 8 months ago

Here is what i'm using. I tried uninstalling rider and deleting local settings, but no dice :(

JetBrains Rider 2023.3.2
Build #RD-233.13135.100, built on December 19, 2023
Licensed to More Persona Traits / Linniel Driver-Williams
Subscription is active until October 11, 2024.
For non-commercial open source development only.
Runtime version: 17.0.9+7-b1087.9 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 10.0
.NET Core v7.0.10 x64 (Server GC)
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 8
Registry:
  editor.config.csharp.support=true
Non-Bundled Plugins:
  com.jetbrains.rider.plugins.rimworlddev (2023.3.2)
LinnielDW commented 8 months ago

I'm unsure if it's related, but I also get this when I open the settings window of Rider before launching a project

com.intellij.diagnostic.PluginException: No display name specified in plugin descriptor XML file for configurable RimworldDev.Rider.settings.RimworldSettings;
specify it using 'displayName' or 'key' attribute to avoid necessity to load the configurable class when Settings dialog is opened [Plugin: com.jetbrains.rider.plugins.rimworlddev]
    at com.intellij.openapi.options.ex.ConfigurableWrapper.getDisplayName(ConfigurableWrapper.java:156)
    at com.intellij.openapi.options.ex.Weighted.lambda$static$0(Weighted.java:26)
    at java.base/java.util.TimSort.binarySort(TimSort.java:296)
    at java.base/java.util.TimSort.sort(TimSort.java:221)
    at java.base/java.util.Arrays.sort(Arrays.java:1307)
    at java.base/java.util.ArrayList.sort(ArrayList.java:1721)
    at com.intellij.openapi.options.ex.SortedConfigurableGroup.buildConfigurables(SortedConfigurableGroup.java:41)
    at com.intellij.openapi.options.SearchableConfigurable$Parent$Abstract.getConfigurables(SearchableConfigurable.java:75)
    at com.intellij.openapi.options.ex.EpBasedConfigurableGroupKt.collect(EpBasedConfigurableGroup.kt:148)
    at com.intellij.openapi.options.ex.EpBasedConfigurableGroupKt.access$collect(EpBasedConfigurableGroup.kt:1)
    at com.intellij.openapi.options.ex.EpBasedConfigurableGroup.<init>(EpBasedConfigurableGroup.kt:110)
    at com.intellij.openapi.options.ex.ConfigurableExtensionPointUtil.getConfigurableGroup(ConfigurableExtensionPointUtil.java:119)
    at com.intellij.ide.actions.ShowSettingsUtilImpl$Companion.getConfigurableGroups(ShowSettingsUtilImpl.kt:48)
    at com.intellij.ide.actions.ShowSettingsUtilImpl.getConfigurableGroups(ShowSettingsUtilImpl.kt)
    at com.intellij.ide.actions.ShowSettingsAction.perform(ShowSettingsAction.java:61)
    at com.intellij.ide.actions.ShowSettingsAction.actionPerformed(ShowSettingsAction.java:48)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.doPerformActionOrShowPopup(ActionUtil.java:344)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performActionDumbAwareWithCallbacks$4(ActionUtil.java:318)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:381)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAwareWithCallbacks(ActionUtil.java:318)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.invokeAction(ActionUtil.java:553)
    at com.intellij.ui.popup.ActionPopupStep.performAction(ActionPopupStep.java:258)
    at com.intellij.ui.popup.ActionPopupStep.lambda$onChosen$3(ActionPopupStep.java:235)
    at com.intellij.ui.popup.AbstractPopup.lambda$dispose$18(AbstractPopup.java:1733)
    at com.intellij.openapi.wm.impl.FocusManagerImpl.lambda$doWhenFocusSettlesDown$3(FocusManagerImpl.java:169)
    at com.intellij.util.ui.EdtInvocationManager.invokeLaterIfNeeded(EdtInvocationManager.java:33)
    at com.intellij.ide.IdeEventQueue.ifFocusEventsInTheQueue(IdeEventQueue.kt:220)
    at com.intellij.ide.IdeEventQueue.executeWhenAllFocusEventsLeftTheQueue(IdeEventQueue.kt:186)
    at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:165)
    at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:159)
    at com.intellij.ui.popup.AbstractPopup.dispose(AbstractPopup.java:1731)
    at com.intellij.ui.popup.WizardPopup.dispose(WizardPopup.java:161)
    at com.intellij.ui.popup.list.ListPopupImpl.dispose(ListPopupImpl.java:407)
    at com.intellij.ui.popup.PopupFactoryImpl$ActionGroupPopup.dispose(PopupFactoryImpl.java:293)
    at com.intellij.openapi.util.ObjectTree.runWithTrace(ObjectTree.java:130)
    at com.intellij.openapi.util.ObjectTree.executeAll(ObjectTree.java:162)
    at com.intellij.openapi.util.Disposer.dispose(Disposer.java:250)
    at com.intellij.openapi.util.Disposer.dispose(Disposer.java:238)
    at com.intellij.ui.popup.WizardPopup.disposeAllParents(WizardPopup.java:269)
    at com.intellij.ui.popup.list.ListPopupImpl.disposePopup(ListPopupImpl.java:518)
    at com.intellij.ui.popup.list.ListPopupImpl.handleNextStep(ListPopupImpl.java:542)
    at com.intellij.ui.popup.list.ListPopupImpl._handleSelect(ListPopupImpl.java:505)
    at com.intellij.ui.popup.list.ListPopupImpl.handleSelect(ListPopupImpl.java:449)
    at com.intellij.ui.popup.PopupFactoryImpl$ActionGroupPopup.handleSelect(PopupFactoryImpl.java:305)
    at com.intellij.ui.popup.list.ListPopupImpl$MyMouseListener.mouseReleased(ListPopupImpl.java:745)
    at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:298)
    at java.desktop/java.awt.Component.processMouseEvent(Component.java:6657)
    at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3385)
    at com.intellij.ui.popup.list.ListPopupImpl$MyList.processMouseEvent(ListPopupImpl.java:810)
    at java.desktop/java.awt.Component.processEvent(Component.java:6422)
    at java.desktop/java.awt.Container.processEvent(Container.java:2266)
    at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5027)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4855)
    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4969)
    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4583)
    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4524)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
    at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2809)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4855)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:794)
    at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
    at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:733)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:766)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:764)
    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:763)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:695)
    at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.kt:635)
    at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$10(IdeEventQueue.kt:580)
    at com.intellij.openapi.application.impl.RwLockHolder.runWithEnabledImplicitRead(RwLockHolder.kt:75)
    at com.intellij.openapi.application.impl.RwLockHolder.runWithImplicitRead(RwLockHolder.kt:67)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:580)
    at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:72)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:355)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:354)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:793)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:354)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:349)
    at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1014)
    at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:114)
    at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1014)
    at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:349)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:848)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:391)
    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)
Garethp commented 8 months ago

Would you be able to hop on a quick Discord call any time in the next couple of days so I can try to see things over video and suggest a few things that might help me get some more information?

feldoh commented 8 months ago

I get the same, but the plugin still works. Not sure which bit is breaking or if it's just a race condition at startup. It's easy to forget it's even happened but clicking on the IDE problem tray icon brings up the same stacktrace as LinnielDW image

Garethp commented 8 months ago

Thanks for that info! I wasn't seeing a pop-up and my plugin was still working so I didn't notice those errors at all. I'll get a fix up on the releases page in the next few-ish minutes and submit it to the marketplace for release when they approve it

Garethp commented 8 months ago

The fix is in Master, a build has been published to the releases page of this repo and I've uploaded the update to the marketplace for review. I'm not sure when they'll get around to approving it, so feel free to just grab the update from the Releases page

LinnielDW commented 8 months ago

For me, the XML features weren't working, but I'll download the release and give it a spin when I get some peace :D

Garethp commented 8 months ago

I think the XML Features might not be working for a separate reason. That might be easier to figure out over Discord than on Github Issues though

LinnielDW commented 8 months ago

Update: I updated Rider and the plugin today after taking a break from RW modding over the holiday and the XML suggestions work again. Thanks for the support! 🎉