ChrisCarini / iris-jetbrains-plugin

A plugin for Iris notifications in the JetBrains ecosystem of IDEs
https://plugins.jetbrains.com/plugin/18137-iris
Apache License 2.0
2 stars 0 forks source link

com.intellij.diagnostic.PluginException: Cannot create class com.chriscarini.jetbrains.iris.plugin.settings.SettingsConfigurable #269

Open ChrisCarini opened 4 months ago

ChrisCarini commented 4 months ago
Cannot create configurable

com.intellij.diagnostic.PluginException: Cannot create class com.chriscarini.jetbrains.iris.plugin.settings.SettingsConfigurable (classloader=PluginClassLoader(plugin=PluginDescriptor(name=Iris, id=com.chriscarini.jetbrains.iris-jetbrains-plugin, descriptorPath=plugin.xml, path=~/Library/Application Support/JetBrains/LinkedInIdea233/plugins/'Iris', version=1.2.2, package=null, isBundled=false), packagePrefix=null, state=active))
    at com.intellij.serviceContainer.ComponentManagerImpl.doInstantiateClass(ComponentManagerImpl.kt:1401)
    at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClass(ComponentManagerImpl.kt:1377)
    at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClass(ComponentManagerImpl.kt:1426)
    at com.intellij.openapi.options.ConfigurableEP$ClassProducer.createElement(ConfigurableEP.java:429)
    at com.intellij.openapi.options.ConfigurableEP.createConfigurable(ConfigurableEP.java:338)
    at com.intellij.openapi.options.ex.ConfigurableWrapper.createConfigurable(ConfigurableWrapper.java:39)
    at com.intellij.openapi.options.ex.ConfigurableWrapper.getConfigurable(ConfigurableWrapper.java:116)
    at com.intellij.openapi.options.ex.ConfigurableWrapper.cast(ConfigurableWrapper.java:95)
    at com.intellij.openapi.options.ex.ConfigurableWrapper.getId(ConfigurableWrapper.java:222)
    at com.intellij.ide.util.gotoByName.GotoActionModel.lambda$new$0(GotoActionModel.java:87)
    at com.intellij.openapi.util.NotNullLazyValue$4.compute(NotNullLazyValue.java:119)
    at com.intellij.openapi.util.NotNullLazyValue$4.getValue(NotNullLazyValue.java:104)
    at com.intellij.ide.util.gotoByName.GotoActionModel.getConfigurablesNames(GotoActionModel.java:407)
    at com.intellij.ide.util.gotoByName.ActionAsyncProvider.optionsFlow(ActionAsyncProvider.kt:288)
    at com.intellij.ide.util.gotoByName.ActionAsyncProvider.access$optionsFlow(ActionAsyncProvider.kt:37)
    at com.intellij.ide.util.gotoByName.ActionAsyncProvider$filterElements$1$1$optionsPromise$1.invokeSuspend(ActionAsyncProvider.kt:73)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
    at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
    at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
Caused by: java.lang.NullPointerException: Cannot invoke "java.awt.FontMetrics.charsWidth(char[], int, int)" because "fm" is null
    at java.desktop/sun.swing.SwingUtilities2.getFontCharsWidth(SwingUtilities2.java:927)
    at java.desktop/javax.swing.text.Utilities.getTabbedTextWidth(Utilities.java:365)
    at java.desktop/javax.swing.text.Utilities.getTabbedTextWidth(Utilities.java:287)
    at java.desktop/javax.swing.text.GlyphPainter1.getSpan(GlyphPainter1.java:66)
    at java.desktop/javax.swing.text.GlyphView.getPreferredSpan(GlyphView.java:587)
    at java.desktop/javax.swing.text.View.getMaximumSpan(View.java:266)
    at java.desktop/javax.swing.text.BoxView.calculateMajorAxisRequirements(BoxView.java:874)
    at java.desktop/javax.swing.text.ParagraphView$Row.calculateMajorAxisRequirements(ParagraphView.java:1007)
    at java.desktop/javax.swing.text.BoxView.checkRequests(BoxView.java:931)
    at java.desktop/javax.swing.text.BoxView.getMaximumSpan(BoxView.java:592)
    at java.desktop/javax.swing.text.ParagraphView$Row.getMaximumSpan(ParagraphView.java:1126)
    at java.desktop/javax.swing.text.BoxView.layoutMinorAxis(BoxView.java:838)
    at java.desktop/javax.swing.text.BoxView.setSpanOnAxis(BoxView.java:345)
    at java.desktop/javax.swing.text.BoxView.layout(BoxView.java:709)
    at java.desktop/javax.swing.text.FlowView.layout(FlowView.java:228)
    at java.desktop/javax.swing.text.BoxView.setSize(BoxView.java:398)
    at java.desktop/javax.swing.text.BoxView.updateChildSizes(BoxView.java:367)
    at java.desktop/javax.swing.text.BoxView.setSpanOnAxis(BoxView.java:349)
    at java.desktop/javax.swing.text.BoxView.layout(BoxView.java:709)
    at java.desktop/javax.swing.text.BoxView.setSize(BoxView.java:398)
    at java.desktop/javax.swing.text.BoxView.updateChildSizes(BoxView.java:367)
    at java.desktop/javax.swing.text.BoxView.setSpanOnAxis(BoxView.java:349)
    at java.desktop/javax.swing.text.BoxView.layout(BoxView.java:709)
    at java.desktop/javax.swing.text.BoxView.setSize(BoxView.java:398)
    at java.desktop/javax.swing.plaf.basic.BasicHTML$Renderer.setSize(BasicHTML.java:697)
    at java.desktop/javax.swing.plaf.basic.BasicHTML$Renderer.<init>(BasicHTML.java:471)
    at java.desktop/javax.swing.plaf.basic.BasicHTML.createHTMLView(BasicHTML.java:93)
    at java.desktop/javax.swing.plaf.basic.BasicHTML.updateRenderer(BasicHTML.java:240)
    at java.desktop/javax.swing.plaf.basic.BasicLabelUI.propertyChange(BasicLabelUI.java:493)
    at java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:343)
    at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:335)
    at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:268)
    at java.desktop/java.awt.Component.firePropertyChange(Component.java:8759)
    at java.desktop/java.awt.Component.setFont(Component.java:1980)
    at java.desktop/java.awt.Container.setFont(Container.java:1780)
    at java.desktop/javax.swing.JComponent.setFont(JComponent.java:2810)
    at com.intellij.ui.components.JBLabel.setFont(JBLabel.java:216)
    at com.intellij.util.ui.UIUtil.applyStyle(UIUtil.java:163)
    at com.intellij.ui.components.JBLabel.setComponentStyle(JBLabel.java:80)
    at com.intellij.ui.components.JBLabel.<init>(JBLabel.java:62)
    at com.intellij.util.ui.FormBuilder.addTooltip(FormBuilder.java:109)
    at com.chriscarini.jetbrains.iris.plugin.settings.SettingsConfigurable.buildMainPanel(SettingsConfigurable.java:114)
    at com.chriscarini.jetbrains.iris.plugin.settings.SettingsConfigurable.<init>(SettingsConfigurable.java:68)
    at com.intellij.serviceContainer.ComponentManagerImpl.findConstructorAndInstantiateClass(ComponentManagerImpl.kt:1383)
    at com.intellij.serviceContainer.ComponentManagerImpl.doInstantiateClass(ComponentManagerImpl.kt:1392)
    ... 23 more
ChrisCarini commented 4 months ago

exception 2

com.intellij.diagnostic.PluginException: Can't instantiate configurable for com.chriscarini.jetbrains.iris.plugin.settings.SettingsConfigurable [Plugin: com.chriscarini.jetbrains.iris-jetbrains-plugin]
    at com.intellij.openapi.options.ex.ConfigurableWrapper.getConfigurable(ConfigurableWrapper.java:121)
    at com.intellij.openapi.options.ex.ConfigurableWrapper.cast(ConfigurableWrapper.java:95)
    at com.intellij.openapi.options.ex.ConfigurableWrapper.getId(ConfigurableWrapper.java:222)
    at com.intellij.ide.util.gotoByName.GotoActionModel.lambda$new$0(GotoActionModel.java:87)
    at com.intellij.openapi.util.NotNullLazyValue$4.compute(NotNullLazyValue.java:119)
    at com.intellij.openapi.util.NotNullLazyValue$4.getValue(NotNullLazyValue.java:104)
    at com.intellij.ide.util.gotoByName.GotoActionModel.getConfigurablesNames(GotoActionModel.java:407)
    at com.intellij.ide.util.gotoByName.ActionAsyncProvider.optionsFlow(ActionAsyncProvider.kt:288)
    at com.intellij.ide.util.gotoByName.ActionAsyncProvider.access$optionsFlow(ActionAsyncProvider.kt:37)
    at com.intellij.ide.util.gotoByName.ActionAsyncProvider$filterElements$1$1$optionsPromise$1.invokeSuspend(ActionAsyncProvider.kt:73)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
    at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
    at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
ChrisCarini commented 4 months ago

exception 3

com.intellij.diagnostic.PluginException: No display name specified in plugin descriptor XML file for configurable com.chriscarini.jetbrains.iris.plugin.settings.SettingsConfigurable;
specify it using 'displayName' or 'key' attribute to avoid necessity to load the configurable class when Settings dialog is opened [Plugin: com.chriscarini.jetbrains.iris-jetbrains-plugin]
    at com.intellij.openapi.options.ex.ConfigurableWrapper.getDisplayName(ConfigurableWrapper.java:156)
    at com.intellij.ide.util.gotoByName.GotoActionModel.lambda$new$0(GotoActionModel.java:87)
    at com.intellij.openapi.util.NotNullLazyValue$4.compute(NotNullLazyValue.java:119)
    at com.intellij.openapi.util.NotNullLazyValue$4.getValue(NotNullLazyValue.java:104)
    at com.intellij.ide.util.gotoByName.GotoActionModel.getConfigurablesNames(GotoActionModel.java:407)
    at com.intellij.ide.util.gotoByName.ActionAsyncProvider.optionsFlow(ActionAsyncProvider.kt:288)
    at com.intellij.ide.util.gotoByName.ActionAsyncProvider.access$optionsFlow(ActionAsyncProvider.kt:37)
    at com.intellij.ide.util.gotoByName.ActionAsyncProvider$filterElements$1$1$optionsPromise$1.invokeSuspend(ActionAsyncProvider.kt:73)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
    at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
    at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
ChrisCarini commented 3 weeks ago

Just ran into the exact same issue.