Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8148938

ERROR: Recovery got null entry in loading jar

    Details

    • Subcomponent:
    • CPU:
      x86_64
    • OS:
      linux

      Description

      FULL PRODUCT VERSION :
      java version "1.8.0_72"
      Java(TM) SE Runtime Environment (build 1.8.0_72-b15)
      Java HotSpot(TM) 64-Bit Server VM (build 25.72-b15, mixed mode)

      Reproduced also with Java versions 1.7.0:60, 1.7.0_72, 1.7.0_80, 1.8.0_66, 1.8.0_71, 1.8.0_72.

      ADDITIONAL OS VERSION INFORMATION :
      Linux 3.13.0-67-generic #110-Ubuntu SMP Fri Oct 23 13:24:41 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

      Reproduced also on Windows 8 Pro [versione 6.2.9200]

      A DESCRIPTION OF THE PROBLEM :
      Loading a class within an application randomly throws a RuntimeException (or NullPointerException with Java7 versions).
      We can't reproduce the exception in our business application, but we provided a test application reproducing the same exceptions.

      The exception with Java 8:
      java.lang.RuntimeException: ERROR: Recovery got null entry
      at com.sun.deploy.cache.CacheEntry.recover(Unknown Source)
      at com.sun.deploy.cache.CacheEntry.getJarSigningData(Unknown Source)
      at com.sun.deploy.cache.CachedJarFile.getSigningData(Unknown Source)
      at com.sun.deploy.cache.CachedJarFile.getCodeSource(Unknown Source)
      at com.sun.deploy.cache.DeployCacheJarAccessImpl.getCodeSource(Unknown Source)
      at com.sun.deploy.security.CPCallbackHandler$ChildElement.checkResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.checkResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.getResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:365)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
      at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:264)
      at sample.TestApp.loadClass(TestApp.java:38)
      at sample.TestApp$1.actionPerformed(TestApp.java:54)
      at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
      at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
      at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
      at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
      at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
      at java.awt.Component.processMouseEvent(Component.java:6535)
      at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
      at java.awt.Component.processEvent(Component.java:6300)
      at java.awt.Container.processEvent(Container.java:2236)
      at java.awt.Component.dispatchEventImpl(Component.java:4891)
      at java.awt.Container.dispatchEventImpl(Container.java:2294)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
      at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
      at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
      at java.awt.Container.dispatchEventImpl(Container.java:2280)
      at java.awt.Window.dispatchEventImpl(Window.java:2750)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
      at java.awt.EventQueue.access$500(EventQueue.java:97)
      at java.awt.EventQueue$3.run(EventQueue.java:709)
      at java.awt.EventQueue$3.run(EventQueue.java:703)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
      at java.awt.EventQueue$4.run(EventQueue.java:731)
      at java.awt.EventQueue$4.run(EventQueue.java:729)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
      Loading class failed
      Exception in thread "AWT-EventQueue-2" java.lang.RuntimeException: java.lang.RuntimeException: ERROR: Failed to recover corrupt cache entry
      at sample.TestApp.loadClass(TestApp.java:41)
      at sample.TestApp$1.actionPerformed(TestApp.java:54)
      at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
      at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
      at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
      at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
      at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
      at java.awt.Component.processMouseEvent(Component.java:6535)
      at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
      at java.awt.Component.processEvent(Component.java:6300)
      at java.awt.Container.processEvent(Container.java:2236)
      at java.awt.Component.dispatchEventImpl(Component.java:4891)
      at java.awt.Container.dispatchEventImpl(Container.java:2294)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
      at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
      at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
      at java.awt.Container.dispatchEventImpl(Container.java:2280)
      at java.awt.Window.dispatchEventImpl(Window.java:2750)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
      at java.awt.EventQueue.access$500(EventQueue.java:97)
      at java.awt.EventQueue$3.run(EventQueue.java:709)
      at java.awt.EventQueue$3.run(EventQueue.java:703)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
      at java.awt.EventQueue$4.run(EventQueue.java:731)
      at java.awt.EventQueue$4.run(EventQueue.java:729)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
      Caused by: java.lang.RuntimeException: ERROR: Failed to recover corrupt cache entry
      at com.sun.deploy.cache.CacheEntry.recover(Unknown Source)
      at com.sun.deploy.cache.CacheEntry.getJarSigningData(Unknown Source)
      at com.sun.deploy.cache.CachedJarFile.getSigningData(Unknown Source)
      at com.sun.deploy.cache.CachedJarFile.getCodeSource(Unknown Source)
      at com.sun.deploy.cache.DeployCacheJarAccessImpl.getCodeSource(Unknown Source)
      at com.sun.deploy.security.CPCallbackHandler$ChildElement.checkResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.checkResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.getResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:365)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
      at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:264)
      at sample.TestApp.loadClass(TestApp.java:38)
      ... 37 more


      Exception in Java7:
      java.lang.NullPointerException
      at sample.TestApp.loadClass(TestApp.java:41)
      at sample.TestApp$1.actionPerformed(TestApp.java:54)
      at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
      at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
      at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
      at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
      at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
      at java.awt.Component.processMouseEvent(Component.java:6516)
      at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
      at java.awt.Component.processEvent(Component.java:6281)
      at java.awt.Container.processEvent(Container.java:2229)
      at java.awt.Component.dispatchEventImpl(Component.java:4872)
      at java.awt.Container.dispatchEventImpl(Container.java:2287)
      at java.awt.Component.dispatchEvent(Component.java:4698)
      at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
      at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
      at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
      at java.awt.Container.dispatchEventImpl(Container.java:2273)
      at java.awt.Window.dispatchEventImpl(Window.java:2719)
      at java.awt.Component.dispatchEvent(Component.java:4698)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747)
      at java.awt.EventQueue.access$300(EventQueue.java:103)
      at java.awt.EventQueue$3.run(EventQueue.java:706)
      at java.awt.EventQueue$3.run(EventQueue.java:704)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
      at java.awt.EventQueue$4.run(EventQueue.java:720)
      at java.awt.EventQueue$4.run(EventQueue.java:718)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:717)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
      Caused by: java.lang.NullPointerException
      at com.sun.deploy.security.CPCallbackHandler.isAuthenticated(Unknown Source)
      at com.sun.deploy.security.CPCallbackHandler.access$1500(Unknown Source)
      at com.sun.deploy.security.CPCallbackHandler$ChildElement.checkResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.checkResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.getResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:358)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
      at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:195)
      at sample.TestApp.loadClass(TestApp.java:38)
      ... 37 more

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      The steps are:
      - cleaning up javaws cache
      - consuming heap memory causing OutOfMemoryError
      - loading a class contained in a signed jar of the application.

      Loading the class causes the exception.




      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Loading class successfully
      ACTUAL -
      It's impossible loading the required jar

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      Java Web Start 11.66.2.17
      Uso della versione JRE 1.8.0_72-b15 Java HotSpot(TM) 64-Bit Server VM
      Directory home utente = /home/bazzac
      ----------------------------------------------------
      c: cancella finestra console
      f: finalizza oggetti nella coda di finalizzazione
      g: garbage collection
      h: visualizza questo messaggio della Guida
      m: stampa utilizzo memoria
      o: attiva registrazione eventi
      p: ricarica configurazione proxy
      q: nascondi console
      r: ricarica configurazione criteri
      s: esegui dump delle proprietà del sistema e della distribuzione
      t: esegui dump lista thread
      v: esegui dump stack thread
      0-5: imposta livello di trace su <n>
      ----------------------------------------------------
      Missing Permissions manifest attribute in main jar: file:/tmp/test/test.jar
      Livello di trace impostato su 5: tutto... completato.Clearing javaws cache ...
      preloader: Stop progressCheck thread queue.size()=0
      Exec result 0
      Dropping cached references ...
      cache: Clean up the reference queue: file:/tmp/test/test.jnlp
      cache: deregisterReference: com.sun.deploy.cache.MemoryCache$CachedResourceReference@554147d0: 3
      cache: Clean up the reference queue: file:/tmp/test/test.jar
      cache: deregisterReference: com.sun.deploy.cache.MemoryCache$CachedResourceReference@23c84b13: 6
      cache: Clean up the reference queue: file:/tmp/test/test.jar
      cache: deregisterReference: com.sun.deploy.cache.MemoryCache$CachedResourceReference@23c84b13: 5
      cache: Clean up the reference queue: file:/tmp/test/test.jar
      cache: deregisterReference: com.sun.deploy.cache.MemoryCache$CachedResourceReference@23c84b13: 4
      cache: Clean up the reference queue: file:/tmp/test/test.jar
      cache: deregisterReference: com.sun.deploy.cache.MemoryCache$CachedResourceReference@23c84b13: 3
      cache: Clean up the reference queue: file:/tmp/test/test.jar
      cache: deregisterReference: com.sun.deploy.cache.MemoryCache$CachedResourceReference@23c84b13: 2
      cache: Clean up the reference queue: file:/tmp/test/test.jnlp
      cache: deregisterReference: com.sun.deploy.cache.MemoryCache$CachedResourceReference@554147d0: 2
      cache: Clean up the reference queue: file:/tmp/test/test.jnlp
      cache: deregisterReference: com.sun.deploy.cache.MemoryCache$CachedResourceReference@554147d0: 1
      cache: delayedRemoveResource: file:/tmp/test/test.jnlp
      java.lang.OutOfMemoryError: Java heap space
      at sample.TestApp.cleanupCachedReferences(TestApp.java:28)
      at sample.TestApp$1.actionPerformed(TestApp.java:52)
      at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
      at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
      at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
      at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
      at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
      at java.awt.Component.processMouseEvent(Component.java:6535)
      at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
      at java.awt.Component.processEvent(Component.java:6300)
      at java.awt.Container.processEvent(Container.java:2236)
      at java.awt.Component.dispatchEventImpl(Component.java:4891)
      at java.awt.Container.dispatchEventImpl(Container.java:2294)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
      at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
      at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
      at java.awt.Container.dispatchEventImpl(Container.java:2280)
      at java.awt.Window.dispatchEventImpl(Window.java:2750)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
      at java.awt.EventQueue.access$500(EventQueue.java:97)
      at java.awt.EventQueue$3.run(EventQueue.java:709)
      at java.awt.EventQueue$3.run(EventQueue.java:703)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
      at java.awt.EventQueue$4.run(EventQueue.java:731)
      at java.awt.EventQueue$4.run(EventQueue.java:729)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
      Loading class
      java.io.FileNotFoundException: /home/bazzac/.java/deployment/cache/6.0/59/46068abb-4485660a (File o directory non esistente)
      at java.util.zip.ZipFile.open(Native Method)
      at java.util.zip.ZipFile.<init>(ZipFile.java:219)
      at java.util.zip.ZipFile.<init>(ZipFile.java:149)
      at java.util.jar.JarFile.<init>(JarFile.java:166)
      at java.util.jar.JarFile.<init>(JarFile.java:130)
      at com.sun.deploy.security.EnhancedJarVerifier.validate(Unknown Source)
      at com.sun.deploy.cache.CacheEntry$3.run(Unknown Source)
      at com.sun.deploy.cache.CacheEntry$3.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at com.sun.deploy.cache.CacheEntry.readSigningInfoFieldsPriv(Unknown Source)
      at com.sun.deploy.cache.CacheEntry.getJarSigningData(Unknown Source)
      at com.sun.deploy.cache.CachedJarFile.getSigningData(Unknown Source)
      at com.sun.deploy.cache.CachedJarFile.getCodeSource(Unknown Source)
      at com.sun.deploy.cache.DeployCacheJarAccessImpl.getCodeSource(Unknown Source)
      at com.sun.deploy.security.CPCallbackHandler$ChildElement.checkResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.checkResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.getResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:365)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
      at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:264)
      at sample.TestApp.loadClass(TestApp.java:38)
      at sample.TestApp$1.actionPerformed(TestApp.java:54)
      at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
      at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
      at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
      at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
      at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
      at java.awt.Component.processMouseEvent(Component.java:6535)
      at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
      at java.awt.Component.processEvent(Component.java:6300)
      at java.awt.Container.processEvent(Container.java:2236)
      at java.awt.Component.dispatchEventImpl(Component.java:4891)
      at java.awt.Container.dispatchEventImpl(Container.java:2294)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
      at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
      at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
      at java.awt.Container.dispatchEventImpl(Container.java:2280)
      at java.awt.Window.dispatchEventImpl(Window.java:2750)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
      at java.awt.EventQueue.access$500(EventQueue.java:97)
      at java.awt.EventQueue$3.run(EventQueue.java:709)
      at java.awt.EventQueue$3.run(EventQueue.java:703)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
      at java.awt.EventQueue$4.run(EventQueue.java:731)
      at java.awt.EventQueue$4.run(EventQueue.java:729)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
      cache: Trying to recover cache entry for file:/tmp/test/test.jar
      cache: MemoryCache: removed entry file:/tmp/test/test.jar
      network: Rimuovere voce cache: file:/tmp/test/test.jar
      cache: Failed to delete: /home/bazzac/.java/deployment/cache/6.0/59/46068abb-4485660a
      cache: Failed to delete: /home/bazzac/.java/deployment/cache/6.0/59/46068abb-4485660a.idx
      network: Voce cache non trovata [URL: file:/tmp/test/test.jar, versione: null]
      java.lang.RuntimeException: ERROR: Recovery got null entry
      at com.sun.deploy.cache.CacheEntry.recover(Unknown Source)
      at com.sun.deploy.cache.CacheEntry.getJarSigningData(Unknown Source)
      at com.sun.deploy.cache.CachedJarFile.getSigningData(Unknown Source)
      at com.sun.deploy.cache.CachedJarFile.getCodeSource(Unknown Source)
      at com.sun.deploy.cache.DeployCacheJarAccessImpl.getCodeSource(Unknown Source)
      at com.sun.deploy.security.CPCallbackHandler$ChildElement.checkResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.checkResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.getResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:365)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
      at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:264)
      at sample.TestApp.loadClass(TestApp.java:38)
      at sample.TestApp$1.actionPerformed(TestApp.java:54)
      at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
      at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
      at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
      at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
      at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
      at java.awt.Component.processMouseEvent(Component.java:6535)
      at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
      at java.awt.Component.processEvent(Component.java:6300)
      at java.awt.Container.processEvent(Container.java:2236)
      at java.awt.Component.dispatchEventImpl(Component.java:4891)
      at java.awt.Container.dispatchEventImpl(Container.java:2294)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
      at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
      at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
      at java.awt.Container.dispatchEventImpl(Container.java:2280)
      at java.awt.Window.dispatchEventImpl(Window.java:2750)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
      at java.awt.EventQueue.access$500(EventQueue.java:97)
      at java.awt.EventQueue$3.run(EventQueue.java:709)
      at java.awt.EventQueue$3.run(EventQueue.java:703)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
      at java.awt.EventQueue$4.run(EventQueue.java:731)
      at java.awt.EventQueue$4.run(EventQueue.java:729)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
      Loading class failed
      Exception in thread "AWT-EventQueue-2" java.lang.RuntimeException: java.lang.RuntimeException: ERROR: Failed to recover corrupt cache entry
      at sample.TestApp.loadClass(TestApp.java:41)
      at sample.TestApp$1.actionPerformed(TestApp.java:54)
      at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
      at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
      at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
      at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
      at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
      at java.awt.Component.processMouseEvent(Component.java:6535)
      at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
      at java.awt.Component.processEvent(Component.java:6300)
      at java.awt.Container.processEvent(Container.java:2236)
      at java.awt.Component.dispatchEventImpl(Component.java:4891)
      at java.awt.Container.dispatchEventImpl(Container.java:2294)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
      at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
      at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
      at java.awt.Container.dispatchEventImpl(Container.java:2280)
      at java.awt.Window.dispatchEventImpl(Window.java:2750)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
      at java.awt.EventQueue.access$500(EventQueue.java:97)
      at java.awt.EventQueue$3.run(EventQueue.java:709)
      at java.awt.EventQueue$3.run(EventQueue.java:703)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
      at java.awt.EventQueue$4.run(EventQueue.java:731)
      at java.awt.EventQueue$4.run(EventQueue.java:729)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
      Caused by: java.lang.RuntimeException: ERROR: Failed to recover corrupt cache entry
      at com.sun.deploy.cache.CacheEntry.recover(Unknown Source)
      at com.sun.deploy.cache.CacheEntry.getJarSigningData(Unknown Source)
      at com.sun.deploy.cache.CachedJarFile.getSigningData(Unknown Source)
      at com.sun.deploy.cache.CachedJarFile.getCodeSource(Unknown Source)
      at com.sun.deploy.cache.DeployCacheJarAccessImpl.getCodeSource(Unknown Source)
      at com.sun.deploy.security.CPCallbackHandler$ChildElement.checkResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.checkResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.getResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:365)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
      at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:264)
      at sample.TestApp.loadClass(TestApp.java:38)
      ... 37 more
      Clearing javaws cache ...
      Exec result 0
      Dropping cached references ...
      java.lang.OutOfMemoryError: Java heap space
      at sample.TestApp.cleanupCachedReferences(TestApp.java:28)
      at sample.TestApp$1.actionPerformed(TestApp.java:52)
      at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
      at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
      at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
      at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
      at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
      at java.awt.Component.processMouseEvent(Component.java:6535)
      at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
      at java.awt.Component.processEvent(Component.java:6300)
      at java.awt.Container.processEvent(Container.java:2236)
      at java.awt.Component.dispatchEventImpl(Component.java:4891)
      at java.awt.Container.dispatchEventImpl(Container.java:2294)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
      at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
      at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
      at java.awt.Container.dispatchEventImpl(Container.java:2280)
      at java.awt.Window.dispatchEventImpl(Window.java:2750)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
      at java.awt.EventQueue.access$500(EventQueue.java:97)
      at java.awt.EventQueue$3.run(EventQueue.java:709)
      at java.awt.EventQueue$3.run(EventQueue.java:703)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
      at java.awt.EventQueue$4.run(EventQueue.java:731)
      at java.awt.EventQueue$4.run(EventQueue.java:729)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
      Loading class
      cache: No memory CacheEntry: file:/tmp/test/test.jar
      cache: Failed to recover old CacheEntry for file:/tmp/test/test.jarfrom /home/bazzac/.java/deployment/cache/6.0/59/46068abb-4485660a.idx
      network: Voce cache non trovata [URL: file:/tmp/test/test.jar, versione: null]
      cache: Failed to recover with latest CacheEntry
      cache: getSignerMap failed to get CacheEntry for file:/tmp/test/test.jar
      Loading class failed
      Exception in thread "AWT-EventQueue-2" java.lang.RuntimeException: java.lang.NullPointerException
      at sample.TestApp.loadClass(TestApp.java:41)
      at sample.TestApp$1.actionPerformed(TestApp.java:54)
      at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
      at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
      at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
      at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
      at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
      at java.awt.Component.processMouseEvent(Component.java:6535)
      at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
      at java.awt.Component.processEvent(Component.java:6300)
      at java.awt.Container.processEvent(Container.java:2236)
      at java.awt.Component.dispatchEventImpl(Component.java:4891)
      at java.awt.Container.dispatchEventImpl(Container.java:2294)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
      at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
      at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
      at java.awt.Container.dispatchEventImpl(Container.java:2280)
      at java.awt.Window.dispatchEventImpl(Window.java:2750)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
      at java.awt.EventQueue.access$500(EventQueue.java:97)
      at java.awt.EventQueue$3.run(EventQueue.java:709)
      at java.awt.EventQueue$3.run(EventQueue.java:703)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
      at java.awt.EventQueue$4.run(EventQueue.java:731)
      at java.awt.EventQueue$4.run(EventQueue.java:729)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
      Caused by: java.lang.NullPointerException
      at com.sun.deploy.security.CPCallbackHandler.isAuthenticated(Unknown Source)
      at com.sun.deploy.security.CPCallbackHandler.access$1600(Unknown Source)
      at com.sun.deploy.security.CPCallbackHandler$ChildElement.checkResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.checkResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.getResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:365)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
      at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:264)
      at sample.TestApp.loadClass(TestApp.java:38)
      ... 37 more


      Java Web Start 10.80.2.15
      Uso della versione JRE 1.7.0_80-b15 Java HotSpot(TM) 64-Bit Server VM
      Directory home utente = /home/bazzac
      ----------------------------------------------------
      c: cancella finestra console
      f: finalizza oggetti nella coda di finalizzazione
      g: garbage collection
      h: visualizza questo messaggio della Guida
      m: stampa utilizzo memoria
      o: attiva registrazione eventi
      p: ricarica configurazione proxy
      q: nascondi console
      r: ricarica configurazione criteri
      s: esegui dump delle proprietà del sistema e della distribuzione
      t: esegui dump lista thread
      v: esegui dump stack thread
      0-5: imposta livello di trace su <n>
      ----------------------------------------------------
      Missing Permissions manifest attribute in main jar: file:/tmp/test/test.jar
      Livello di trace impostato su 5: tutto... completato.preloader: Stop progressCheck thread queue.size()=0
      Clearing javaws cache ...
      Exec result 0
      Dropping cached references ...
      cache: Clean up the reference queue: file:/tmp/test/test.jar
      cache: deregisterReference: com.sun.deploy.cache.MemoryCache$CachedResourceReference@23c84b13: 5
      cache: Clean up the reference queue: file:/tmp/test/test.jar
      cache: deregisterReference: com.sun.deploy.cache.MemoryCache$CachedResourceReference@23c84b13: 4
      cache: Clean up the reference queue: file:/tmp/test/test.jar
      cache: deregisterReference: com.sun.deploy.cache.MemoryCache$CachedResourceReference@23c84b13: 3
      cache: Clean up the reference queue: file:/tmp/test/test.jar
      cache: deregisterReference: com.sun.deploy.cache.MemoryCache$CachedResourceReference@23c84b13: 2
      cache: Clean up the reference queue: file:/tmp/test/test.jnlp
      cache: deregisterReference: com.sun.deploy.cache.MemoryCache$CachedResourceReference@554147d0: 1
      cache: delayedRemoveResource: file:/tmp/test/test.jnlp
      java.lang.OutOfMemoryError: GC overhead limit exceeded
      at sample.TestApp.cleanupCachedReferences(TestApp.java:28)
      at sample.TestApp$1.actionPerformed(TestApp.java:52)
      at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
      at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
      at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
      at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
      at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
      at java.awt.Component.processMouseEvent(Component.java:6516)
      at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
      at java.awt.Component.processEvent(Component.java:6281)
      at java.awt.Container.processEvent(Container.java:2229)
      at java.awt.Component.dispatchEventImpl(Component.java:4872)
      at java.awt.Container.dispatchEventImpl(Container.java:2287)
      at java.awt.Component.dispatchEvent(Component.java:4698)
      at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
      at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
      at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
      at java.awt.Container.dispatchEventImpl(Container.java:2273)
      at java.awt.Window.dispatchEventImpl(Window.java:2719)
      at java.awt.Component.dispatchEvent(Component.java:4698)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747)
      at java.awt.EventQueue.access$300(EventQueue.java:103)
      at java.awt.EventQueue$3.run(EventQueue.java:706)
      at java.awt.EventQueue$3.run(EventQueue.java:704)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
      at java.awt.EventQueue$4.run(EventQueue.java:720)
      at java.awt.EventQueue$4.run(EventQueue.java:718)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:717)
      Loading class
      cache: No memory CacheEntry: file:/tmp/test/test.jar
      cache: Failed to recover old CacheEntry for file:/tmp/test/test.jarfrom /home/bazzac/.java/deployment/cache/6.0/59/46068abb-7f09c1a6.idx
      network: Voce cache non trovata [URL: file:/tmp/test/test.jar, versione: null]
      cache: Failed to recover with latest CacheEntry
      cache: getSignerMap failed to get CacheEntry for file:/tmp/test/test.jar
      Loading class failed
      Exception in thread "AWT-EventQueue-2" java.lang.RuntimeException: java.lang.NullPointerException
      at sample.TestApp.loadClass(TestApp.java:41)
      at sample.TestApp$1.actionPerformed(TestApp.java:54)
      at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
      at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
      at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
      at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
      at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
      at java.awt.Component.processMouseEvent(Component.java:6516)
      at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
      at java.awt.Component.processEvent(Component.java:6281)
      at java.awt.Container.processEvent(Container.java:2229)
      at java.awt.Component.dispatchEventImpl(Component.java:4872)
      at java.awt.Container.dispatchEventImpl(Container.java:2287)
      at java.awt.Component.dispatchEvent(Component.java:4698)
      at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
      at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
      at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
      at java.awt.Container.dispatchEventImpl(Container.java:2273)
      at java.awt.Window.dispatchEventImpl(Window.java:2719)
      at java.awt.Component.dispatchEvent(Component.java:4698)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747)
      at java.awt.EventQueue.access$300(EventQueue.java:103)
      at java.awt.EventQueue$3.run(EventQueue.java:706)
      at java.awt.EventQueue$3.run(EventQueue.java:704)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
      at java.awt.EventQueue$4.run(EventQueue.java:720)
      at java.awt.EventQueue$4.run(EventQueue.java:718)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:717)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
      Caused by: java.lang.NullPointerException
      at com.sun.deploy.security.CPCallbackHandler.isAuthenticated(Unknown Source)
      at com.sun.deploy.security.CPCallbackHandler.access$1500(Unknown Source)
      at com.sun.deploy.security.CPCallbackHandler$ChildElement.checkResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.checkResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.getResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:358)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
      at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:195)
      at sample.TestApp.loadClass(TestApp.java:38)
      ... 37 more


      REPRODUCIBILITY :
      This bug can be reproduced often.

      ---------- BEGIN SOURCE ----------
      package sample;

      import java.awt.event.ActionEvent;
      import java.io.IOException;

      import javax.swing.AbstractAction;
      import javax.swing.JButton;
      import javax.swing.JFrame;
      import javax.swing.SwingUtilities;

      public class TestApp extends JFrame {

          void clearJavawsCache() {
      try {
      System.out.println("Clearing javaws cache ...");
      int waitFor = Runtime.getRuntime().exec("javaws -clearcache").waitFor();
      System.out.println("Exec result "+ waitFor);
      } catch (IOException | InterruptedException e) {
      throw new RuntimeException(e);
      }
          }

          void cleanupCachedReferences() {
      try {
      System.out.println("Dropping cached references ...");
      byte[][] b = new byte[1024*1024][];
      for (int i = 0; i < b.length; i++)
      b[i] = new byte[256];
      } catch(OutOfMemoryError er) {
      er.printStackTrace();
      System.gc();
      }
          }

          void loadClass() {
      try {
      System.out.println("Loading class");
      Class.forName("sample.A");
      } catch (Throwable e1) {
      System.err.println("Loading class failed");
      throw new RuntimeException(e1);
      }
          }

          public TestApp() {
      add(new JButton(new AbstractAction("Test") {

      @Override
      public void actionPerformed(ActionEvent e) {
      clearJavawsCache();

      cleanupCachedReferences();

      loadClass();
      }
      }));
          }

          public static void main(String[] args) {
      SwingUtilities.invokeLater(new Runnable() {
      @Override
      public void run() {
      final TestApp testApp = new TestApp();
      testApp.setVisible(true);
      testApp.pack();
      }
      });
          }
      }


      package sample;

      public class A {
          
          public static final String S = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. "
           + "Morbi dictum gravida libero, at rhoncus nisi bibendum non. "
           + "Integer tempus odio sed velit aliquam porttitor. "
           + "Class aptent taciti sociosqu ad litora torquent per conubia nostra, "
           + "per inceptos himenaeos. Integer tempus est a leo feugiat,"
           + "in ultrices est consequat. Ut ac fringilla nibh, non finibus massa. "
           + "Donec tempus posuere risus rutrum aliquam. Aliquam non commodo ligula. "
           + "Donec rhoncus, elit sit amet pellentesque laoreet, odio sem tincidunt nulla, "
           + "ut mattis urna nulla aliquam enim. Integer justo justo, interdum at placerat in, "
           + "dignissim at urna. Nullam mollis a tortor vel ornare. "
           + "Proin eleifend gravida turpis vitae elementum. "
           + "Duis vitae odio dui. Cras eu velit sapien";

      }


      <?xml version="1.0" encoding="utf-8"?>
      <jnlp spec="1.5+" codebase="file:///tmp/test" href="test.jnlp" version="0.0.1-SNAPSHOT">
      <information>
      <title>Jnlp Testing</title>
               <vendor>IBT</vendor>
      <homepage href="http://localhost:8080/" />
      <description>Testing app</description>
      </information>
      <security>
      <all-permissions/>
      </security>
      <resources>
      <j2se version="1.7+" initial-heap-size="64m" max-heap-size="256m" />
      <jar href="test.jar" main="true" />
      </resources>
      <application-desc main-class="sample.TestApp" />
      </jnlp>

      ---------- END SOURCE ----------

        Activity

        Hide
        pardesha Pardeep Sharma added a comment -
        Run the attached submitter provided test case (recompiled) in Oracle Linux 7 and couldn't reproduce the issue as stated.
        7u80: OK
        8u66: OK
        8u72: OK
        9 ea b103: OK

        Steps to execute:
        - Copy test.jnlp and test.jar to the directory /tmp/test
        - Execute javaws /tmp/test/test.jnlp

        Written back to the submitter with results and reconfirm the issue.
        Show
        pardesha Pardeep Sharma added a comment - Run the attached submitter provided test case (recompiled) in Oracle Linux 7 and couldn't reproduce the issue as stated. 7u80: OK 8u66: OK 8u72: OK 9 ea b103: OK Steps to execute: - Copy test.jnlp and test.jar to the directory /tmp/test - Execute javaws /tmp/test/test.jnlp Written back to the submitter with results and reconfirm the issue.
        Hide
        pardesha Pardeep Sharma added a comment -
        Since the issue is not reproducible locally, closing this as "Cannot Reproduce".
        Show
        pardesha Pardeep Sharma added a comment - Since the issue is not reproducible locally, closing this as "Cannot Reproduce".

          People

          • Assignee:
            alitvinov Anton Litvinov
            Reporter:
            webbuggrp Webbug Group
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: