Here is the result on java.stderr (one half equivalent to the Java console, the other half java.stdout , which is empty in your case):
net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize applet. at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:604) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:548) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:729) Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Launch Error: Jars not verified. at net.sourceforge.jnlp.runtime.JNLPClassLoader.checkTrustWithUser(JNLPClassLoader.java:467) at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:410) at net.sourceforge.jnlp.runtime.JNLPClassLoader.<init>(JNLPClassLoader.java:168) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:249) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:575) ... 2 more Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Launch Error: Jars not verified. at net.sourceforge.jnlp.runtime.JNLPClassLoader.checkTrustWithUser(JNLPClassLoader.java:467) at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:410) at net.sourceforge.jnlp.runtime.JNLPClassLoader.<init>(JNLPClassLoader.java:168) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:249) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:575) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:548) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:729) java.lang.NullPointerException at net.sourceforge.jnlp.NetxPanel.runLoader(NetxPanel.java:99) at sun.applet.AppletPanel.run(AppletPanel.java:380) at java.lang.Thread.run(Thread.java:636) java.lang.NullPointerException at sun.applet.AppletPanel.run(AppletPanel.java:430) at java.lang.Thread.run(Thread.java:636) java.lang.Exception: Applet initialization timeout at sun.applet.PluginAppletViewer.handleMessage(PluginAppletViewer.java:637) at sun.applet.PluginStreamHandler.handleMessage(PluginStreamHandler.java:270) at sun.applet.PluginMessageHandlerWorker.run(PluginMessageHandlerWorker.java:82) java.lang.RuntimeException: Failed to handle message: handle 60822154 for instance 2 at sun.applet.PluginAppletViewer.handleMessage(PluginAppletViewer.java:660) at sun.applet.PluginStreamHandler.handleMessage(PluginStreamHandler.java:270) at sun.applet.PluginMessageHandlerWorker.run(PluginMessageHandlerWorker.java:82) Caused by: java.lang.Exception: Applet initialization timeout at sun.applet.PluginAppletViewer.handleMessage(PluginAppletViewer.java:637) ... 2 more
So, it looks like your applet code has not yet been loaded if you click Cancel in the dialog box.

I think you can’t do anything here on the Java side - perhaps using a different signing procedure or running the JNLP applet will help. Or file a bug report on IcedTea.
To demonstrate this, I created a real simple applet, omitting everything critical from your applet:
package org.pscode.eg.docload; import java.awt.FlowLayout; import javax.swing.*; public class Example extends JApplet { JLabel label; public void init() { System.out.println("init()"); SwingUtilities.invokeLater(new Runnable(){public void run() { label = new JLabel("inited."); getContentPane().setLayout(new FlowLayout()); getContentPane().add(label); }}); } @Override public void start() { System.out.println("start()"); label.setText("started."); } @Override public void stop() { System.out.println("stop()"); label.setText("stopped."); } @Override public void destroy() { System.out.println("destroy()"); label.setText("destroyed."); } }
I compiled this and modified your HTML file to use it instead, and it gives exactly the same symptoms.
IcedTea seems to have redefined what to do when the user clicks cancel. It is fair to say that the buttons in the dialog box are “Run” and “Cancel”, and not “Run with all permissions” and “Run stand-alone.”
(There are the same buttons in the Sun dialog box, but in reality they mean something different than what is set.)
source share