Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 6642444
Votes 0
Synopsis Upnext applet resource fails to load
Category java_plugin:plugin2
Reported Against
Release Fixed 6u10(b10)
State 11-Closed, Verified, bug
Priority: 3-Medium
Related Bugs 4751259 , 6609273 , 6639429 , 6644200 , 6644475 , 6660037 , 6681818
Submit Date 17-DEC-2007
Description
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
Posted Date : 2007-12-17 02:31:35.0
Work Around
N/A
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.
Posted Date : 2007-12-18 23:48:56.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang