liferay-intellij-plugin icon indicating copy to clipboard operation
liferay-intellij-plugin copied to clipboard

Exception in plugin Liferay Intellij Plugin

Open simon387 opened this issue 6 years ago • 7 comments

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)

simon387 avatar Sep 04 '18 13:09 simon387

Hey @simon387, thanks for catching that and I had a pr here.

Camork avatar Sep 05 '18 01:09 Camork

Fixed in https://github.com/liferay/liferay-intellij-plugin/commit/2ab3682edbe3abcad2b15038405788177d2972aa

gamerson avatar Sep 05 '18 03:09 gamerson

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?

dmarks2 avatar Jan 02 '19 09:01 dmarks2

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.

jtydhr88 avatar Jan 02 '19 09:01 jtydhr88

hey @dmarks2 I'd like to assign this task to some Liferay guys :)

jtydhr88 avatar Jan 02 '19 09:01 jtydhr88

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.

Seiphon avatar Jan 23 '19 03:01 Seiphon

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

dmarks2 avatar Jan 23 '19 09:01 dmarks2