Running a Java applet/application with runtime parameter set above half of actual RAM available on the system fails to initialize applets. We are regularly receiving incidents from JRE consumers reporting this behavior affecting their applets/applications performance.
This behavior is always reproducible ranging from multiple JRE version(s) - 1.5.0_06, 1.5.0_07 to Mustang-Beta and across multiple browser(s).
There are lot of valid comments from the customer in the Java forums about this behavior of Plug-in. Please see:
http://forum.java.sun.com/thread.jspa?threadID=697370
Steps to Reproduce:
1) Check system physical memory from:
Start -> Command -> systeminfo (XP only)
2) Ensure that you have one of the mentioned JRE version(s) installed: 1.5.0_06/_07 or 1.6.0-Beta2
3) Enable "<APPLET> tag support" for browsers from Java Control Panel (Start -> Control Panel -> Java -> Advanced - applet Tag Support)
3) Run the test vm applet from:
http://www.java.com/en/download/help/testvm.xml
Default behavior will run the test applet with dancing duke and installed/working JRE version information.
In the NEXT step - we will change the memory settings for JRE.
3) Go to Start -> Control Panel -> Java -> Java - Under "Java Runtime Environment Settings"
4) Click on View - Double click in the box under "Java Runtime Parameters" and enter a value above half of system's physical memory. For example, if RAM is 1024 MB, enter a value "-Xmx768M" or above "-Xmx1024"(without quotes).
5) Click OK - Apply - OK
Note: Ensure that you have JRE cache cleared before attempting the next step
6) Start a new browser session (IE/Mozilla/Firefox)
7) Enter test vm url:
http://www.java.com/en/download/help/testvm.xml
An error message titled
"Java(TM) Plug-in Fatal Error
The Java Runtime Environment cannot be loaded."
or
"Java(TM) Plug-in Fatal Error
Several Java Virtual Machines running in the same process caused an error"
Note: Screenshots attached
Expected Behavior:
Reducing -Xmx setting down to 512M or below will run the applet normally. However, Applet should be able to run/perform without any issue irrespective of memory usage if available within the system RAM limit.
As a temporary relief, can we have a more user friendly error message.