JDK-6516270 : Java applet failure with IE7 displaying "Several Java Virtual Machines running" error
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 5.0,5.0u10,6
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic,windows_xp
  • CPU: generic,x86
  • Submitted: 2007-01-23
  • Updated: 2010-04-04
  • Resolved: 2008-01-17
Related Reports
Duplicate :  
Duplicate :  
Tried to run a Java applet embedded in a web site in IE7 browser, returned a Java(TM) Plug-in Fatal Error - "Several Java Virtual machines running in the same process caused an error".

How to Reproduce:
System Environment:
OS: Windows XP Sp2
Browser: IE 7.0
Firewall: Zone Alarm activated
Antivirus - Symantec Antivirus enabled
System RAM: 1 GB
JRE: 1.5.0_10-b03

Type following address in the browser (IE7), for example:

will bring forth error dialog (screen shot attached) with message:
"Java(TM) Plug-in Fatal Error - "Several Java Virtual machines running in the same process caused an error"

On the same system, the applet performed well in Firefox

This bug is always reproducible. If required, system is available for vnc.

EVALUATION There have historically been many reports of problems running applets when a large -Xmx setting has been specified via the Java Control Panel. Some bugs where this either definitely is the root cause, or may be the root cause, include 6359309, 6433218, 6516270, 6528750, and 6559586. Up until recently, it was not technically feasible to fix this problem in the Java Plug-In due to its in-process architecture. In recent months a new implementation of the Java Plug-In has been developed which changes the execution model of applets. Instead of running the applets in a JVM embedded in the web browser's process, they are now run in a separate JVM process which communicates back to the web browser. The initial checkin of this work done under bug ID 6622332. This new plug-in solves this problem in two ways. First, since the JVM is no longer running in the same process as the web browser, the address space fragmentation problem (which occurs most often in the Internet Explorer browser) does not interfere with the specification of a large -Xmx value via the Java Runtime Parameters in the Java Control Panel. Second, the new Java Plug-In supports specification of JVM command-line arguments, including -Xmx, on a per-applet basis via a new java_arguments parameter in the applet's HTML. This eliminates the need to do any global setting of this or other parameters in the Java Control Panel. The new Java Plug-In is currently available for testing in the early access builds of the "6uN" release, which can be downloaded from https://jdk6.dev.java.net/6uNea.html . See https://jdk6.dev.java.net/testPlugIn.html for instructions on testing the new Java Plug-In specifically. In 6uN build 10, the new Java Plug-In is enabled by default upon installation on the Windows platform; see the testing instructions for installation on the Solaris and Linux platforms. Customer feedback so far indicates that the new Java Plug-In conclusively solves this longstanding problem. For tracking purposes, this bug is being closed as a duplicate of 6622332, which is the "umbrella" bug covering the initial integration of the new Java Plug-In. Note that currently the new plug-in does not change the default heap size for applets, but we believe that this will be far less of an issue now that an individual applet can request a particular heap size. We are open to revisiting this particular issue, in particular in the context of the new plug-in. Please try the new Java Plug-In and file any issues against it under product java, category java_plugin, subcategory plugin2.

EVALUATION Based on the error message, the bug is very likely to be a duplicate of CR 6528750 and 6433218. JVM need a contiguous piece of virtual address space for the java object heap. When IE has been running for a while, the virtual space gets chopped up and a large contiguos chunk of the space becomes hard to find. The error messages indicate that java plugin either cannot load jvm or cannot allocate java heap. To verify that the issue is caused by fragmentation of IE address space, we can walk over the entire address space of IE and get information about a contiguous set of pages. One short term solution is to provide more user friendly error messages to enhance user experience (see CR 6433218). A long term solutions may be either non-contiguous java heap or a out of proc java plugin (jvm runs in its own process and address space independent of browsers). The latter is in the works.

WORK AROUND Try setting virtual memory as System managed: Windows XP users - Start ---> ControlPanel --->System --->advanced ----> Performance(setting) ----> Advanced ----> virtualmemory(change) ---> Click system managed size ---> set then OK, restart your computer