JDK-7169864 : Multiple applets in a frameset causes a separate JVM to be created
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6u31
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_7
  • CPU: x86
  • Submitted: 2012-05-18
  • Updated: 2012-06-07
  • Resolved: 2012-06-07
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.
JDK 7
7u6Resolved
Related Reports
Duplicate :  
Relates :  
Relates :  
Description
J2SE Version (please include all output from java -version flag):
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b05)
Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing)

However also noticed this same problem with 1.7.4 and 1.7.3

Does this problem occur on J2SE 6ux or 7ux?  Yes / No (pick one)
Yes

Operating System Configuration Information (be specific):
 Win7 Enterprise Service Pack 1 64-bit OS

Hardware Configuration Information (be specific):
  RAM 12GB Intel�� Xeon�� CPU ###@###.###GHz

Bug Description: 

Creating multiple applets in a frameset occasionally causes a separate JVM to be created. 
This causes share state in public static variables to no longer be shared between 
applets in the frame set.

Might be related to the following old issues:
http://www.java.net/external?url=http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6871285
http://www.java.net/external?url=http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6871287

It would be awesome if there was a must_use_same_jvm parameter as the issue we are 
seeing is caused by two parts of a game being loaded in different JVMs and then 
not being able to communicate to each other via public static variables. If there 
is no such parameter then at least a more concrete explanation about what parameters
would cause a separate JVM to load.

Steps to Reproduce (be specific):

Navigate to www.pogo.com/games/spades. Insure that you are not signed in.
Play a game until an intermission ad occurs (happens at the end of a hand every 
5-10 minutes). Watch a second JVM spawn after the intermission follow shortly 
by the game crashing.

Attached is a list of applet tags(applet tags.txt) that are loaded throughout 
the game play.

Comments
EVALUATION Need to investigate if JVM reuse rate can be improved. However, customer should migrate from use of static variables for communication. This can not be working reliable until explicit VM sharing will be supported. Correct way to implement communication between applets is to use liveconnect. Please see ��http://docs.oracle.com/javase/tutorial/deployment/applet/iac.html
21-05-2012