title: JVM crashes while using Excel as Database with the following error
body: <p>I have using Excel as database with JAVA 7 and it works just fine . But since support of JDBC-ODBC Bridge has been removed in Java 8, so java 8 can't access ODBC databases like MS Access or Excel(as a database) . I further went forward with a custom solution for JAVA 8 and it worked fine in a few machine and failed in the production environment. The custom solution used is mentioned here <a href="https://stackoverflow.com/questions/14229072/removal-of-jdbc-odbc-bridge-in-java-8">Removal of JDBC ODBC bridge in java 8</a></p>
  
  <p>Now while I test the connection on JAVA on the production environment it crashes the JVM with the window event log as mentioned below . </p>
  
  <pre><code>Description:
  Faulting application name: java.exe, version: 8.0.770.3, time stamp: 0x56ef8255
  Faulting module name: MSVCR90.dll, version: 9.0.30729.4148, time stamp: 0x4a594e3d
  Exception code: 0xc0000417
  Fault offset: 0x00000000000552c0
  Faulting process id: 0x12b48
  Faulting application start time: 0x01d203a674d73082
  Faulting application path: D:\Program Files\6.1\jre\bin\java.exe
  Faulting module path: C:\Windows\WinSxS\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_08e3747fa83e48bc\MSVCR90.dll
  Report Id: 0fc98055-6fa2-11e6-bcc5-00505690323b
  Event Xml:
  &lt;Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"&gt;
  &lt;System&gt;
  &lt;Provider Name="Application Error" /&gt;
  &lt;EventID Qualifiers="0"&gt;1000&lt;/EventID&gt;
  &lt;Level&gt;2&lt;/Level&gt;
  &lt;Task&gt;100&lt;/Task&gt;
  &lt;Keywords&gt;0x80000000000000&lt;/Keywords&gt;
  &lt;TimeCreated SystemTime="2016-08-31T17:40:53.000000000Z" /&gt;
  &lt;EventRecordID&gt;33487&lt;/EventRecordID&gt;
  &lt;Channel&gt;Application&lt;/Channel&gt;
  &lt;Computer&gt;Test&lt;/Computer&gt;
  &lt;Security /&gt;
  &lt;/System&gt;
  &lt;EventData&gt;
  &lt;Data&gt;java.exe&lt;/Data&gt;
  &lt;Data&gt;8.0.770.3&lt;/Data&gt;
  &lt;Data&gt;56ef8255&lt;/Data&gt;
  &lt;Data&gt;MSVCR90.dll&lt;/Data&gt;
  &lt;Data&gt;9.0.30729.4148&lt;/Data&gt;
  &lt;Data&gt;4a594e3d&lt;/Data&gt;
  &lt;Data&gt;c0000417&lt;/Data&gt; 
  </code></pre>
  
  <p>Can some one suggest a way out . The error pid file content is mentioned below .</p>
  
  <pre><code>#
  # A fatal error has been detected by the Java Runtime Environment:
  #
  #  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000006b9fb60d, pid=304, tid=1944
  #
  # JRE version: Java(TM) SE Runtime Environment (8.0_77-b03) (build 1.8.0_77-b03)
  # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.77-b03 mixed mode windows-amd64 compressed oops)
  # Problematic frame:
  # V  [jvm.dll+0x7b60d]
  #
  # Core dump written. Default location: Some Location\hs_err_pid304.mdmp
  #
  # If you would like to submit a bug report, please visit:
  #   http://bugreport.java.com/bugreport/crash.jsp
  #
  
  ---------------  T H R E A D  ---------------
  
  Current thread (0x00000000022ec800):  JavaThread "Application" [_thread_in_vm, id=1944, stack(0x0000000002530000,0x0000000002630000)]
  
  siginfo: ExceptionCode=0xc0000005, writing address 0x0000000000000000
  
  Registers:
  RAX=0x0000000000000000, RBX=0x0000000000000000, RCX=0x0000000057af6ff0, RDX=0x000000000000002f
  RSP=0x0000000002622280, RBP=0x0000000002622380, RSI=0x000000005848bc00, RDI=0x00000000594c61b0
  R8 =0x0000000000000000, R9 =0x0000000057af6ff0, R10=0x0000000061105530, R11=0x0000000057af6ff0
  R12=0x00000000022ec800, R13=0x00000000022ec4d0, R14=0x0000000057af6ff0, R15=0x0000000057af3bc0
  RIP=0x000000006b9fb60d, EFLAGS=0x0000000000010212
  
  Top of Stack: (sp=0x0000000002622280)
  0x0000000002622280:   0000000000000000 000000005848bc00
  0x0000000002622290:   0000000002622380 00000000e3c67880
  0x00000000026222a0:   00000000594c61b8 0000000000000000
  0x00000000026222b0:   0000000000000000 00000000026222d0
  0x00000000026222c0:   000000005e2e6801 00000000022ec800
  0x00000000026222d0:   00000000564837c0 000000001392a088
  0x00000000026222e0:   00000000564837c0 0000000057af6ff0
  0x00000000026222f0:   00000000000083b0 0000000057afbba8
  0x0000000002622300:   00000000022ec800 00000000594c61b0
  0x0000000002622310:   0000000000000003 00000000534d0701
  0x0000000002622320:   0000000000320001 00000000564837c0
  0x0000000002622330:   000000005848bc00 0000000000000000
  0x0000000002622340:   0000000000000000 ffffffff6f000000
  0x0000000002622350:   0000000000000000 0000000000000000
  0x0000000002622360:   0000000000000007 00000000132c0f28
  0x0000000002622370:   0000000000000000 0000000000000000 
  
  Instructions: (pc=0x000000006b9fb60d)
  0x000000006b9fb5ed:   24 70 e8 ac e6 0b 00 ba 2f 00 00 00 48 8b c8 4c
  0x000000006b9fb5fd:   8b f0 ff 15 1b 8f 55 00 ba 2f 00 00 00 49 8b ce
  0x000000006b9fb60d:   88 18 ff 15 13 8f 55 00 48 85 c0 74 1c 66 0f 1f
  0x000000006b9fb61d:   44 00 00 ba 2f 00 00 00 49 8b ce c6 00 2e ff 15 
  
  
  Register to memory mapping:
  
  RAX=0x0000000000000000 is an unknown value
  RBX=0x0000000000000000 is an unknown value
  RCX=0x0000000057af6ff0 is an unknown value
  RDX=0x000000000000002f is an unknown value
  RSP=0x0000000002622280 is pointing into the stack for thread: 0x00000000022ec800
  RBP=0x0000000002622380 is pointing into the stack for thread: 0x00000000022ec800
  RSI=0x000000005848bc00 is an unknown value
  RDI=0x00000000594c61b0 is an unknown value
  R8 =0x0000000000000000 is an unknown value
  R9 =0x0000000057af6ff0 is an unknown value
  R10=0x0000000061105530 is pointing into metadata
  R11=0x0000000057af6ff0 is an unknown value
  R12=0x00000000022ec800 is a thread
  R13=0x00000000022ec4d0 is an unknown value
  R14=0x0000000057af6ff0 is an unknown value
  R15=0x0000000057af3bc0 is an unknown value
  
  
  Stack: [0x0000000002530000,0x0000000002630000],  sp=0x0000000002622280,  free space=968k
  Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
  V  [jvm.dll+0x7b60d]
  V  [jvm.dll+0x190e51]
  V  [jvm.dll+0x1911eb]
  C  [java.dll+0x1e58]
  C  0x0000000002dfb55d
  
  Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
  J 1384  java.lang.ClassLoader.defineClass1(Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class; (0 bytes) @ 0x0000000002dfb4df [0x0000000002dfb440+0x9f]
  J 7249 C2 java.lang.ClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class; (43 bytes) @ 0x0000000002e717a8 [0x0000000002e71160+0x648]
  J 1369 C1 java.net.URLClassLoader.defineClass(Ljava/lang/String;Lsun/misc/Resource;)Ljava/lang/Class; (142 bytes) @ 0x0000000002df6254 [0x0000000002df4780+0x1ad4]
  J 723 C1 java.net.URLClassLoader$1.run()Ljava/lang/Class; (63 bytes) @ 0x0000000002bfa594 [0x0000000002bfa2e0+0x2b4]
  J 7147 C1 java.net.URLClassLoader$1.run()Ljava/lang/Object; (5 bytes) @ 0x0000000003fa6afc [0x0000000003fa6a80+0x7c]
  v  ~StubRoutines::call_stub
  J 680  java.security.AccessController.doPrivileged(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; (0 bytes) @ 0x0000000002bdc266 [0x0000000002bdc200+0x66]
  J 6008 C2 java.net.URLClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class; (47 bytes) @ 0x0000000002fa2a9c [0x0000000002fa2a20+0x7c]
  J 7272 C1 org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class; (265 bytes) @ 0x000000000329ba2c [0x000000000329a740+0x12ec]
  J 7271 C1 org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class; (7 bytes) @ 0x000000000335f554 [0x000000000335f4c0+0x94]
  v  ~StubRoutines::call_stub
  J 1384  java.lang.ClassLoader.defineClass1(Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class; (0 bytes) @ 0x0000000002dfb4df [0x0000000002dfb440+0x9f]
  J 7249 C2 java.lang.ClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class; (43 bytes) @ 0x0000000002e717a8 [0x0000000002e71160+0x648]
  J 1369 C1 java.net.URLClassLoader.defineClass(Ljava/lang/String;Lsun/misc/Resource;)Ljava/lang/Class; (142 bytes) @ 0x0000000002df6254 [0x0000000002df4780+0x1ad4]
  J 723 C1 java.net.URLClassLoader$1.run()Ljava/lang/Class; (63 bytes) @ 0x0000000002bfa594 [0x0000000002bfa2e0+0x2b4]
  J 7147 C1 java.net.URLClassLoader$1.run()Ljava/lang/Object; (5 bytes) @ 0x0000000003fa6afc [0x0000000003fa6a80+0x7c]
  v  ~StubRoutines::call_stub
  J 680  java.security.AccessController.doPrivileged(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; (0 bytes) @ 0x0000000002bdc266 [0x0000000002bdc200+0x66]
  J 6008 C2 java.net.URLClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class; (47 bytes) @ 0x0000000002fa2a9c [0x0000000002fa2a20+0x7c]
  J 7272 C1 org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class; (265 bytes) @ 0x000000000329ba2c [0x000000000329a740+0x12ec]
  J 7271 C1 org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class; (7 bytes) @ 0x000000000335f554 [0x000000000335f4c0+0x94]
  v  ~StubRoutines::call_stub
  j  jN.&lt;clinit&gt;()V+0
  v  ~StubRoutines::call_stub
  j  com.gauss.forms.form.instance.impl.E.&lt;init&gt;()V+3
  j  com.gauss.forms.form.instance.impl.E.bm()Lie;+53
  j  ie.&lt;clinit&gt;()V+0
  v  ~StubRoutines::call_stub
  j  rv.cO()Lv;+422
  j  v.&lt;clinit&gt;()V+0
  v  ~StubRoutines::call_stub
  j  qn.c()LbG;+382
  j  bG.&lt;clinit&gt;()V+0
  v  ~StubRoutines::call_stub
  j  oK.r()Lfb;+342
  j  fb.&lt;clinit&gt;()V+0
  v  ~StubRoutines::call_stub
  j  pu.n()LmH;+302
  j  mH.&lt;clinit&gt;()V+0
  v  ~StubRoutines::call_stub
  j  L.a()LiM;+262
  j  iM.&lt;clinit&gt;()V+0
  v  ~StubRoutines::call_stub
  j  ci.am()Lp;+222
  j  p.&lt;clinit&gt;()V+0
  v  ~StubRoutines::call_stub
  j  gu.a()Liz;+144
  j  iz.&lt;clinit&gt;()V+0
  v  ~StubRoutines::call_stub
  j  z.a()Lcom/gauss/forms/core/w;+105
  j  com.gauss.forms.core.w.&lt;clinit&gt;()V+0
  v  ~StubRoutines::call_stub
  j  ct.a()Lon;+105
  j  com.gauss.forms.storage.util.O.&lt;init&gt;(LnG;LgM;Lcom/gauss/forms/storage/util/O;)V+391
  j  com.gauss.forms.storage.util.O.&lt;init&gt;(LnG;LgM;)V+4
  j  com.gauss.forms.storage.util.C.&lt;init&gt;(LgM;Lcom/gauss/forms/storage/util/x;)V+161
  j  com.gauss.forms.storage.jdbc.r.&lt;init&gt;(LgM;Lcom/gauss/forms/storage/util/x;Lnj;)V+3
  j  com.gauss.forms.storage.jdbc.r.&lt;init&gt;(LgM;Lcom/gauss/forms/storage/util/x;)V+4
  j  com.gauss.forms.servlet.FrevvoContextListener.a(Ljavax/servlet/ServletContext;Lmq;)LnG;+105
  j  com.gauss.forms.servlet.FrevvoContextListener.contextInitialized(Ljavax/servlet/ServletContextEvent;)V+111
  j  org.eclipse.jetty.server.handler.ContextHandler.startContext()V+190
  j  org.eclipse.jetty.servlet.ServletContextHandler.startContext()V+140
  j  org.eclipse.jetty.webapp.WebAppContext.startContext()V+13
  j  org.eclipse.jetty.server.handler.ContextHandler.doStart()V+116
  j  org.eclipse.jetty.webapp.WebAppContext.doStart()V+16
  J 5891 C1 org.eclipse.jetty.util.component.AbstractLifeCycle.start()V (68 bytes) @ 0x000000000371a18c [0x0000000003719f20+0x26c]
  j  org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(Lorg/eclipse/jetty/deploy/graph/Node;Lorg/eclipse/jetty/deploy/App;)V+13
  j  org.eclipse.jetty.deploy.AppLifeCycle.runBindings(Lorg/eclipse/jetty/deploy/graph/Node;Lorg/eclipse/jetty/deploy/App;Lorg/eclipse/jetty/deploy/DeploymentManager;)V+96
  j  org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(Lorg/eclipse/jetty/deploy/DeploymentManager$AppEntry;Ljava/lang/String;)V+145
  j  org.eclipse.jetty.deploy.DeploymentManager.addApp(Lorg/eclipse/jetty/deploy/App;)V+93
  j  org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(Ljava/lang/String;)V+56
  j  org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(Ljava/lang/String;)V+5
  j  org.eclipse.jetty.util.Scanner.reportAddition(Ljava/lang/String;)V+41
  </code></pre>