This discussion is archived
1 Reply Latest reply: Apr 17, 2012 1:26 PM by RogerL (Oracle) RSS

Problems loading applet

931093 Newbie
Currently Being Moderated
Good morning,

We recently have been notified of a problem loading some Java applets and we cannot pinpoint the root cause of the issues.

Our company uses an application that requires loading an applet from the developer's website. The applet is loaded most of the times, however, occasionally (without any clearly defined pattern) it does not and a Java exception is being fired. The developer told us that their servers hosting the Java applet do not show any issues and none of their other customers are complaining of these issues. Our users have all Citrix desktops with roaming and mandatory profiles and load the applet using Internet explorer from one of the Citrix servers. The proxy server through which they connect to the Internet is running perfectly without any errors or blocked connections, however, the Java applet does not load in some if not most instances.

The JRE version currently installed is: JRE version 1.6.0_05 Java HotSpot(TM) Client VM. All servers have the correct CLASSPATH variable set.

Below we have 2 logs from a user that does not have any issues loading the applet and one that does. It is worth mentioning that the below does not mean that some users have issues while some don't. We noticed users working fine for 5 minutes, and then experiencing the same issues as those who cannot load the applet so clearly this is not user related.

The applet requires a certificate in order to be loaded, which is present in all user's security trusted.certs file. The Java console shows the appropriate certificates for all users and this has been tested.

Any advise would be greatly appreciated.

WORKING LOG:
basic: Starting applet ...
basic: completed perf rollup
network: Cache entry found [url: https://developer website/applet.jar, version: null]
liveconnect: Invoking JS method: execScript
liveconnect: Invoking JS method: evalIntermediateValueToReturn
network: Connecting https://developer website/applet.jar with proxy=HTTP @ hostname/IP:8080
security: Loading Root CA certificates from C:\PROGRA~1\Java\JRE16~1.0_0\lib\security\cacerts
security: Loaded Root CA certificates from C:\PROGRA~1\Java\JRE16~1.0_0\lib\security\cacerts
security: Loading SSL Root CA certificates from C:\PROGRA~1\Java\JRE16~1.0_0\lib\security\cacerts
security: Loaded SSL Root CA certificates from C:\PROGRA~1\Java\JRE16~1.0_0\lib\security\cacerts
security: Loading certificates from Deployment session certificate store
security: Loaded certificates from Deployment session certificate store
security: Loading certificates from Internet Explorer ROOT certificate store
security: Loaded certificates from Internet Explorer ROOT certificate store
security: Checking if certificate is in Deployment denied certificate store
network: ResponseCode for https://developer website/applet.jar : 304
network: Encoding for https://developer website/applet.jar : null
network: Disconnect connection to https://developer website/applet.jar
security: Loading Root CA certificates from C:\PROGRA~1\Java\JRE16~1.0_0\lib\security\cacerts
security: Loaded Root CA certificates from C:\PROGRA~1\Java\JRE16~1.0_0\lib\security\cacerts
security: Loading Deployment certificates from C:\Documents and Settings\user\Application Data\Sun\Java\Deployment\security\trusted.certs
security: Loaded Deployment certificates from C:\Documents and Settings\user\Application Data\Sun\Java\Deployment\security\trusted.certs
security: Loading certificates from Deployment session certificate store
security: Loaded certificates from Deployment session certificate store
security: Loading certificates from Internet Explorer ROOT certificate store
security: Loaded certificates from Internet Explorer ROOT certificate store
security: Loading certificates from Internet Explorer TrustedPublisher certificate store
security: Loaded certificates from Internet Explorer TrustedPublisher certificate store
security: Validate the certificate chain using CertPath API
security: Obtain certificate collection in Root CA certificate store
security: Obtain certificate collection in Root CA certificate store
security: The CRL support is disabled
security: The OCSP support is disabled
security: No timestamping info available
security: Checking if certificate is in Deployment denied certificate store
security: Checking if certificate is in Deployment permanent certificate store
--- all works fine from this point onwards.

NOT WORKING LOG:
basic: Starting applet ...
basic: completed perf rollup
network: Cache entry found [url: https://developer website/applet.jar, version: null]
liveconnect: Invoking JS method: execScript
liveconnect: Invoking JS method: evalIntermediateValueToReturn
network: Connecting https://developer website/applet.jar with proxy=HTTP @ hostname/IP:8080
basic: Stopped loading ...
basic: Stopping applet ...
basic: Removed progress listener: sun.plugin.util.GrayBoxPainter@1bd0dd4
basic: Finding information ...
basic: Releasing classloader: sun.plugin.ClassLoaderInfo@100ab23, refcount=0
basic: Caching classloader: sun.plugin.ClassLoaderInfo@100ab23
java.lang.InternalError: internal error: SeedGenerator thread generated an exception.
basic: Current classloader cache size: 1
basic: Done ...
     at sun.security.provider.SeedGenerator$ThreadedSeedGenerator.getSeedByte(Unknown Source)
     at sun.security.provider.SeedGenerator.getSeedBytes(Unknown Source)
basic: Joining applet thread ...
     at sun.security.provider.SeedGenerator.generateSeed(Unknown Source)
     at sun.security.provider.SecureRandom.engineGenerateSeed(Unknown Source)
     at java.security.SecureRandom.generateSeed(Unknown Source)
     at com.sun.deploy.security.WSecureRandom.<init>(Unknown Source)
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
basic: Destroying applet ...
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
basic: Disposing applet ...
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
     at java.lang.reflect.Constructor.newInstance(Unknown Source)
     at java.lang.Class.newInstance0(Unknown Source)
     at java.lang.Class.newInstance(Unknown Source)
     at java.security.Provider$Service.newInstance(Unknown Source)
     at sun.security.jca.GetInstance.getInstance(Unknown Source)
     at sun.security.jca.GetInstance.getInstance(Unknown Source)
     at java.security.SecureRandom.getInstance(Unknown Source)
     at java.security.SecureRandom.getDefaultPRNG(Unknown Source)
     at java.security.SecureRandom.<init>(Unknown Source)
     at javax.crypto.SunJCE_b.<clinit>(DashoA13*..)
     at javax.crypto.Cipher.getInstance(DashoA13*..)
     at com.sun.net.ssl.internal.ssl.JsseJce.getCipher(Unknown Source)
     at com.sun.net.ssl.internal.ssl.CipherBox.<init>(Unknown Source)
     at com.sun.net.ssl.internal.ssl.CipherBox.newCipherBox(Unknown Source)
     at com.sun.net.ssl.internal.ssl.CipherSuite$BulkCipher.newCipher(Unknown Source)
     at com.sun.net.ssl.internal.ssl.CipherSuite$BulkCipher.isAvailable(Unknown Source)
     at com.sun.net.ssl.internal.ssl.CipherSuite$BulkCipher.isAvailable(Unknown Source)
     at com.sun.net.ssl.internal.ssl.CipherSuite.isAvailable(Unknown Source)
     at com.sun.net.ssl.internal.ssl.CipherSuiteList.buildAvailableCache(Unknown Source)
     at com.sun.net.ssl.internal.ssl.CipherSuiteList.getDefault(Unknown Source)
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.init(Unknown Source)
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(Unknown Source)
     at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(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.getInputStream(Unknown Source)
     at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
     at com.sun.deploy.net.HttpUtils.followRedirects(Unknown Source)
     at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source)
     at com.sun.deploy.net.BasicHttpRequest.doGetRequestEX(Unknown Source)
     at com.sun.deploy.net.DownloadEngine.isUpdateAvailable(Unknown Source)
     at com.sun.deploy.cache.DeployCacheHandler.get(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.getInputStream(Unknown Source)
     at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
     at sun.plugin.PluginURLJarFileCallBack.downloadJAR(Unknown Source)
     at sun.plugin.PluginURLJarFileCallBack.access$000(Unknown Source)
     at sun.plugin.PluginURLJarFileCallBack$1.run(Unknown Source)
     at java.security.AccessController.doPrivileged(Native Method)
     at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)
     at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
     at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
     at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
     at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
     at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
     at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
     at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
     at sun.misc.URLClassPath$JarLoader.getJarFile(Unknown Source)
     at sun.misc.URLClassPath$JarLoader.access$600(Unknown Source)
     at sun.misc.URLClassPath$JarLoader$1.run(Unknown Source)
     at java.security.AccessController.doPrivileged(Native Method)
     at sun.misc.URLClassPath$JarLoader.ensureOpen(Unknown Source)
     at sun.misc.URLClassPath$JarLoader.<init>(Unknown Source)
     at sun.misc.URLClassPath$3.run(Unknown Source)
     at java.security.AccessController.doPrivileged(Native Method)
     at sun.misc.URLClassPath.getLoader(Unknown Source)
     at sun.misc.URLClassPath.getLoader(Unknown Source)
     at sun.misc.URLClassPath.getResource(Unknown Source)
     at java.net.URLClassLoader$1.run(Unknown Source)
     at java.security.AccessController.doPrivileged(Native Method)
     at java.net.URLClassLoader.findClass(Unknown Source)
     at sun.applet.AppletClassLoader.findClass(Unknown Source)
     at java.lang.ClassLoader.loadClass(Unknown Source)
     at sun.applet.AppletClassLoader.loadClass(Unknown Source)
     at java.lang.ClassLoader.loadClass(Unknown Source)
     at sun.applet.AppletClassLoader.loadCode(Unknown Source)
     at sun.applet.AppletPanel.createApplet(Unknown Source)
     at sun.plugin.AppletViewer.createApplet(Unknown Source)
     at sun.applet.AppletPanel.runLoader(Unknown Source)
     at sun.applet.AppletPanel.run(Unknown Source)
     at java.lang.Thread.run(Unknown Source)
basic: Exception: java.lang.InternalError: internal error: SeedGenerator thread generated an exception.
basic: Joined applet thread ...
basic: Quiting applet ...
liveconnect: Invoking JS method: document
liveconnect: Invoking JS method: URL
basic: Referencing classloader: sun.plugin.ClassLoaderInfo@17ee8b8, refcount=1
basic: Added progress listener: sun.plugin.util.GrayBoxPainter@c4aad3
basic: Loading applet ...
basic: Initializing applet ...
basic: Starting applet ...
basic: completed perf rollup
network: Cache entry found [url: https://developer website/applet.jar, version: null]
network: Connecting https://developer website/applet.jar with proxy=HTTP @ hostname/IP:8080
java.lang.NoClassDefFoundError: Could not initialize class javax.crypto.SunJCE_b
     at javax.crypto.Cipher.getInstance(DashoA13*..)
     at com.sun.net.ssl.internal.ssl.JsseJce.getCipher(Unknown Source)
     at com.sun.net.ssl.internal.ssl.CipherBox.<init>(Unknown Source)
     at com.sun.net.ssl.internal.ssl.CipherBox.newCipherBox(Unknown Source)
     at com.sun.net.ssl.internal.ssl.CipherSuite$BulkCipher.newCipher(Unknown Source)
     at com.sun.net.ssl.internal.ssl.CipherSuite$BulkCipher.isAvailable(Unknown Source)
     at com.sun.net.ssl.internal.ssl.CipherSuite$BulkCipher.isAvailable(Unknown Source)
     at com.sun.net.ssl.internal.ssl.CipherSuite.isAvailable(Unknown Source)
     at com.sun.net.ssl.internal.ssl.CipherSuiteList.buildAvailableCache(Unknown Source)
     at com.sun.net.ssl.internal.ssl.CipherSuiteList.getDefault(Unknown Source)
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.init(Unknown Source)
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(Unknown Source)
     at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(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.getInputStream(Unknown Source)
     at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
     at com.sun.deploy.net.HttpUtils.followRedirects(Unknown Source)
     at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source)
     at com.sun.deploy.net.BasicHttpRequest.doGetRequestEX(Unknown Source)
     at com.sun.deploy.net.DownloadEngine.isUpdateAvailable(Unknown Source)
     at com.sun.deploy.cache.DeployCacheHandler.get(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.getInputStream(Unknown Source)
     at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
     at sun.plugin.PluginURLJarFileCallBack.downloadJAR(Unknown Source)
     at sun.plugin.PluginURLJarFileCallBack.access$000(Unknown Source)
     at sun.plugin.PluginURLJarFileCallBack$1.run(Unknown Source)
     at java.security.AccessController.doPrivileged(Native Method)
     at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)
     at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
     at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
     at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
     at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
     at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
     at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
     at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
     at sun.misc.URLClassPath$JarLoader.getJarFile(Unknown Source)
     at sun.misc.URLClassPath$JarLoader.access$600(Unknown Source)
     at sun.misc.URLClassPath$JarLoader$1.run(Unknown Source)
     at java.security.AccessController.doPrivileged(Native Method)
     at sun.misc.URLClassPath$JarLoader.ensureOpen(Unknown Source)
     at sun.misc.URLClassPath$JarLoader.<init>(Unknown Source)
     at sun.misc.URLClassPath$3.run(Unknown Source)
     at java.security.AccessController.doPrivileged(Native Method)
     at sun.misc.URLClassPath.getLoader(Unknown Source)
     at sun.misc.URLClassPath.getLoader(Unknown Source)
     at sun.misc.URLClassPath.getResource(Unknown Source)
     at java.net.URLClassLoader$1.run(Unknown Source)
     at java.security.AccessController.doPrivileged(Native Method)
     at java.net.URLClassLoader.findClass(Unknown Source)
     at sun.applet.AppletClassLoader.findClass(Unknown Source)
     at java.lang.ClassLoader.loadClass(Unknown Source)
     at sun.applet.AppletClassLoader.loadClass(Unknown Source)
     at java.lang.ClassLoader.loadClass(Unknown Source)
     at sun.applet.AppletClassLoader.loadCode(Unknown Source)
     at sun.applet.AppletPanel.createApplet(Unknown Source)
     at sun.plugin.AppletViewer.createApplet(Unknown Source)
     at sun.applet.AppletPanel.runLoader(Unknown Source)
     at sun.applet.AppletPanel.run(Unknown Source)
     at java.lang.Thread.run(Unknown Source)
basic: Exception: java.lang.NoClassDefFoundError: Could not initialize class javax.crypto.SunJCE_b
  • 1. Re: Problems loading applet
    RogerL (Oracle) Java Champion
    Currently Being Moderated
    This seems to be a problem with some 6 update releases and I am seeing others saying that it was no longer taking place in 6u18+. As in all cases the recommendation is to always use the latest most secure runtime, 6u5 is really old. It seems odd that the problem is now showing up, assuming that 6u5 has been in use for a while now. Try a more recent runtime, say 6u31. http://www.oracle.com/technetwork/java/javase/downloads/index.html

    -Roger

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points