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

JNLPClassLoader/DeployURLClassPath with Java Web Start (11.91.2.14) are not using local jar cache

    Details

    • Subcomponent:
    • Introduced In Version:
    • CPU:
      x86
    • OS:
      other

      Description

      FULL PRODUCT VERSION :
      java version "1.8.0_91"
      Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
      Java HotSpot(TM) Client VM (build 25.91-b14, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      Microsoft Windows [Version 10.0.10586]

      A DESCRIPTION OF THE PROBLEM :
      class loading via javaws JNLP is broken in javaws (irrespective of the selected JRE version by javaws!).
      the broken javaws versions are not using locally cached files.

      broken versions:
      Java Web Start 11.91.2.14
      Java Web Start 11.102.2.04 x86

      working version:
      Java Web Start 11.77.2.03

      REGRESSION. Last worked in version 8u77

      ADDITIONAL REGRESSION INFORMATION:
      java version "1.8.0_77"
      Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
      Java HotSpot(TM) Client VM (build 25.77-b03, mixed mode, sharing)

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      enable java console

      launch
      javaws http://kursweb.ch/webstart/kursweb.jnlp

      hit v to dump stack trace, app spends 99% on com.sun.jnlp.JNLPClassLoader.loadClass


      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      jar files are downloaded, app starts and classes are loaded directly from the jar cache
      app starts with older version within 10 sec
      ACTUAL -
      extreme amount of requests towards the webserver to load each class

      app starts only after more than 3 min

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      the following stack traces are just examples where the application spends most time

      ...
      at com.sun.deploy.security.DeployURLClassPath$UrlLoader.findResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath.findResource(Unknown Source)
      at java.net.URLClassLoader$2.run(Unknown Source)
      at java.net.URLClassLoader$2.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findResource(Unknown Source)
      at com.sun.jnlp.JNLPClassLoader.findResource(Unknown Source)
      at java.lang.ClassLoader.getResource(Unknown Source)
      ...



      "javawsApplicationMain" #35 prio=5 os_prio=0 tid=0x2883fc00 nid=0x1026c runnable [0x2a8ec000]
         java.lang.Thread.State: RUNNABLE
      at java.util.zip.Inflater.reset(Native Method)
      at java.util.zip.Inflater.reset(Unknown Source)
      - locked <0x058e26e8> (a java.util.zip.ZStreamRef)
      at java.util.zip.ZipFile.releaseInflater(Unknown Source)
      at java.util.zip.ZipFile.access$100(Unknown Source)
      at java.util.zip.ZipFile$ZipFileInflaterInputStream.close(Unknown Source)
      at java.util.jar.JarVerifier$VerifierStream.close(Unknown Source)
      at com.sun.deploy.security.JarVerifier.readAndMaybeSaveStreamTo(Unknown Source)
      at com.sun.deploy.security.JarVerifier.authenticateJarEntry(Unknown Source)
      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.getJarSigningData(Unknown Source)
      - locked <0x0f9b2360> (a com.sun.deploy.cache.CacheEntry)
      at com.sun.deploy.cache.CachedJarFile.getSigningData(Unknown Source)
      - locked <0x058e01b8> (a com.sun.deploy.cache.CachedJarFile)
      at com.sun.deploy.cache.CachedJarFile.getCodeSources(Unknown Source)
      - locked <0x058e01b8> (a com.sun.deploy.cache.CachedJarFile)
      at com.sun.deploy.cache.DeployCacheJarAccessImpl.getCodeSources(Unknown Source)
      at com.sun.deploy.security.CPCallbackHandler$ParentCallback.openClassPathElement(Unknown Source)
      - locked <0x0f849850> (a com.sun.deploy.security.CPCallbackHandler$ParentCallback)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$800(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$JarLoader.<init>(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
      - locked <0x0f80c5e0> (a com.sun.deploy.security.DeployURLClassPath)
      at com.sun.deploy.security.DeployURLClassPath.findResource(Unknown Source)
      at java.net.URLClassLoader$2.run(Unknown Source)
      at java.net.URLClassLoader$2.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findResource(Unknown Source)
      at com.sun.jnlp.JNLPClassLoader.findResource(Unknown Source)
      at java.lang.ClassLoader.getResource(Unknown Source)
      at com.sun.jnlp.JNLPClassLoader.getResource(Unknown Source)
      at java.lang.ClassLoader.getResource(Unknown Source)
      at com.sun.jnlp.JNLPClassLoader.getResource(Unknown Source)
      at org.apache.log4j.helpers.Loader.getResource(Loader.java:87)
      at org.apache.log4j.LogManager.<clinit>(LogManager.java:103)
      at org.apache.log4j.Logger.getLogger(Logger.java:116)
      at kurs.util.KursUtil.<clinit>(KursUtil.java:32)
      at Main.<clinit>(Main.java:30)
      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 com.sun.javaws.Launcher.executeApplication(Unknown Source)
      at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
      at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
      at com.sun.javaws.Launcher.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)



      "javawsApplicationMain" #35 prio=5 os_prio=0 tid=0x2883fc00 nid=0x1026c runnable [0x2a8eb000]
         java.lang.Thread.State: RUNNABLE
      at java.net.SocketInputStream.socketRead0(Native Method)
      at java.net.SocketInputStream.socketRead(Unknown Source)
      at java.net.SocketInputStream.read(Unknown Source)
      at java.net.SocketInputStream.read(Unknown Source)
      at sun.security.ssl.InputRecord.readFully(Unknown Source)
      at sun.security.ssl.InputRecord.read(Unknown Source)
      at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
      - locked <0x04fba5b8> (a java.lang.Object)
      at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
      - locked <0x04fba588> (a java.lang.Object)
      at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
      at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
      at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
      at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
      - locked <0x04fad560> (a sun.net.www.protocol.https.DelegateHttpsURLConnection)
      at sun.net.www.protocol.http.HttpURLConnection.access$200(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection$9.run(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection$9.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.AccessController.doPrivilegedWithCombiner(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
      - locked <0x04fad560> (a sun.net.www.protocol.https.DelegateHttpsURLConnection)
      at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
      - locked <0x04fad4e8> (a sun.net.www.protocol.https.HttpsURLConnectionImpl)
      at com.sun.deploy.security.DeployURLClassPath$UrlLoader.getResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
      at com.sun.jnlp.JNLPClassLoader.getResourceAsResource(Unknown Source)
      at com.sun.jnlp.JNLPClassLoader.getResourceAsResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassLoader.getResourceAsStream(Unknown Source)
      at java.util.ResourceBundle$Control$1.run(Unknown Source)
      at java.util.ResourceBundle$Control$1.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.util.ResourceBundle$Control.newBundle(Unknown Source)
      at java.util.ResourceBundle.loadBundle(Unknown Source)
      at java.util.ResourceBundle.findBundle(Unknown Source)
      at java.util.ResourceBundle.getBundleImpl(Unknown Source)
      at java.util.ResourceBundle.getBundle(Unknown Source)
      at org.apache.derby.iapi.services.i18n.MessageService.getBundleWithEnDefault(Unknown Source)
      at org.apache.derby.iapi.services.i18n.MessageService.getBundleForLocale(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.getBundle(Unknown Source)
      at org.apache.derby.impl.services.monitor.FileMonitor.getBundle(Unknown Source)
      at org.apache.derby.iapi.services.i18n.MessageService.getBundle(Unknown Source)
      at org.apache.derby.iapi.services.i18n.MessageService.getTextMessage(Unknown Source)
      at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.boot(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
      at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
      at org.apache.derby.impl.services.monitor.FileMonitor.startModule(Unknown Source)
      at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
      at org.apache.derby.impl.store.raw.RawStore$6.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.apache.derby.impl.store.raw.RawStore.bootServiceModule(Unknown Source)
      at org.apache.derby.impl.store.raw.RawStore.boot(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
      at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
      at org.apache.derby.impl.services.monitor.FileMonitor.startModule(Unknown Source)
      at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
      at org.apache.derby.impl.store.access.RAMAccessManager$5.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.apache.derby.impl.store.access.RAMAccessManager.bootServiceModule(Unknown Source)
      at org.apache.derby.impl.store.access.RAMAccessManager.boot(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
      at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
      at org.apache.derby.impl.services.monitor.FileMonitor.startModule(Unknown Source)
      at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
      at org.apache.derby.impl.db.BasicDatabase$5.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.apache.derby.impl.db.BasicDatabase.bootServiceModule(Unknown Source)
      at org.apache.derby.impl.db.BasicDatabase.bootStore(Unknown Source)
      at org.apache.derby.impl.db.BasicDatabase.boot(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
      at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(Unknown Source)
      at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection$4.run(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection$4.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.apache.derby.impl.jdbc.EmbedConnection.startPersistentService(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
      at org.apache.derby.jdbc.InternalDriver$1.run(Unknown Source)
      at org.apache.derby.jdbc.InternalDriver$1.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.apache.derby.jdbc.InternalDriver.getNewEmbedConnection(Unknown Source)
      at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
      at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
      at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
      at java.sql.DriverManager.getConnection(Unknown Source)
      at java.sql.DriverManager.getConnection(Unknown Source)
      at kurs.db.DAO.initDb(DAO.java:804)
      at Main._main(Main.java:172)
      at Main.main(Main.java:68)
      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 com.sun.javaws.Launcher.executeApplication(Unknown Source)
      at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
      at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
      at com.sun.javaws.Launcher.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)


      "javawsApplicationMain" #35 prio=5 os_prio=0 tid=0x2850a800 nid=0x1ec0c runnable [0x2a47a000]
         java.lang.Thread.State: RUNNABLE
      at java.net.DualStackPlainSocketImpl.connect0(Native Method)
      at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
      at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
      - locked <0x055a1128> (a java.net.DualStackPlainSocketImpl)
      at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
      at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
      at java.net.PlainSocketImpl.connect(Unknown Source)
      at java.net.SocksSocketImpl.connect(Unknown Source)
      at java.net.Socket.connect(Unknown Source)
      at sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
      at sun.security.ssl.BaseSSLSocketImpl.connect(Unknown Source)
      at sun.net.NetworkClient.doConnect(Unknown Source)
      at sun.net.www.http.HttpClient.openServer(Unknown Source)
      at sun.net.www.http.HttpClient.openServer(Unknown Source)
      - locked <0x055a0be8> (a sun.net.www.protocol.https.HttpsClient)
      at sun.net.www.protocol.https.HttpsClient.&lt;init&gt;(Unknown Source)
      at sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
      at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.AccessController.doPrivilegedWithCombiner(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
      at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
      - locked <0x0559ee18> (a sun.net.www.protocol.https.DelegateHttpsURLConnection)
      at sun.net.www.protocol.http.HttpURLConnection.access$200(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection$9.run(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection$9.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.AccessController.doPrivilegedWithCombiner(Unknown Source)
      at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
      - locked <0x0559ee18> (a sun.net.www.protocol.https.DelegateHttpsURLConnection)
      at java.net.HttpURLConnection.getResponseCode(Unknown Source)
      at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath$UrlLoader.findResource(Unknown Source)
      at com.sun.deploy.security.DeployURLClassPath.findResource(Unknown Source)
      at java.net.URLClassLoader$2.run(Unknown Source)
      at java.net.URLClassLoader$2.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findResource(Unknown Source)
      at com.sun.jnlp.JNLPClassLoader.findResource(Unknown Source)
      at java.lang.ClassLoader.getResource(Unknown Source)
      at com.sun.jnlp.JNLPClassLoader.getResource(Unknown Source)
      at java.net.URLClassLoader.getResourceAsStream(Unknown Source)
      at com.sun.deploy.security.DeployURLClassLoader.getResourceAsStream(Unknown Source)
      at java.util.ResourceBundle$Control$1.run(Unknown Source)
      at java.util.ResourceBundle$Control$1.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.util.ResourceBundle$Control.newBundle(Unknown Source)
      at java.util.ResourceBundle.loadBundle(Unknown Source)
      at java.util.ResourceBundle.findBundle(Unknown Source)
      at java.util.ResourceBundle.getBundleImpl(Unknown Source)
      at java.util.ResourceBundle.getBundle(Unknown Source)
      at org.apache.derby.iapi.services.i18n.MessageService.getBundleWithEnDefault(Unknown Source)
      at org.apache.derby.iapi.services.i18n.MessageService.getBundleForLocale(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.getBundle(Unknown Source)
      at org.apache.derby.impl.services.monitor.FileMonitor.getBundle(Unknown Source)
      at org.apache.derby.iapi.services.i18n.MessageService.getBundle(Unknown Source)
      at org.apache.derby.iapi.services.i18n.MessageService.getTextMessage(Unknown Source)
      at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.boot(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
      at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
      at org.apache.derby.impl.services.monitor.FileMonitor.startModule(Unknown Source)
      at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
      at org.apache.derby.impl.store.raw.RawStore$6.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.apache.derby.impl.store.raw.RawStore.bootServiceModule(Unknown Source)
      at org.apache.derby.impl.store.raw.RawStore.boot(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
      at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
      at org.apache.derby.impl.services.monitor.FileMonitor.startModule(Unknown Source)
      at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
      at org.apache.derby.impl.store.access.RAMAccessManager$5.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.apache.derby.impl.store.access.RAMAccessManager.bootServiceModule(Unknown Source)
      at org.apache.derby.impl.store.access.RAMAccessManager.boot(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
      at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
      at org.apache.derby.impl.services.monitor.FileMonitor.startModule(Unknown Source)
      at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
      at org.apache.derby.impl.db.BasicDatabase$5.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.apache.derby.impl.db.BasicDatabase.bootServiceModule(Unknown Source)
      at org.apache.derby.impl.db.BasicDatabase.bootStore(Unknown Source)
      at org.apache.derby.impl.db.BasicDatabase.boot(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
      at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(Unknown Source)
      at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(Unknown Source)
      at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection$4.run(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection$4.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.apache.derby.impl.jdbc.EmbedConnection.startPersistentService(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown Source)
      at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
      at org.apache.derby.jdbc.InternalDriver$1.run(Unknown Source)
      at org.apache.derby.jdbc.InternalDriver$1.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.apache.derby.jdbc.InternalDriver.getNewEmbedConnection(Unknown Source)
      at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
      at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
      at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
      at java.sql.DriverManager.getConnection(Unknown Source)
      at java.sql.DriverManager.getConnection(Unknown Source)
      at kurs.db.DAO.initDb(DAO.java:804)
      at Main._main(Main.java:172)
      at Main.main(Main.java:68)
      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 com.sun.javaws.Launcher.executeApplication(Unknown Source)
      at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
      at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
      at com.sun.javaws.Launcher.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      create an application with many jar dependencies, sign all jars, upload to webserver, launch jnlp file, see how classes are loaded via a jar url instead of going to the local disk cache. sorry, can't be reproduced easier
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      using an older version javaws - even with the 1.8.0_91 JRE - solves the problem

      not accepted by the customers

        Issue Links

          Activity

          Hide
          scfitch Stephen Fitch added a comment -
          Also seen with 8u102
          Show
          scfitch Stephen Fitch added a comment - Also seen with 8u102

            People

            • Assignee:
              mcherkas Mikhail Cherkasov (Inactive)
              Reporter:
              webbuggrp Webbug Group
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: