Null child action in group
I'm getting this error in my Rubymine logs when I try to use a plugin I have developed.
This only occurs when I use the plugin under Rubymine on Linux (it was build in IDEA on Windows, and runs fine in Rubymine on Windows):
2016-08-08 11:22:35,042 [ 16162] ERROR - ctionSystem.DefaultActionGroup - Null child action in group Tools () of class class com.intellij.openapi.actionSystem.DefaultCompactActionGroup, id=com.sage.ad.plugins.COABuilder
java.lang.Throwable
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:127)
at com.intellij.openapi.actionSystem.DefaultActionGroup.unStub(DefaultActionGroup.java:356)
at com.intellij.openapi.actionSystem.DefaultActionGroup.getChildren(DefaultActionGroup.java:312)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:125)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:86)
at com.intellij.openapi.actionSystem.impl.Utils.fillMenu(Utils.java:280)
at com.intellij.openapi.actionSystem.impl.ActionMenu.f(ActionMenu.java:324)
at com.intellij.openapi.actionSystem.impl.ActionMenu.access$600(ActionMenu.java:51)
at com.intellij.openapi.actionSystem.impl.ActionMenu$MenuListenerImpl.menuSelected(ActionMenu.java:278)
at javax.swing.JMenu.fireMenuSelected(JMenu.java:1038)
at javax.swing.JMenu$MenuChangeListener.stateChanged(JMenu.java:1118)
at javax.swing.DefaultButtonModel.fireStateChanged(DefaultButtonModel.java:349)
at javax.swing.DefaultButtonModel.setSelected(DefaultButtonModel.java:232)
at javax.swing.JMenu.setSelected(JMenu.java:305)
at javax.swing.JMenu.menuSelectionChanged(JMenu.java:1187)
at com.intellij.openapi.actionSystem.impl.ActionMenu.menuSelectionChanged(ActionMenu.java:240)
at javax.swing.MenuSelectionManager.setSelectedPath(MenuSelectionManager.java:125)
at javax.swing.plaf.basic.BasicMenuUI$Handler.mouseEntered(BasicMenuUI.java:526)
at java.awt.Component.processMouseEvent(Component.java:6542)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.retargetMouseEnterExit(Container.java:4676)
at java.awt.LightweightDispatcher.trackMouseEnterExit(Container.java:4654)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4505)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at com.intellij.ide.IdeEventQueue.d(IdeEventQueue.java:863)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:695)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:385)
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)
On Windows I've setup my dev env according to the tutorials, and am building with JDK1.8.0_91.
On Linux Rubymine is running on JDK1.8.0_76. I would hope these are close enough to not make any difference...?
I've found a couple of other posts about this, but they don't seem too relevant to my case?
Please sign in to leave a comment.
I'm not sure why this depends on OS but according to the error message it cannot find action with id = 'com.sage.ad.plugins.COABuilder'. Are you sure that you have this action registered in plugin.xml?
The plugin.xml does contain the action reference, and Idea was happy with it via autocompletion.
What I've just realised is that if I use the same packaged plugin on Windows as on Linux, it doesn't work either.
So the only time it's working is when I run it from Idea.
I guess I must be packaging incorrectly.