Question

I have developed one applet and I am finding a strange behavior.

This is for implemented security based application which build in GWT, Hibernate and Spring.

The applet is mainly accessing browser certificates and using it for encryption and decryption of data.

It is working fine on all the system but I don't know one client machine I am finding a strange behavior.

When I login in Internet Explorer. The applet loading stops at following point and then closes down automatically.

Error in applet console saying:

basic: Added progress listener: sun.plugin.util.GrayBoxPainter$GrayBoxProgressListener@337d0f

basic: Plugin2ClassLoader.addURL parent called for http://phil.etenders.in/securityApplet.jar security: Blacklist revocation check is enabled security: Trusted libraries list check is enabled network: Cache entry found [url: http://phil.etenders.in/securityApplet.jar, version: null] prevalidated=false/0

Removed Blacklist Revocation Check and Trusted Library check but there is no impact. (They are passing through well),

If I open any sample applet from http://csis.pace.edu/~bergin/Java/applets.htm it stops on following line

    basic: Plugin2ClassLoader.isTrustedByPolicy called 
    basic: Plugin2ClassLoader.isTrustedByPolicy returns false 

Behaviour on all three browsers.

  1. Firefox and Chrome : Does not load at all.
  2. IE : First time does not load when hit refresh it loads.

Let me know if more detail needed. Refer source code from here.

Was it helpful?

Solution

I upgraded latest version of java version on client machine, it's working fine.

OTHER TIPS

Its related to network congestion. Sometime applet respond very slow so you need to set JPI_PLUGIN2_NO_HEARTBEAT = 1 environment variable in system.

Description: This disables sending of heartbeat messages between browser side VM and the client JVM instance(s). This lets the client JVM stay independent of browser side VM.

Reference(s) of root cause solution: https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Tivoli+Network+Manager/page/Browser+JRE

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6953754


Update:

Problem - When browser request for applet, It creates communication with system's JVM. By default this communication's validity is 10 sec. If they can't communicate within given time range JVM kills that thread. That result in abnormal behaviour of applet.

Solutions - We have to set "Environment Variable" in system where applet is not loading properly(One time installation). It'll remove the 10 seconds respond time in other word "Hearbeat time" settings between system's JVM and browser's VM. We can create executable file to create that system environment variable. We need to restart system to insure that JVM will use this variable.

How/Where to set System Environment Variable?

To set system environment variable follow the below steps:

Step1: Open my computer's properties

Step2: In windows 7 you'll find Advanced System Settings in the left panel open it by one click.

Step3: Navigate to Advanced tab if you are not in advanced tab.

Step4: Click on button "Environment variables..." button at the bottom, it'll open dialog box.

Step5: Find "System Variables" frame and create new item.

Step6: Provide variable name as "JPI_PLUGIN2_NO_HEARTBEAT" (without quote) and variable value as "1" [one] (without quote).

Step7: Click Ok

Step8: Click Ok

Step9: Click Ok

Step10: Now reboot your sytem.

You can also use links provided in the answer... for Java bug solution..

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top