Kory Mitchell Kory Mitchell - 23 days ago 7
Java Question

"A fatal error has been detected by the Java Runtime Environment" when running java project on another computer

I created a Java project in Netbeans that runs without issue on my computer (both in Netbeans and from running the jar file), but when I try to run the project on another computer I get the following error message:


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

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000062478337, pid=2860, tid=0x0000000000000e84

JRE version: Java(TM) SE Runtime Environment (8.0_112-b15) (build 1.8.0_112-b15)
Java VM: Java HotSpot(TM) 64-Bit Server VM (25.112-b15 mixed mode windows-amd64 compressed oops)
Problematic frame:
V [jvm.dll+0x68337]

Failed to write core dump. Minidumps are not enabled by default on client versions of Windows

If you would like to submit a bug report, please visit:
http://bugreport.java.com/bugreport/crash.jsp


I've searched for similar issues but I can't seem to find anything that matches my error, so I'm not sure what to do. I can post the full error log if need be. If no one can figure it out, can someone at least point me in the right direction (is it a memory issue, do I need to update Java, etc)?

Answer

According to hs_err_pid.log the crash has happened inside the native method com.microsoft.sqlserver.jdbc.AuthenticationJNI.SNISecGenClientContext which apparently belongs to MSSQL JDBC driver.

The most interesting part of crash dump is the line
C:\Program Files\Java\jre1.8.0_112\bin\sqljdbc_auth.dll

Obviously, sqljdbc_auth.dll does not belong to JRE. Looks like this file was copied manually to JRE directory. This is wrong, and most likely the reason of the crash. You have to install MSSQL JDBC driver correctly and set -Djava.library.path JVM argument to point to the directory with driver native libraries.