[BUG-Resolved] Designer is never actually launched

  1. The behavior you unexpectedly encountered -
    No designer (or error message) appeared when clicking ‘Launch’ on the desired gateway in the Ignition Designer Launcher

  2. The behavior you were expecting to see -
    The designer to open

  3. A list of the steps you took that exposed the issue - including your starting point.
    -Doubleclick or otherwise open designerlauncher.exe
    -Click ‘Launch’ on one of the designers listed there. Personally I had several listed, all different versions of my own gateway (for example, localhost:8088, 127.0.0.1:8088, 192.168.2.2:8088, etc). None work

  4. A list of helpful information about the situation you were in, such as:
    Ignition 8.0.0-beta1
    Client and gateway java (same machine) is build 1.8.0_181-b13
    Win7
    It does load when I download and install the gateway/designerlauncher on my personal laptop, win10 with the same java version. I have restarted the computer it isn’t working on, with no luck.

If you check .ignition\clientlauncher-data\designerlauncher.log, what are the last few lines in the output? Can you post them here?

Ok, I started with a fresh log, opened the designer launcher and pressed launch. This is the result in the log:

INFO [DesignerLauncher ] [2018/11/06 14:24:09]: Set logging level to INFO
INFO [LauncherApplication ] [2018/11/06 14:24:10]: Starting multicast receiver service...
INFO [DaemonThreadFactory ] [2018/11/06 14:24:11]: Task has been called for gateway http://localhost:8088
INFO [DaemonThreadFactory ] [2018/11/06 14:24:15]: Task has been called for gateway http://192.168.2.35:8088
INFO [DaemonThreadFactory ] [2018/11/06 14:24:15]: Task has been called for gateway http://192.168.2.21:8088
INFO [DaemonThreadFactory ] [2018/11/06 14:24:20]: Task has been called for gateway http://192.168.2.21:8088
INFO [DaemonThreadFactory ] [2018/11/06 14:24:25]: Task has been called for gateway http://192.168.2.21:8088
INFO [LaunchUtil ] [2018/11/06 14:24:30]: Using java executable under C:\Users\mirogers\AppData\Roaming\Inductive Automation\Designer Launcher\jre
INFO [LaunchUtil ] [2018/11/06 14:24:30]: Starting Java with the following parameters: C:\Users\mirogers\AppData\Roaming\Inductive Automation\Designer Launcher\jre\bin\java.exe -classpath C:\Users\mirogers.ignition\clientlauncher-data\launchclient.jar -Djavaws.sr.gateway.addr.0=http://localhost:8088 -Djavaws.sr.launchts=1541543070141 -Djavaws.sr.main=com.inductiveautomation.ignition.designer.DesignerStartupHook -Djavaws.sr.platform.edition= -Xms64M -Xmx1024M -Dsun.java2d.d3d=false -Dsun.java2d.noddraw=false -Djavaws.sr.screen=0 -Djavaws.sr.scope=D com.inductiveautomation.ignition.client.launch.BootstrapSwing
INFO [DaemonThreadFactory ] [2018/11/06 14:24:30]: Task has been called for gateway http://192.168.2.21:8088

Hmm, no obvious problems. How about if you take that command line and run it directly in a command prompt:

"C:\Users\mirogers\AppData\Roaming\Inductive Automation\Designer Launcher\jre\bin\java.exe" -classpath C:\Users\mirogers\.ignition\clientlauncher-data\launchclient.jar -Djavaws.sr.gateway.addr.0=http://localhost:8088 -Djavaws.sr.launchts=1541543070141 -Djavaws.sr.main=com.inductiveautomation.ignition.designer.DesignerStartupHook -Djavaws.sr.platform.edition= -Xms64M -Xmx1024M -Dsun.java2d.d3d=false -Dsun.java2d.noddraw=false -Djavaws.sr.screen=0 -Djavaws.sr.scope=D com.inductiveautomation.ignition.client.launch.BootstrapSwing

I get this error doing that:

.launch.BootstrapSwing
Caused by: java.lang.ClassNotFoundException: com.inductiveautomation.ignition.cl
ient.launch.BootstrapSwing```

I should also mention that I have uninstalled and reinstalled both the designer launcher and the gateway itself.

Hi @mrogers,

It looks like the classpath is missing a slash in it. Could you give Paul’s updated command a try? I would also like to increase the amount of logging we can see, in the Designer Launcher at the top right corner there is a settings cog. Would you mind setting the logging level to trace and try launching your designer again? It should provide more output in the designerlauncher.log file. After doing this would you mind posting the output?

Thanks,
Jonathan C

I just amended the post a minute ago - talking to @jcoffman, it looks like the classpath getting passed in to the embedded java.exe is getting mangled somehow:
-classpath C:\Users\mirogers.ignition\clientlauncher-data\launchclient.jar -
should be:
-classpath C:\Users\mirogers\.ignition\clientlauncher-data\launchclient.jar -

Are you on Windows 7 32-bit or 64-bit?

Thanks everyone. I fixed the classpath in my command line test, got this error:

Starting Bootstrap Loader v3.0
Exception in thread "main" java.awt.AWTError: Assistive Technology not found: co
m.sun.java.accessibility.AccessBridge
        at java.desktop/java.awt.Toolkit.newAWTError(Toolkit.java:472)
        at java.desktop/java.awt.Toolkit.fallbackToLoadClassForAT(Toolkit.java:4
88)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachO
ps.java:183)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipe
line.java:177)
        at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.j
ava:1603)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline
.java:484)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractP
ipeline.java:474)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Fo
rEachOps.java:150)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequent
ial(ForEachOps.java:173)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline
.java:234)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipelin
e.java:497)
        at java.desktop/java.awt.Toolkit.loadAssistiveTechnologies(Toolkit.java:
532)
        at java.desktop/java.awt.Toolkit.getDefaultToolkit(Toolkit.java:613)
        at java.desktop/javax.swing.UIManager.<clinit>(UIManager.java:383)
        at java.desktop/javax.swing.JPanel.updateUI(JPanel.java:126)
        at java.desktop/javax.swing.JPanel.<init>(JPanel.java:86)
        at java.desktop/javax.swing.JPanel.<init>(JPanel.java:95)
        at com.inductiveautomation.ignition.client.launch.splash.SplashPanel.<in
it>(SplashPanel.java:34)
        at com.inductiveautomation.ignition.client.launch.splash.DefaultSplashPa
nel.<init>(DefaultSplashPanel.java:81)
        at com.inductiveautomation.ignition.client.launch.splash.SplashPanelFact
ory$DefaultSplashPanelFactory.createSplashPanel(SplashPanelFactory.java:28)
        at com.inductiveautomation.ignition.client.launch.Launcher.startLauncher
(Launcher.java:485)
        at com.inductiveautomation.ignition.client.launch.Launcher.startLauncher
Initial(Launcher.java:279)
        at com.inductiveautomation.ignition.client.launch.Launcher.startLauncher
Initial(Launcher.java:265)
        at com.inductiveautomation.ignition.client.launch.BootstrapSwing.<init>(
BootstrapSwing.java:70)
        at com.inductiveautomation.ignition.client.launch.BootstrapSwing.main(Bo
otstrapSwing.java:54)
Caused by: java.lang.ClassNotFoundException: com.sun.java.accessibility.AccessBr
idge
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinCla
ssLoader.java:582)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(C
lassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Class.java:398)
        at java.desktop/java.awt.Toolkit.fallbackToLoadClassForAT(Toolkit.java:4
85)
        ... 23 more

After setting the log level to trace, this is what I get:

INFO  [DesignerLauncher              ] [2018/11/06 14:52:00]: Set logging level to TRACE
INFO  [LauncherApplication           ] [2018/11/06 14:52:02]: Starting multicast receiver service...
DEBUG [MulticastReceiverService      ] [2018/11/06 14:52:02]: Starting multicast receiver
DEBUG [LauncherApplication           ] [2018/11/06 14:52:02]: Multicast receiver service started.
TRACE [MulticastReceiverService      ] [2018/11/06 14:52:02]: WAN Miniport (SSTP)
java.net.SocketException: bad argument for IP_MULTICAST_IF2: No IP addresses bound to interface
	at java.base/java.net.TwoStacksPlainDatagramSocketImpl.join(Native Method)
	at java.base/java.net.AbstractPlainDatagramSocketImpl.joinGroup(AbstractPlainDatagramSocketImpl.java:240)
	at java.base/java.net.MulticastSocket.joinGroup(MulticastSocket.java:412)
	at com.inductiveautomation.ignition.launcher.common.utils.MulticastReceiverService$1.call(MulticastReceiverService.java:88)
	at com.inductiveautomation.ignition.launcher.common.utils.MulticastReceiverService$1.call(MulticastReceiverService.java:67)
	at javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at javafx.concurrent.Service.lambda$executeTask$6(Service.java:725)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at javafx.concurrent.Service.lambda$executeTask$7(Service.java:724)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
TRACE [MulticastReceiverService      ] [2018/11/06 14:52:02]: WAN Miniport (L2TP)
java.net.SocketException: bad argument for IP_MULTICAST_IF2: No IP addresses bound to interface
	at java.base/java.net.TwoStacksPlainDatagramSocketImpl.join(Native Method)
	at java.base/java.net.AbstractPlainDatagramSocketImpl.joinGroup(AbstractPlainDatagramSocketImpl.java:240)
	at java.base/java.net.MulticastSocket.joinGroup(MulticastSocket.java:412)
	at com.inductiveautomation.ignition.launcher.common.utils.MulticastReceiverService$1.call(MulticastReceiverService.java:88)
	at com.inductiveautomation.ignition.launcher.common.utils.MulticastReceiverService$1.call(MulticastReceiverService.java:67)
	at javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at javafx.concurrent.Service.lambda$executeTask$6(Service.java:725)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at javafx.concurrent.Service.lambda$executeTask$7(Service.java:724)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
TRACE [MulticastReceiverService      ] [2018/11/06 14:52:02]: WAN Miniport (PPTP)
java.net.SocketException: bad argument for IP_MULTICAST_IF2: No IP addresses bound to interface
	at java.base/java.net.TwoStacksPlainDatagramSocketImpl.join(Native Method)
	at java.base/java.net.AbstractPlainDatagramSocketImpl.joinGroup(AbstractPlainDatagramSocketImpl.java:240)
	at java.base/java.net.MulticastSocket.joinGroup(MulticastSocket.java:412)
	at com.inductiveautomation.ignition.launcher.common.utils.MulticastReceiverService$1.call(MulticastReceiverService.java:88)
	at com.inductiveautomation.ignition.launcher.common.utils.MulticastReceiverService$1.call(MulticastReceiverService.java:67)
	at javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at javafx.concurrent.Service.lambda$executeTask$6(Service.java:725)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at javafx.concurrent.Service.lambda$executeTask$7(Service.java:724)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
TRACE [MulticastReceiverService      ] [2018/11/06 14:52:02]: WAN Miniport (PPPOE)
java.net.SocketException: bad argument for IP_MULTICAST_IF2: No IP addresses bound to interface
	at java.base/java.net.TwoStacksPlainDatagramSocketImpl.join(Native Method)
	at java.base/java.net.AbstractPlainDatagramSocketImpl.joinGroup(AbstractPlainDatagramSocketImpl.java:240)
	at java.base/java.net.MulticastSocket.joinGroup(MulticastSocket.java:412)
	at com.inductiveautomation.ignition.launcher.common.utils.MulticastReceiverService$1.call(MulticastReceiverService.java:88)
	at com.inductiveautomation.ignition.launcher.common.utils.MulticastReceiverService$1.call(MulticastReceiverService.java:67)
	at javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at javafx.concurrent.Service.lambda$executeTask$6(Service.java:725)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at javafx.concurrent.Service.lambda$executeTask$7(Service.java:724)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
TRACE [MulticastReceiverService      ] [2018/11/06 14:52:02]: WAN Miniport (IPv6)

It actually goes on like that last block for a long time, seems to get into some different network things, like its bounced around a lot. I can post the full one if needed.

Both of my computers, the one that is working and the one that isn’t, are 64-bit.

Also if I wasn’t explicit about this (sorry), when I say ‘no designer appears’, I mean that no designer appears AND the designer launcher goes away.

thanks @mrogers that helps out a bit. Have you ever used a JRE that supports assistive technology?

For a workaround, could you try adding the following jvm args to either the instance of the designer you are launching through the “manage” button or into the Designer Launchers JVM Arguments?

-Djavax.accessibility.screen_magnifier_present=false```

Thanks,
Jonathan C

No, not that I know of.

I’ve tried adding that to the command line way of opening it and the error did not change. I added it to the jvm args for the designer instance through the manage button, and get the same kind of log file as earlier, except with this at the end:

ERROR [LaunchUtil                    ] [2018/11/06 15:20:14]: Java process launch failed with error code 1: Error: Could not find or load main class 
-Djavax.accessibility.screen_magnifier_present=false
Caused by: java.lang.ClassNotFoundException: 
-Djavax.accessibility.screen_magnifier_present=false```

Ok, Do you have Access Bridge currently installed on your system?

Thanks,
Jonathan C

Oops, I forgot that I had installed it earlier this year but never used it. I uninstalled it (from Oracle’s instructions, removing the files that I placed in several directories) and restarted my computer. Unfortunately, nothing has changed - same errors in the console & log.

Thanks @mrogers. That really helps me narrow down the issue and I will report back with a workaround and/or a fix when I get to the bottom of this. Thanks for reporting this bug!

@mrogers Do you have an installed JRE on your system still or is this designer running on the same machine as the gateway? It seems that Jabswitch still may be running on your machine. In some <JAVA_HOME>\bin directory there should be a jabswitch.exe executable. you would have to run jabswitch.exe /disable from a full JRE that is installed on your system. The launcher itself does not contain this executable as it has been linked and minimized to reduce the download size.

If this is the same machine as the gateway is installed on this executable is at the path <INSTALL_DIR>\lib\runtime\jre-win\bin\jabswitch.exe

Could you try to run the /disable arg and see if that fixes your issue?

Thanks,
Jonathan C

3 Likes

Fixed it, thanks! jabswitch.exe was in just /bin/ but still, disabling that fixed it.

glad to hear it! Thanks for reporting this, I’d love to come up with a more graceful solution for this in the future and you put in on my radar!

Thanks again!
Jonathan C

1 Like