liferay-intellij-plugin
liferay-intellij-plugin copied to clipboard
Exception in plugin Liferay Intellij Plugin
random appears while working in Intellij
update failed for AnAction(com.liferay.ide.idea.ui.actions.LiferayActionGroup) with ID=LiferayActionGroup
java.lang.IllegalArgumentException: Argument for @NotNull parameter 'file' of com/intellij/openapi/module/ModuleUtilCore.findModuleForFile must not be null
at com.intellij.openapi.module.ModuleUtilCore.$$$reportNull$$$0(ModuleUtilCore.java)
at com.intellij.openapi.module.ModuleUtilCore.findModuleForFile(ModuleUtilCore.java)
at com.liferay.ide.idea.ui.actions.WatchGradleModuleAction.isEnabledAndVisible(WatchGradleModuleAction.java:99)
at com.liferay.ide.idea.ui.actions.LiferayActionGroup.lambda$update$3(LiferayActionGroup.java:46)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.LongPipeline.reduce(LongPipeline.java:438)
at java.util.stream.LongPipeline.sum(LongPipeline.java:396)
at java.util.stream.ReferencePipeline.count(ReferencePipeline.java:526)
at com.liferay.ide.idea.ui.actions.LiferayActionGroup.update(LiferayActionGroup.java:47)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareUpdate(ActionUtil.java:136)
at com.intellij.openapi.actionSystem.impl.Utils.doUpdate(Utils.java:256)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:199)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:225)
at com.intellij.openapi.actionSystem.impl.Utils.fillMenu(Utils.java:350)
at com.intellij.openapi.actionSystem.impl.ActionPopupMenuImpl$MyMenu.show(ActionPopupMenuImpl.java:110)
at com.intellij.ui.PopupHandler$2.invokePopup(PopupHandler.java:91)
at com.intellij.ui.PopupHandler.mouseReleased(PopupHandler.java:59)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6548)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3325)
at com.intellij.ui.treeStructure.Tree.processMouseEvent(Tree.java:424)
at com.intellij.ide.dnd.aware.DnDAwareTree.processMouseEvent(DnDAwareTree.java:58)
at java.awt.Component.processEvent(Component.java:6313)
at java.awt.Container.processEvent(Container.java:2237)
at java.awt.Component.dispatchEventImpl(Component.java:4903)
at java.awt.Container.dispatchEventImpl(Container.java:2295)
at java.awt.Component.dispatchEvent(Component.java:4725)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4889)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4526)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4467)
at java.awt.Container.dispatchEventImpl(Container.java:2281)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4725)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:737)
at java.awt.EventQueue$4.run(EventQueue.java:735)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:781)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:718)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:382)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Hey @simon387, thanks for catching that and I had a pr here.
Fixed in https://github.com/liferay/liferay-intellij-plugin/commit/2ab3682edbe3abcad2b15038405788177d2972aa
To get notified about crashes in the plugin, you can implement an "errorHandler" in IntelliJ. By this, any developer using the plugin can send crash reports. I've seen implementations which automatically create github issues or Jira issues. Maybe we should implement such an errorHandler in the future. @jtydhr88, @gamerson what do you think?
I like this idea and I opened the Jira issue for this, see here: https://issues.liferay.com/browse/INTELLIJ-30 but I would not like to do it in next release(1.2.0), we could do it in 1.3.0 or later.
hey @dmarks2 I'd like to assign this task to some Liferay guys :)
Hi @dmarks2 , thank you for your suggestion, I will think about that solution you mentioned. Could you please give more information about the "errorHandler" and where I can find the implementations which automatically create github or jira issues. Maybe I can refer that implementation. Thanks a lot.
Hey @Seiphon,
I tried to implement an errorHandler in my own plugin. In that case it automatically creates a github issue. Unfortunately you will need an API key for github to do this and you cannot checkin the API key (github will remove it automatically for security reasons).
I followed a sample implementation from another plugin. See discussion and helpful links here:
https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000406190-Answer-Automatic-error-reporting-to-GitHub-issues