JDK-6642444 : Upnext applet resource fails to load
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6u5,6u10
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: windows,windows_xp
  • CPU: generic,x86
  • Submitted: 2007-12-17
  • Updated: 2010-09-08
  • Resolved: 2008-06-17
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
6u10 b10Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Tested OS/browser: XP-pro(sp2)/ IE 6

Tested build:   jre 6u10-b08 (classic Plug-in and the next generation Java Plug-in-)
                jre.exe nightly build (12/14/2007) from /java/deployment/....

Problem: Applet resources fail to load if using Plugin2.   They are loaded fine using classic Java Plug-in on the same machine and tested configurations. 

Steps to reproduce:
- Browse http://www.upnext.com
- Click 'Click Here to Enter Now"

If using plugin2, main applet page fails to load-  In particular, livemap-54.jar and livemap.pack.gz  (along with other required applet resources) fail to load. Switching to classic plugin, there is no loading issue at all.

Attached are two screnshots...
<jpi2.bmp>: Used plugin2 mode
<jpi.bmp>:  Used classic plugin

** Other observation: 
- if using the plugin2 mode in promoted 6u10-b08, then there is no other way to close the applet browser except using Windows task manager to kill IE- However, if using nighly deployment build  jre.exe (as of 12/14/2007), the applet browser can be closed by using browser closing X. 

- Upnext Applet resources are loaded and saved on the client machine at:
<System-drive>\Documents and Settings\<user>\.upnext\...
Here's the comparison what resouces missing:
        classic jpi  v/s  plugin2
/lib/   completed        missing: livemap-54.jar/livemap.pack.gz
/data   yes               no
/3      yes               no

SUGGESTED FIX http://sa.sfbay.sun.com/projects/deployment_data/6u10/6642444.0

EVALUATION The root cause of this problem is very similar to 6639429 and 4751259. Dynamic generation of the applet tag causes our ActiveX control to be deactivated and reactivated multiple times. Somehow a JavaScript -> Java call is made during this sequence and we throw a JavaScript exception to the calling web page as we tear down the first instance of the applet. The containing web page perceives this as lack of Java support and an error is reported to the end user. The old plug-in handled this case seemingly by accident in its sequence of creation of the embedded frame and initialization of the applet. Added hysteresis to the applet start procedure in IE. Upon call to InPlaceActivate, we wait a small fixed duration (50 milliseconds) on a background thread before starting the applet. Calls to InPlaceDeactivate and subsequent calls to InPlaceActivate cause the background starter to be cancelled and restarted. The browser performs these calls against our ActiveX control sequentially, so it is not necessary to wait very long; in particular, network latency does not affect the time duration. Fetching of the JavaScript object for the applet waits for the background starter to actually start the applet. Also added a small sleep() in the inner message pump run while waiting for return values from JavaScript -> Java calls, to address a livelock seen intermittently with the UpNext.com site. Tested with the UpNext.com web site. Attempts were made to distill a standalone test case, but so far unsuccessfully. We will continue to try to produce a test case for this bug, but due to time constraints are checking in the fix before a test case is done.