title: " The crash happened outside the Java Virtual Machine in native code."how to solve this error (Java)?
body: <p>Using the library in this link <a href="http://www.blog.kslemb.com/doku.php/en/projects/globx/java_hid" rel="nofollow">http://www.blog.kslemb.com/doku.php/en/projects/globx/java_hid</a></p>
  
  <p>I have been modfied  this code to write on a HID terminal </p>
  
  <pre><code>if (HIDHandle.equals(WinBase.INVALID_HANDLE_VALUE)) {
      return HID_DEVICE_NOT_OPENED;
  }
  /* Write Feature report */
  boolean Status=Kernel32.INSTANCE.WriteFile(HIDHandle, buffer, (int)buffersize, null, null);
  if (Status == false) {
      debug("Write File: " + getSystemError(Kernel32.INSTANCE.GetLastError()));
      return HID_DEVICE_TRANSFER_FAILED;
  } else {
      return HID_DEVICE_SUCCESS;
  }
  </code></pre>
  
  <p>This code would successfully writes on the HID device but then it would produce this  error  </p>
  
  <pre><code> A fatal error has been detected by the Java Runtime Environment:
  #
  #  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7600d4d5, pid=4660, tid=3780
  #
  # JRE version: 6.0_27-b07
  # Java VM: Java HotSpot(TM) Client VM (20.2-b06 mixed mode, sharing windows-x86 )
  # Problematic frame:
  # C  [KERNELBASE.dll+0xd4d5]
  #
  # An error report file with more information is saved as:
  # D:\eng\senior_project\usb\NetBeansProjects\USB\hs_err_pid4660.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
  </code></pre>
  
  <p>and These what appear in the log file</p>
  
  <pre><code>a#
  # A fatal error has been detected by the Java Runtime Environment:
  #
  #  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7600d4d5, pid=180, tid=4348
  #
  # JRE version: 6.0_27-b07
  # Java VM: Java HotSpot(TM) Client VM (20.2-b06 mixed mode, sharing windows-x86 )
  # Problematic frame:
  # C  [KERNELBASE.dll+0xd4d5]
  #
  # 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.
  #
  
  ---------------  T H R E A D  ---------------
  
  Current thread (0x001e9000):  JavaThread "main" [_thread_in_native, id=4348, stack(0x001f0000,0x00240000)]
  
  siginfo: ExceptionCode=0xc0000005, writing address 0x00000000
  
  Registers:
  EAX=0x00000005, EBX=0x000002f8, ECX=0x001df148, EDX=0x0023f750
  ESP=0x0023f738, EBP=0x0023f770, ESI=0x00000000, EDI=0x00000000
  EIP=0x7600d4d5, EFLAGS=0x00010246
  
  Top of Stack: (sp=0x0023f738)
  0x0023f738:   165f7936 0023f8c0 00000000 00000000
  0x0023f748:   0023f77c 00000004 00000000 00000005
  0x0023f758:   0023f738 0023f300 0023fdd4 76036590
  0x0023f768:   607ff39e fffffffe 0023f78c 76e512cc
  0x0023f778:   000002f8 0211c3c8 00000005 00000000
  0x0023f788:   00000000 0023f7a8 1000cb77 000002f8
  0x0023f798:   0211c3c8 00000005 00000000 00000000
  0x0023f7a8:   0023f7e8 1000c7c2 1000c5a0 0023f7d0 
  
  Instructions: (pc=0x7600d4d5)
  0x7600d4b5:   3d 03 01 00 00 75 12 6a 00 6a 00 53 ff 15 64 10
  0x7600d4c5:   00 76 85 c0 7c 0e 8b 45 e0 85 c0 7c 07 8b 45 e4
  0x7600d4d5:   89 07 eb c2 8b c8 81 e1 00 00 00 c0 81 f9 00 00
  0x7600d4e5:   00 80 75 05 8b 4d e4 89 0f 50 e8 1e 98 02 00 33 
  
  
  Register to memory mapping:
  
  EAX=0x00000005 is an unknown value
  EBX=0x000002f8 is an unknown value
  ECX=0x001df148 is an unknown value
  EDX=0x0023f750 is pointing into the stack for thread: 0x001e9000
  ESP=0x0023f738 is pointing into the stack for thread: 0x001e9000
  EBP=0x0023f770 is pointing into the stack for thread: 0x001e9000
  ESI=0x00000000 is an unknown value
  EDI=0x00000000 is an unknown value
  
  
  Stack: [0x001f0000,0x00240000],  sp=0x0023f738,  free space=317k
  Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
  C  [KERNELBASE.dll+0xd4d5]  WriteFile+0x133
  C  [kernel32.dll+0x112cc]  WriteFile+0x4a
  C  [jna6285930827620941734.dll+0xcb77]  Java_com_sun_jna_Native_initialize_1ffi_1type+0x37d7
  C  [jna6285930827620941734.dll+0xc7c2]  Java_com_sun_jna_Native_initialize_1ffi_1type+0x3422
  C  [jna6285930827620941734.dll+0x4561]  Java_com_sun_jna_Pointer__1getString+0xa31
  C  [jna6285930827620941734.dll+0x4d2e]  Java_com_sun_jna_Function_invokeInt+0x2e
  j  com.sun.jna.Function.invokeInt(I[Ljava/lang/Object;)I+0
  j  com.sun.jna.Function.invoke([Ljava/lang/Object;Ljava/lang/Class;Z)Ljava/lang/Object;+315
  j  com.sun.jna.Function.invoke(Ljava/lang/Class;[Ljava/lang/Object;Ljava/util/Map;)Ljava/lang/Object;+214
  j  com.sun.jna.Library$Handler.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;+341
  j  $Proxy2.WriteFile(Lcom/sun/jna/platform/win32/WinNT$HANDLE;[BILcom/sun/jna/ptr/IntByReference;Lcom/sun/jna/platform/win32/WinBase$OVERLAPPED;)Z+37
  j  usb.Communication.SetFeatureReport([BS)B+29
  j  usb.USB.main([Ljava/lang/String;)V+62
  v  ~StubRoutines::call_stub
  V  [jvm.dll+0xfac3b]
  V  [jvm.dll+0x18c391]
  V  [jvm.dll+0xfacbd]
  V  [jvm.dll+0x95776]
  V  [jvm.dll+0x9d5b3]
  C  [java.exe+0x2155]
  C  [java.exe+0x85b4]
  C  [kernel32.dll+0x1339a]  BaseThreadInitThunk+0x12
  C  [ntdll.dll+0x39ef2]  RtlInitializeExceptionChain+0x63
  C  [ntdll.dll+0x39ec5]  RtlInitializeExceptionChain+0x36
  
  Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
  j  com.sun.jna.Function.invokeInt(I[Ljava/lang/Object;)I+0
  j  com.sun.jna.Function.invoke([Ljava/lang/Object;Ljava/lang/Class;Z)Ljava/lang/Object;+315
  j  com.sun.jna.Function.invoke(Ljava/lang/Class;[Ljava/lang/Object;Ljava/util/Map;)Ljava/lang/Object;+214
  j  com.sun.jna.Library$Handler.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;+341
  j  $Proxy2.WriteFile(Lcom/sun/jna/platform/win32/WinNT$HANDLE;[BILcom/sun/jna/ptr/IntByReference;Lcom/sun/jna/platform/win32/WinBase$OVERLAPPED;)Z+37
  j  usb.Communication.SetFeatureReport([BS)B+29
  j  usb.USB.main([Ljava/lang/String;)V+62
  v  ~StubRoutines::call_stub
  
  ---------------  P R O C E S S  ---------------
  
  Java Threads: ( =&gt; current thread )
    0x020f1c00 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=2628, stack(0x045e0000,0x04630000)]
    0x020ed000 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=3440, stack(0x04550000,0x045a0000)]
    0x020ec000 JavaThread "Attach Listener" daemon [_thread_blocked, id=1904, stack(0x044c0000,0x04510000)]
    0x020e9000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=4148, stack(0x04430000,0x04480000)]
    0x020dec00 JavaThread "Finalizer" daemon [_thread_blocked, id=3336, stack(0x043a0000,0x043f0000)]
    0x020dcc00 JavaThread "Reference Handler" daemon [_thread_blocked, id=3196, stack(0x04310000,0x04360000)]
  =&gt;0x001e9000 JavaThread "main" [_thread_in_native, id=4348, stack(0x001f0000,0x00240000)]
  
  Other Threads:
    0x020a0800 VMThread [stack: 0x04280000,0x042d0000] [id=4704]
    0x02100400 WatcherThread [stack: 0x04670000,0x046c0000] [id=4352]
  
  VM state:not at safepoint (normal execution)
  
  VM Mutex/Monitor currently owned by a thread: None
  
  Heap
   def new generation   total 4928K, used 2462K [0x241e0000, 0x24730000, 0x29730000)
    eden space 4416K,  55% used [0x241e0000, 0x24447bb0, 0x24630000)
    from space 512K,   0% used [0x24630000, 0x24630000, 0x246b0000)
    to   space 512K,   0% used [0x246b0000, 0x246b0000, 0x24730000)
   tenured generation   total 10944K, used 0K [0x29730000, 0x2a1e0000, 0x341e0000)
     the space 10944K,   0% used [0x29730000, 0x29730000, 0x29730200, 0x2a1e0000)
   compacting perm gen  total 12288K, used 669K [0x341e0000, 0x34de0000, 0x381e0000)
     the space 12288K,   5% used [0x341e0000, 0x342877e8, 0x34287800, 0x34de0000)
      ro space 10240K,  54% used [0x381e0000, 0x3875f548, 0x3875f600, 0x38be0000)
      rw space 12288K,  55% used [0x38be0000, 0x39285140, 0x39285200, 0x397e0000)
  
  Code Cache  [0x02170000, 0x02200000, 0x04170000)
   total_blobs=201 nmethods=66 adapters=71 free_code_cache=32980800 largest_free_block=0
  
  Dynamic libraries:
  0x00400000 - 0x00424000     C:\Program Files (x86)\Java\jdk1.6.0_27\bin\java.exe
  0x77420000 - 0x775a0000     C:\Windows\SysWOW64\ntdll.dll
  0x76e40000 - 0x76f50000     C:\Windows\syswow64\kernel32.dll
  0x76000000 - 0x76046000     C:\Windows\syswow64\KERNELBASE.dll
  0x76920000 - 0x769c0000     C:\Windows\syswow64\ADVAPI32.dll
  0x76f50000 - 0x76ffc000     C:\Windows\syswow64\msvcrt.dll
  0x75d80000 - 0x75d99000     C:\Windows\SysWOW64\sechost.dll
  0x767d0000 - 0x768c0000     C:\Windows\syswow64\RPCRT4.dll
  0x74f80000 - 0x74fe0000     C:\Windows\syswow64\SspiCli.dll
  0x74f70000 - 0x74f7c000     C:\Windows\syswow64\CRYPTBASE.dll
  0x7c340000 - 0x7c396000     C:\Program Files (x86)\Java\jdk1.6.0_27\jre\bin\msvcr71.dll
  0x6d8a0000 - 0x6db4f000     C:\Program Files (x86)\Java\jdk1.6.0_27\jre\bin\client\jvm.dll
  0x76ae0000 - 0x76be0000     C:\Windows\syswow64\USER32.dll
  0x76730000 - 0x767c0000     C:\Windows\syswow64\GDI32.dll
  0x75ca0000 - 0x75caa000     C:\Windows\syswow64\LPK.dll
  0x76da0000 - 0x76e3d000     C:\Windows\syswow64\USP10.dll
  0x745c0000 - 0x745f2000     C:\Windows\system32\WINMM.dll
  0x76be0000 - 0x76c40000     C:\Windows\system32\IMM32.DLL
  0x76050000 - 0x7611c000     C:\Windows\syswow64\MSCTF.dll
  0x71540000 - 0x7158c000     C:\Windows\system32\apphelp.dll
  0x6d850000 - 0x6d85c000     C:\Program Files (x86)\Java\jdk1.6.0_27\jre\bin\verify.dll
  0x6d3d0000 - 0x6d3ef000     C:\Program Files (x86)\Java\jdk1.6.0_27\jre\bin\java.dll
  0x6d890000 - 0x6d89f000     C:\Program Files (x86)\Java\jdk1.6.0_27\jre\bin\zip.dll
  0x743e0000 - 0x743f6000     C:\Windows\system32\CRYPTSP.dll
  0x743a0000 - 0x743db000     C:\Windows\system32\rsaenh.dll
  0x71090000 - 0x710a7000     C:\Windows\system32\USERENV.dll
  0x74380000 - 0x7438b000     C:\Windows\system32\profapi.dll
  0x6d6b0000 - 0x6d6c3000     C:\Program Files (x86)\Java\jdk1.6.0_27\jre\bin\net.dll
  0x76120000 - 0x76155000     C:\Windows\syswow64\WS2_32.dll
  0x773f0000 - 0x773f6000     C:\Windows\syswow64\NSI.dll
  0x74690000 - 0x746cc000     C:\Windows\system32\mswsock.dll
  0x72e40000 - 0x72e46000     C:\Windows\System32\wship6.dll
  0x746d0000 - 0x746e0000     C:\Windows\system32\NLAapi.dll
  0x74620000 - 0x74630000     C:\Windows\system32\napinsp.dll
  0x74600000 - 0x74612000     C:\Windows\system32\pnrpnsp.dll
  0x745b0000 - 0x745bd000     C:\Windows\system32\wshbth.dll
  0x74640000 - 0x74684000     C:\Windows\system32\DNSAPI.dll
  0x74630000 - 0x74638000     C:\Windows\System32\winrnr.dll
  0x74550000 - 0x74555000     C:\Windows\System32\wshtcpip.dll
  0x74740000 - 0x7475c000     C:\Windows\system32\IPHLPAPI.DLL
  0x74730000 - 0x74737000     C:\Windows\system32\WINNSI.DLL
  0x74560000 - 0x74566000     C:\Windows\system32\rasadhlp.dll
  0x74570000 - 0x745a8000     C:\Windows\System32\fwpuclnt.dll
  0x10000000 - 0x10055000     C:\Users\mohamed\AppData\Local\Temp\jna6285930827620941734.dll
  0x75c90000 - 0x75c95000     C:\Windows\syswow64\PSAPI.DLL
  0x74b80000 - 0x74b89000     C:\Windows\system32\hid.dll
  0x76160000 - 0x762fd000     C:\Windows\syswow64\setupapi.dll
  0x75d40000 - 0x75d67000     C:\Windows\syswow64\CFGMGR32.dll
  0x76500000 - 0x7658f000     C:\Windows\syswow64\OLEAUT32.dll
  0x76c40000 - 0x76d9c000     C:\Windows\syswow64\ole32.dll
  0x77000000 - 0x77012000     C:\Windows\syswow64\DEVOBJ.dll
  0x75c60000 - 0x75c8d000     C:\Windows\syswow64\WINTRUST.dll
  0x769c0000 - 0x76add000     C:\Windows\syswow64\CRYPT32.dll
  0x767c0000 - 0x767cc000     C:\Windows\syswow64\MSASN1.dll
  
  VM Arguments:
  jvm_args: -Dfile.encoding=UTF-8 
  java_command: usb.USB
  Launcher Type: SUN_STANDARD
  
  Environment Variables:
  PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Lenovo\Bluetooth Software\;C:\Program Files\Lenovo\Bluetooth Software\syswow64;
  USERNAME=mohamed
  OS=Windows_NT
  PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 23 Stepping 10, GenuineIntel
  
  
  
  ---------------  S Y S T E M  ---------------
  
  OS: Windows 7 , 64 bit Build 7601 Service Pack 1
  
  CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 23 stepping 10, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3
  
  Memory: 4k page, physical 3105384k(1019428k free), swap 6208920k(4162952k free)
  
  vm_info: Java HotSpot(TM) Client VM (20.2-b06) for windows-x86 JRE (1.6.0_27-b07), built on Jul 19 2011 01:04:42 by "java_re" with MS VC++ 7.1 (VS2003)
  
  time: Fri Feb 10 17:48:29 2012
  elapsed time: 0 seconds
  </code></pre>