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