BUG
Any combination of the following problems or errors may indicate that the Java Custom or Standard Viewer is not successfully loading due to the use of JRE version 1.4.2_01 or later:
- No toolbar
- No overview map
- Error in the browser window:
"java.lang.Exception:
java.lang.NullPointerException"
- Error in the browser window:
"java.security.AccessControlException:
access denied java.lang.RuntimePermission modifyThreadGroup)"
Code:
-Djavaplugin.trace=true -Djavaplugin.trace.option=basic|net|security|ext|liveconnect
Code:java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at sun.applet.AppletSecurity.checkAccess(Unknown Source)
at java.lang.ThreadGroup.checkAccess(Unknown Source)
at java.lang.Thread.init(Unknown Source)
at java.lang.Thread.<init>(Unknown Source)
at com.esri.mo.map.img.BaseCache.fetch(Unknown Source)
at com.esri.mo.map.img.BaseImageServerLayer.fetch(Unknown Source)
at com.esri.mo.ui.bean.OverviewMap.f(Unknown Source)
at com.esri.mo.ui.bean.OverviewMap.redraw(Unknown Source)
at com.esri.aims.viewer.IMSOverviewMap.redraw(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.plugin.com.MethodDispatcher.invoke(Unknown Source)
at sun.plugin.com.DispatchImpl.invokeImpl(Unknown Source)
at sun.plugin.com.DispatchImpl$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.com.DispatchImpl.invoke(Unknown Source)
java.lang.Exception: java.security.AccessControlException:
access denied(java.lang.RuntimePermission modifyThreadGroup)
at sun.plugin.com.DispatchImpl.invokeImpl(Unknown Source)
at sun.plugin.com.DispatchImpl$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.com.DispatchImpl.invoke(Unknown Source)
Code:
java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at com.esri.cc.comp.mg.d(Unknown Source)
at com.esri.cc.comp.mg.a(Unknown Source)
at com.esri.aims.viewer.IMSMap.enableFunction(Unknown Source)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.plugin.com.MethodDispatcher.invoke(Unknown Source)
at sun.plugin.com.DispatchImpl.invokeImpl(Unknown Source)
at sun.plugin.com.DispatchImpl$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.com.DispatchImpl.invoke(Unknown Source)
java.lang.Exception: java.lang.NullPointerException
at sun.plugin.com.DispatchImpl.invokeImpl(Unknown Source)
at sun.plugin.com.DispatchImpl$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.com.DispatchImpl.invoke(Unknown Source)
With JRE 1.4.2_01 and later versions, Sun introduced new security restrictions for JavaScript > Java calls. Since the origin of JavaScript code cannot be verified, Java code called from the JavaScript is not considered to be from the same codebase. As a result, permissions granted for the applet codebase in the java.policy file, as a default found at $JAVA_HOME/lib/security, are not honored in a JavaScript > Java call.
JRE's prior to 1.4.2_01 were less restrictive with respect to JavaScript > Java communication, therefore the Java Viewer functiond without explicit security changes. While no specific security threat has been associated with this issue, Sun has proactively decided to implement tighter security standards within its products.
Warning:
ESRI is not responsible for issues or problems that may result due to the following security changes. See the Java Policy Permissions information in the Related Information section for more details on security options and risks.
Code:
permission java.io.FilePermission "${java.home}\\lib\\ext\\*", "read";
Code:
applet.enableFunction(48, false);
Code:
permission java.lang.RuntimePermission "stopThread";
permission java.lang.RuntimePermission "modifyThreadGroup";
permission java.lang.RuntimePermission "modifyThread";
permission java.net.SocketPermission "*", "connect,accept,resolve";
Code:
permission java.io.FilePermission "${java.home}\\lib\\ext\\*", "read";
permission java.io.FilePermission "${user.home}\\*", "read";
permission java.lang.RuntimePermission "stopThread";
permission java.lang.RuntimePermission "modifyThreadGroup";
permission java.lang.RuntimePermission "modifyThread";
permission java.net.SocketPermission "*", "connect,accept,resolve";
Article ID:000006945
Get help from ArcGIS experts
Download the Esri Support App