We've upgraded to 7u21 and now we're seeing the same initialization problem as 
reported in bug JDK-8002283, except this time with WeakHashMap instead of 
HashMap.  The same workaround of explicitly initializing WeakHashMap in 
System.initializeSystemClass has gotten us around the issue.

Here's the stack trace.

Exception in thread "main" java.lang.ExceptionInInitializerError
        at java.util.WeakHashMap.<init>(WeakHashMap.java:277)
        at java.util.WeakHashMap.<init>(WeakHashMap.java:297)
        at java.lang.reflect.Proxy.<clinit>(Proxy.java:240)
        at java.lang.Class.checkMemberAccess(Class.java:2190)
        at java.lang.Class.getDeclaredField(Class.java:1898)
        at 
java.util.concurrent.atomic.AtomicReference.<clinit>(AtomicReference.java:55)
        at java.security.Policy.<clinit>(Policy.java:121)
        at 
java.security.AccessControlContext.getDebug(AccessControlContext.java:98)
        at 
java.security.AccessController.checkPermission(AccessController.java:537)
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
        at 
java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1302)
        at java.lang.System.getProperty(System.java:706)
        at 
java.nio.channels.spi.SelectorProvider.loadProviderFromProperty(SelectorProvider.java:88)
        at 
java.nio.channels.spi.SelectorProvider.access$000(SelectorProvider.java:69)
        at 
java.nio.channels.spi.SelectorProvider$1.run(SelectorProvider.java:171)
        at 
java.nio.channels.spi.SelectorProvider$1.run(SelectorProvider.java:169)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
java.nio.channels.spi.SelectorProvider.provider(SelectorProvider.java:168)
        at java.lang.System.inheritedChannel(System.java:242)
        at sun.rmi.server.Activation$2.run(Activation.java:1927)
        at sun.rmi.server.Activation$2.run(Activation.java:1925)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.server.Activation.main(Activation.java:1924)
Caused by: java.lang.NullPointerException     
        at java.security.Policy.isSet(Policy.java:132)
        at 
java.security.AccessControlContext.getDebug(AccessControlContext.java:98)
        at 
java.security.AccessController.checkPermission(AccessController.java:537)
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
        at 
java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1302)
        at java.lang.System.getProperty(System.java:706)
        at sun.security.action.GetPropertyAction.run(GetPropertyAction.java:4)
        at sun.security.action.GetPropertyAction.run(GetPropertyAction.java:49)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.util.WeakHashMap$Holder.<clinit>(WeakHashMap.java:210)
        ... 23 more



  
Tom Salter  |  Software Engineer  |  Java & Middleware Development 
Unisys  |  2476 Swedesford Road  |  Malvern, PA  19355


Reply via email to