"A fatal error has been detected by the Java Runtime Environment"

Last edited on

Overview

You get error messages similar to these in the Runner/Server log:

A fatal error has been detected by the Java Runtime Environment
EXCEPTION_ACCESS_VIOLATION
Problematic frame: C [fontmanager.dll+0x2113a]
Error encountered while invoking Java Web Start (execv)
C:\Program Files\Java\jre6\bin\javaw.exe: No such file or directory
C:\Program Files (x86)\Java\jre6\bin\javaw.exe: No such file or directory

Here's what the messages might look like in context:

squishserver started.
Squish 4.0.2 (Build 4.0-46d9398)
Debug: Connection established from 127.0.0.1
Debug: Connection established from 127.0.0.1
Debug: Qt Debug: starting java: C:\Program Files\Java\jdk1.6.0_25\jre\bin\javaws.exe -wait http://java.sun.com/products/jfc/jws/SwingSet2.jnlp
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0531113a, pid=4620, tid=5464
#
# JRE version: 6.0_25-b06
# Java VM: Java HotSpot(TM) Client VM (20.0-b11 mixed mode windows-x86 )
# Problematic frame:
# C [fontmanager.dll+0x2113a]
#
# An error report file with more information is saved as:
# C:\Program Files\Java\jdk1.6.0_25\jre\bin\hs_err_pid4620.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
patchComponent dispatchEventImpl(Ljava/awt/AWTEvent;)V 
Error encountered while invoking Java Web Start (execv) 
C:\Program Files\Java\jre6\bin\javaw.exe: No such file or directory 
Java Web Start splash screen process exiting ..... 
tLast WinSock Error: 0 
Debug: Connection established from 127.0.0.1
Debug: Qt Debug: starting java: C:\Program Files\Java\jdk1.6.0_25\jre\bin\javaws.exe -wait http://java.sun.com/products/jfc/jws/SwingSet2.jnlp
patchComponent dispatchEventImpl(Ljava/awt/AWTEvent;)V 
Debug: Connection established from 127.0.0.1
Debug: Qt Warning: IPC::sendData: couldn't write to socket, the peer closed the connection
Debug: Connection established from 127.0.0.1

Possible Cause

The most common cause for this is that the JRE being used by the application is different from the one configured in Squish when the SQUISHDIR/bin/squishconfig program was run last. This can occur if Java gets updated (automatically or manually) on the computer or when the Java configuration gets changed in the Java control panel.)

Possible Solutions

For applications using the globally installed JRE

Ensure that only one JRE is installed on the computer (additional JDK installations are okay however). Uninstall all the other JREs and run the SQUISHDIR/bin/squishconfig program again to ensure that Squish gets configured for the one remaining JRE.

For applications using a JRE bundled with the application.

Run the SQUISHDIR/bin/squishconfig program again to ensure that Squish gets configured for this particular JRE.

How to use Java Web Start with Squish

Finding the JRE that executes a Java application