krasa / GrepConsole

IntelliJ plugin - https://plugins.jetbrains.com/plugin/7125
Apache License 2.0
438 stars 57 forks source link

Cannot create class krasa.grepconsole.integration.LookAndFeelListener on IDE start #218

Closed bazzik closed 2 years ago

bazzik commented 2 years ago

Describe the bug IDE report an unhandled exception on the PhpStorm launch. I believe it started to happen about 2 weeks ago. But since I've used PhpStorm only 1 few times for that period (and the issue occurs on the IDE launch and does not affect me afterwards) I did not bother to report it sooner.

To Reproduce Just launch the IDE with the latest plugin installed.

Screenshots image

Environment :

PhpStorm 2021.3.2
Build #PS-213.6777.58, built on January 31, 2022
Runtime version: 11.0.13+7-b1751.25 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 10 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 750M
Cores: 4
Registry:
    debugger.watches.in.variables=false
    run.processes.with.pty=true
    project.tree.structure.show.url=false
    documentation.show.toolbar=true

Non-Bundled Plugins:
    ru.crazycoder.plugins.tabdir (1.6.7)
    net.seesharpsoft.intellij.plugins.file-preview (1.6.4)
    monokai-pro (1.6)
    lermitage.intellij.extra.icons (1.69.3.203)
    github.com.zh1614933.Paste-Images-as-Base64Str (1.0.2)
    de.netnexus.camelcaseplugin (3.0.12)
    com.ultrahob.zerolength.plugin2 (0.93)
    com.markskelton.one-dark-theme (5.5.0)
    com.intellij.plugin.copy.options (0.3)
    com.intellij.lang.liquid (213.5744.224)
    org.intellij.plugins.postcss (213.5744.190)
    String Manipulation (9.4.0)
    Shifter (1.9.6)
    GrepConsole (12.7.211.6693.1)
    net.king2500.plugins.PhpAdvancedAutoComplete (1.1.0)
    com.kalessil.phpStorm.phpInspectionsEA (4.0.7.1)
    de.espend.idea.laravel (0.15.4)
    lv.midiana.misc.phpstorm-plugins.deep-keys (2022.02.20.001)
    FrameSwitcher (3.29.0-212)
    FavoriteFolders (1.3.2)
    ru.adelf.idea.dotenv (2022.1)
    BrowseWordAtCaret (3.0.5)

An exception

Cannot create listener

com.intellij.diagnostic.PluginException: Cannot create class krasa.grepconsole.integration.LookAndFeelListener (classloader=PluginClassLoader(plugin=PluginDescriptor(name=Grep Console, id=GrepConsole, descriptorPath=plugin.xml, path=~\AppData\Roaming\JetBrains\PhpStorm2021.3\plugins\GrepConsole, version=12.7.211.6693.1, package=null, isBundled=false), packagePrefix=null, instanceId=62, state=active))
    at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClass(ComponentManagerImpl.kt:869)
    at com.intellij.serviceContainer.ComponentManagerImpl.createListener(ComponentManagerImpl.kt:907)
    at com.intellij.util.messages.impl.CompositeMessageBus.subscribeLazyListeners(CompositeMessageBus.java:177)
    at com.intellij.util.messages.impl.CompositeMessageBus.doComputeSubscribers(CompositeMessageBus.java:147)
    at com.intellij.util.messages.impl.MessageBusImpl.computeSubscribers(MessageBusImpl.java:348)
    at com.intellij.util.messages.impl.CompositeMessageBus.computeSubscribers(CompositeMessageBus.java:141)
    at com.intellij.util.messages.impl.MessageBusImpl$MessagePublisher.lambda$publish$0(MessageBusImpl.java:185)
    at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
    at com.intellij.util.messages.impl.MessageBusImpl$MessagePublisher.publish(MessageBusImpl.java:185)
    at com.intellij.util.messages.impl.MessageBusImpl$MessagePublisher.invoke(MessageBusImpl.java:175)
    at com.sun.proxy.$Proxy25.lookAndFeelChanged(Unknown Source)
    at com.intellij.ide.ui.laf.LafManagerImpl.updateUI(LafManagerImpl.java:864)
    at com.intellij.ide.ui.laf.LafManagerImpl.lambda$initializeComponent$8(LafManagerImpl.java:284)
    at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:199)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:805)
    at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:348)
    at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:82)
    at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:131)
    at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:47)
    at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:187)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:891)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:760)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:447)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:818)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:446)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:805)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:492)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.ExceptionInInitializerError
    at java.base/jdk.internal.misc.Unsafe.allocateInstance(Native Method)
    at java.base/java.lang.invoke.DirectMethodHandle.allocateInstance(DirectMethodHandle.java:482)
    at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClass(ComponentManagerImpl.kt:830)
    ... 39 more
Caused by: java.lang.IllegalStateException: Recursive update
    at java.base/java.util.concurrent.ConcurrentHashMap.replaceNode(ConcurrentHashMap.java:1167)
    at java.base/java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1102)
    at com.intellij.util.messages.impl.MessageBusImpl.notifyOnSubscription(MessageBusImpl.java:436)
    at com.intellij.util.messages.impl.BaseBusConnection.subscribe(BaseBusConnection.java:38)
    at com.intellij.openapi.editor.colors.impl.EditorColorsManagerImpl.<init>(EditorColorsManagerImpl.java:102)
    at com.intellij.openapi.editor.colors.impl.EditorColorsManagerImpl.<init>(EditorColorsManagerImpl.java:85)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    at com.intellij.serviceContainer.ConstructorInjectionKt.instantiateUsingPicoContainer(constructorInjection.kt:47)
    at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClassWithConstructorInjection(ComponentManagerImpl.kt:876)
    at com.intellij.serviceContainer.ServiceComponentAdapter.createAndInitialize(ServiceComponentAdapter.kt:47)
    at com.intellij.serviceContainer.ServiceComponentAdapter.doCreateInstance(ServiceComponentAdapter.kt:37)
    at com.intellij.serviceContainer.BaseComponentAdapter.getInstanceUncached(BaseComponentAdapter.kt:113)
    at com.intellij.serviceContainer.BaseComponentAdapter.getInstance(BaseComponentAdapter.kt:67)
    at com.intellij.serviceContainer.BaseComponentAdapter.getInstance$default(BaseComponentAdapter.kt:60)
    at com.intellij.serviceContainer.ComponentManagerImpl.doGetService(ComponentManagerImpl.kt:595)
    at com.intellij.serviceContainer.ComponentManagerImpl.getService(ComponentManagerImpl.kt:569)
    at com.intellij.openapi.client.ClientAwareComponentManager.getFromSelfOrCurrentSession(ClientAwareComponentManager.kt:37)
    at com.intellij.openapi.client.ClientAwareComponentManager.getService(ClientAwareComponentManager.kt:22)
    at com.intellij.openapi.editor.colors.EditorColorsManager.getInstance(EditorColorsManager.java:22)
    at com.intellij.execution.ui.ConsoleViewContentType.getAttributes(ConsoleViewContentType.java:88)
    at krasa.grepconsole.integration.LookAndFeelListener.<clinit>(LookAndFeelListener.java:21)
    ... 42 more
krasa commented 2 years ago

Very strange. Can't reproduce it :(

krasa commented 2 years ago

Maybe this will help: GrepConsole.zip

bazzik commented 2 years ago

Indeed. Right now I have restarted the IDE and it's OK.

Please keep this issue open. I will try it again using the same plugin version over the next few days. Maybe there is some condition to trigger it (e.g. only happens on the first IDE launch in a day or something).

I will keep you posted. Will try your custom build after a few days (so that I can observe this issue a bit more). Or should I just start using your custom build right away?

krasa commented 2 years ago

Try the new build, we already know that the old one is bad.

bazzik commented 2 years ago

OK. Trying now.

BTW -- just launch the IDE again to install the new plugin (the IDE was closed for about 5 mins) and it reported the same error (with old plugin).

bazzik commented 2 years ago

So far, after installing the custom plugin build & restarting PhpStorm a few times (a few mins between restarts; one launch was about 10 mins apart) I do not see this error any more.

I will keep an eye on this (will try it again a few more time today and tomorrow) and will let you know.

Thanks for your super fast support thus far!

krasa commented 2 years ago

Thanks!

bazzik commented 2 years ago

So I had a few sessions yesterday and today (Fri & Sat) and have not faced this issue with the new custom build. Seems to be fixed.

Thanks a lot for your help and the plugin!

krasa commented 2 years ago

Thank you!