|
Quick Lists
|
|
Bug ID:
|
6761053
|
|
Votes
|
0
|
|
Synopsis
|
Desktop shortcuts for dragged applets from HTTPS servers do not relaunch and can not be customized
|
|
Category
|
java_plugin:plugin2
|
|
Reported Against
|
|
|
Release Fixed
|
6u11(b03)
|
|
State
|
10-Fix Delivered,
bug
|
|
Priority:
|
2-High
|
|
Related Bugs
|
6740523
,
6753665
,
6755573
|
|
Submit Date
|
18-OCT-2008
|
|
Description
|
A user pointed out on the java.net forums ( http://forums.java.net/jive/message.jspa?messageID=309391#309391 ) that with the 6u10 GA bits, relaunching of dragged-out applets from their desktop shortcuts is completely broken. Attempting to relaunch the simple draggable applet example from http://jdk6.dev.java.net/plugin2/ from its desktop shortcut results in the following exception:
Exception in thread "main" java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.net.URL.getURLStreamHandler(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at com.sun.deploy.cache.Cache.getLocalApplicationProperties(Unknown Source)
at sun.plugin2.applet.viewer.JNLP2Viewer.run(Unknown Source)
at sun.plugin2.applet.viewer.JNLP2Viewer.main(Unknown Source)
Caused by: java.lang.NullPointerException
at sun.plugin2.applet.Applet2BrowserService.isIExplorer(Unknown Source)
at com.sun.deploy.security.BrowserKeystore.registerSecurityProviders(Unknown Source)
at com.sun.deploy.net.protocol.https.Handler$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.net.protocol.https.Handler.<clinit>(Unknown Source)
... 9 more
This failure is still reproducible with the 6u11 nightly builds.
Additionally, with a later build of the JRE, the following exception has been seen upon relaunch of a desktop shortcut and attempted shutdown of a dragged-out applet, because of a lack of an AccessController.doPrivileged() around the System.exit(0) call.
Exception in thread "AWT-EventQueue-4" java.security.AccessControlException: access denied (java.lang.RuntimePermission exitVM.0)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkExit(SecurityManager.java:744)
at java.lang.Runtime.exit(Runtime.java:88)
at java.lang.System.exit(System.java:906)
at sun.plugin2.applet.viewer.JNLP2Viewer$1$1.appletExternalWindowClosed(JNLP2Viewer.java:298)
at sun.plugin2.applet.DragHelper$PerAppletInfo$CloseListener.actionPerformed(DragHelper.java:672)
at DragExample$1.mouseClicked(DragExample.java:75)
at java.awt.Component.processMouseEvent(Component.java:6137)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5899)
at java.awt.Container.processEvent(Container.java:2023)
at java.awt.Component.dispatchEventImpl(Component.java:4501)
at java.awt.Container.dispatchEventImpl(Container.java:2081)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3974)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)
at java.awt.Container.dispatchEventImpl(Container.java:2067)
at java.awt.Component.dispatchEvent(Component.java:4331)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Posted Date : 2008-10-18 20:05:37.0
The SecurityException upon closing an unsigned applet relaunched from a desktop shortcut which customizes the setAppletCloseListener behavior will also be inadvertently fixed by 6753665 in 6u12.
Posted Date : 2008-10-19 00:01:20.0
|
|
Work Around
|
N/A
|
|
Evaluation
|
Problem: relaunching an applet which is hosted on a https server fails with a NPE. Closing the relaunched applet results in AccessControlException.
Fix: in JNLP2Viewer
for the NPE: pass in a default NoopExecutionContext to Applet2Environment.initialize() so that the Applet2BrowserService has an execution context;
for AccessControlException: add a doPrivileged block for the System.exit(0) call.
Posted Date : 2008-10-20 18:07:16.0
|
|
Comments
|
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |