[Bug-11247] Designer startup broken dependency

The DesignerLauncher on my gentoo laptop broke in the past week. I did do package upgrades, so that is likely the cause. An up-to-date version of Xubuntu-16.04 works fine, so it must be a system dependency somewhere. I’d like a hint to identify it…

Designer gets past login and project selection, then throws the error. Task manager shows java and nested browsercore64 processes idle. Here the resulting backtrace:

java.lang.IllegalArgumentException: Window must not be zero
	at java.desktop/sun.awt.X11.XAtom.checkWindow(XAtom.java:774)
	at java.desktop/sun.awt.X11.XAtom.getAtomData(XAtom.java:465)
	at java.desktop/sun.awt.X11.XToolkit.getWorkArea(XToolkit.java:711)
	at java.desktop/sun.awt.X11.XToolkit.getInsets(XToolkit.java:787)
	at java.desktop/sun.awt.X11.XToolkit.getScreenInsets(XToolkit.java:775)
	at java.desktop/java.awt.Window.init(Window.java:504)
	at java.desktop/java.awt.Window.<init>(Window.java:434)
	at java.desktop/java.awt.Window.<init>(Window.java:589)
	at java.desktop/java.awt.Dialog.<init>(Dialog.java:664)
	at java.desktop/java.awt.Dialog.<init>(Dialog.java:408)
	at java.desktop/javax.swing.JDialog.<init>(JDialog.java:273)
	at com.inductiveautomation.ignition.designer.gateway.PriviledgedDesignerTask.<init>(PriviledgedDesignerTask.java:221)
	at com.inductiveautomation.ignition.designer.gateway.PriviledgedDesignerTask.run(PriviledgedDesignerTask.java:166)
	at com.inductiveautomation.ignition.designer.gateway.PriviledgedDesignerTask.runTask(PriviledgedDesignerTask.java:146)
	at com.inductiveautomation.ignition.designer.gateway.DTGatewayInterface.run(DTGatewayInterface.java:70)
	at com.inductiveautomation.ignition.designer.gateway.DTGatewayInterface.createProject(DTGatewayInterface.java:382)
	at com.inductiveautomation.ignition.designer.ProjectDialog$OpenOrCreatePanel$ProjectCreateForm.doCreate(ProjectDialog.java:330)
	at com.inductiveautomation.ignition.designer.ProjectDialog$OpenOrCreatePanel$ProjectCreateForm.access$1100(ProjectDialog.java:279)
	at com.inductiveautomation.ignition.designer.ProjectDialog$OpenOrCreatePanel$ProjectCreateForm$1.actionPerformed(ProjectDialog.java:406)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
	at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:269)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6578)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3343)
	at java.desktop/java.awt.Component.processEvent(Component.java:6343)
	at java.desktop/java.awt.Container.processEvent(Container.java:2259)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4961)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2317)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4793)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4539)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4480)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2303)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2758)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4793)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:766)
	at java.desktop/java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:717)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:711)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:99)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:739)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:737)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:736)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:199)
	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)

Ignition v(Dev Version)
Java: Oracle Corporation 9.0.4

What is the build date of the Ignition-8.0.0-SNAPSHOT you reporting/commenting on (check file creating date/time)?

Build Date: 2018092018 and 2018101502

Both Servers and Launchers from those versions, including cross connecting the launchers. The older launcher went off into la-la land, the newer launcher shows the error.

Please provide the following if applicable to your issue/comment:

GW Java Version:

# java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

Client Java Version:
9.0.4 from the trace above.

Browser:
N/A, but Firefox
Browser Version:
59.0.2

Are you connected to multiple monitors, by any chance?

Sure am. Three. WIll retest with one.

Yeah, that was it. Works with the extra monitors disabled.

This looks to be an outstanding OpenJDK issue (at least with 9 and 10, and maybe 11) with certain non-Ubuntu distros and multiple monitors.

Grab the designer launcher out of the latest snapshot and see if that works for you. It’s using Java 11 instead of 9, so it’s worth a shot.

Hmm. Lost access to the downloads. Edit: No, had to log out and back in.

By the way, this problem is still present with the latest designerlauncher (java11) on my gentoo laptop. Designer is fine on a single screen. Do y’all have a link to the OpenJDK bug report?

Latest trace looks like this:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Window must not be zero
        at java.desktop/sun.awt.X11.XAtom.checkWindow(Unknown Source)
        at java.desktop/sun.awt.X11.XAtom.getAtomData(Unknown Source)
        at java.desktop/sun.awt.X11.XToolkit.getWorkArea(Unknown Source)
        at java.desktop/sun.awt.X11.XToolkit.getInsets(Unknown Source)
        at java.desktop/sun.awt.X11.XToolkit.getScreenInsets(Unknown Source)
        at java.desktop/sun.java2d.SunGraphicsEnvironment.getUsableBounds(Unknown Source)
        at java.desktop/sun.awt.X11GraphicsEnvironment.getXineramaWindowBounds(Unknown Source)
        at java.desktop/sun.awt.X11GraphicsEnvironment.getMaximumWindowBounds(Unknown Source)
        at com.jidesoft.utils.PortingUtils.getLocalScreenBounds(Unknown Source)
        at com.jidesoft.utils.PortingUtils.ensureVisible(Unknown Source)
        at com.jidesoft.action.DefaultDockableBarManager.m(Unknown Source)
        at com.jidesoft.action.DefaultDockableBarManager.f(Unknown Source)
        at com.jidesoft.action.DefaultDockableBarManager.resetToDefault(Unknown Source)
        at com.jidesoft.action.DefaultDockableBarManager.a(Unknown Source)
        at com.jidesoft.action.DefaultDockableBarManager.loadLayoutFrom(Unknown Source)
        at com.jidesoft.swing.LayoutPersistenceManager.loadLayoutFrom(Unknown Source)
        at com.jidesoft.swing.AbstractLayoutPersistence.loadLayoutDataFrom(Unknown Source)
        at com.inductiveautomation.ignition.designer.WorkspaceManager.install(WorkspaceManager.java:234)
        at com.inductiveautomation.ignition.designer.WorkspaceManager.setSelected(WorkspaceManager.java:156)
        at com.inductiveautomation.ignition.designer.WorkspaceManager.setSelectedWorkspace(WorkspaceManager.java:84)
        at com.inductiveautomation.ignition.designer.IgnitionDesigner.lambda$loadProject$1(IgnitionDesigner.java:959)
        at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
        at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

Build b2018111902

FWIW, the designer continues running in the background with no window, and has a lock on the project selected.

Here’s the OpenJDK bug report I found, the issue looks quite similar to what you’re seeing:

https://bugs.openjdk.java.net/browse/JDK-8204646

I’m going to get a bug ticket going and see what we can do to resolve this issue.

According to that bug report, this first occurred in 8u172. However, 8u181 runs the Ignitino v7 designer just fine.

I’m guessing that this bug doesn’t start happening until Java 9. 8u171/8u172 were the latest releases for Java 8 at the time the bug was filed back in June. Also, I’m not sure why the “first occurred” was set to 8u172 anyway, since the updated bug report states it still works in 8u172.

In any event, we will work with Azul and see what’s the best way to get this resolved.