[rfc] [icedtea-web] better error reporting for LaunchException in plugin
Jiri Vanek
jvanek at redhat.com
Mon Jan 21 03:35:53 PST 2013
Launch errors are thrown from netx, and printed out .. somewhere. At the end plugin (correctly) fails with NPE.
It Is not nice. Eg in SplashError dialogue they can not be shown.
I have added static accumulator for LaunchErrors (== all errors preceding npe in plugin) and then I'm adding this chain of exception to Splash error report.
It is quite useful - see example - but there is one pitfall. As accumulator being static, it is cumulating errors from all running applets :(
However I have not found a way how to distinguish between individual applets :( (any idea welcomed!)
I have added small warkaround with timestamps and localised explanation.. and.. it is still better then nothing :)
J.
**example**
So now instead of plain, nothing saying
"IcedTea-Web Plugin version: 1.4pre+rb646c8b9c2e2+
Mon Jan 21 12:29:17 CET 2013
java.lang.NullPointerException
at net.sourceforge.jnlp.NetxPanel.runLoader(NetxPanel.java:130)
at sun.applet.AppletPanel.run(AppletPanel.java:380)
at java.lang.Thread.run(Thread.java:679)"
Is there:
IcedTea-Web Plugin version: 1.4pre+rb646c8b9c2e2+
Mon Jan 21 12:29:17 CET 2013
java.lang.NullPointerException
at net.sourceforge.jnlp.NetxPanel.runLoader(NetxPanel.java:130)
at sun.applet.AppletPanel.run(AppletPanel.java:380)
at java.lang.Thread.run(Thread.java:679)
Chain:
1) at Mon Jan 21 12:27:27 CET 2013
net.sourceforge.jnlp.LaunchException: Fatal: Application Error: The applet was unsigned. The applet was unsigned, and the security policy prevented it from running.
at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:680)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.<init>(JNLPClassLoader.java:240)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:374)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:347)
at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:751)
at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:713)
at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:942)
2) at Mon Jan 21 12:27:27 CET 2013
net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize applet.
at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:784)
at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:713)
at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:942)
Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Application Error: The applet was unsigned. The applet was unsigned, and the security policy prevented it from running.
at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:680)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.<init>(JNLPClassLoader.java:240)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:374)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:347)
at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:751)
... 2 more
3) at Mon Jan 21 12:27:29 CET 2013
net.sourceforge.jnlp.LaunchException: Fatal: Application Error: The applet was unsigned. The applet was unsigned, and the security policy prevented it from running.
at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:680)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.<init>(JNLPClassLoader.java:240)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:374)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:347)
at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:751)
at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:713)
at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:942)
4) at Mon Jan 21 12:27:29 CET 2013
net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize applet.
at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:784)
at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:713)
at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:942)
Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Application Error: The applet was unsigned. The applet was unsigned, and the security policy prevented it from running.
at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:680)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.<init>(JNLPClassLoader.java:240)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:374)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:347)
at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:751)
... 2 more
-------------- next part --------------
A non-text attachment was scrubbed...
Name: moreErrorReporting.patch
Type: text/x-patch
Size: 8984 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130121/f3ea807f/moreErrorReporting.patch
More information about the distro-pkg-dev
mailing list