"Error occurred during initialization of VM", "Unable to load native library Can't find dependent libraries"

Last edited on

Symptoms

You get error messages like the following in the Runner/Server Log view of the Squish IDE or in the output of squishserver:

...

Error occurred during initialization of VM

Unable to load native library: The specified procedure could not be found

...

...

Error occurred during initialization of VM

Unable to load native library: Die angegebene Prozedur wurde nicht gefunden

...

...

S: Error occurred during initialization of VM

S: Unable to load native library: Can't find dependent libraries

...

...

The procedure entry point "_JVM_LoadSystemLibrary@4" could not be located in the dynamic link library "jvm.dll".

...

...

Der Prozedureinsprungspunkt "_JVM_LoadSystemLibrary@4" wurde in der DLL "jvm.dll" nicht gefunden.

...

open log:java.lang.UnsatisfiedLinkError: C:\Users\myuser\squish-6.x-java-xyz\bin\squishjavawrapper.dll: Can't find dependent libraries

registerToolkit:java.lang.UnsatisfiedLinkError: C:\Users\myuser\squish-6.x-java-winxyz\bin\squishjavawrapper.dll: Can't find dependent libraries

Possible causes

Binary incompatibility between JRE and Squish

Every new version of the JRE (Java Runtime Environment) can potentially introduce binary incompatibilities with Squish. In practice this occurs very rarely.

If you get this problem please contact Squish support and state the version of your JRE.

Alternatively you can go back to a previous version of the JRE to avoid the problem.

Overwriting PATH environment variable

Squish adds several paths to the PATH environment variable to ensure that its own shared library files can be found. When overwriting the PATH environment variable ("set PATH=C:\Program Files\Java\jre_xyz") the operating system cannot find some of the Squish shared libraries anymore. Instead of overwriting PATH one should add to it (i.e. "set PATH=C:\Program Files\Java\jre_xyz;%PATH%").