求助!由于java调用.NET DLL中方法因为传递的数据格式不正确,导致jvm崩溃

圣职者 2014-06-06 10:43:34
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (0xeedfade), pid=1500, tid=2164
#
# JRE version: Java(TM) SE Runtime Environment (7.0_45-b18) (build 1.7.0_45-b18)
# Java VM: Java HotSpot(TM) Client VM (24.45-b08 mixed mode, sharing windows-x86 )
# Problematic frame:
# C [kernel32.dll+0x12fd3]
#
# 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.sun.com/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 (0x03a3c000): JavaThread "pool-1-thread-1" [_thread_in_native, id=2164, stack(0x04bd0000,0x04cd0000)]

siginfo: ExceptionCode=0xeedfade, ExceptionInformation=0x0453706a 0x04584bd8 0x00002ead 0x044d194c 0x00000001 0x04ccc68c 0x04ccc66c

Registers:
EAX=0x04ccc5e8, EBX=0x00002ead, ECX=0x00000000, EDX=0x0453706a
ESP=0x04ccc5e4, EBP=0x04ccc638, ESI=0x04ccc66c, EDI=0x00000001
EIP=0x7c812fd3, EFLAGS=0x00000202

Top of Stack: (sp=0x04ccc5e4)
0x04ccc5e4: 044d194c 0eedfade 00000001 00000000
0x04ccc5f4: 7c812fd3 00000007 0453706a 04584bd8
0x04ccc604: 00002ead 044d194c 00000001 04ccc68c
0x04ccc614: 04ccc66c 04ccc66c 04432502 04432509
0x04ccc624: 04594cf0 00000001 044d194c 04433143
0x04ccc634: 044e451a 04ccc68c 0453706a 0eedfade
0x04ccc644: 00000001 00000007 04ccc650 0453706a
0x04ccc654: 04584bd8 00002ead 044d194c 00000001

Instructions: (pc=0x7c812fd3)
0x7c812fb3: f9 0f 0f 87 05 1a 03 00 85 c9 89 4d c0 74 07 57
0x7c812fc3: 8d 7d c4 f3 a5 5f 8d 45 b0 50 ff 15 10 15 80 7c
0x7c812fd3: 5e c9 c2 10 00 85 ff 0f 8e 5e 8e ff ff 8b 55 fc
0x7c812fe3: 89 55 0c 0f b7 16 8b 7d f8 8a 14 3a 88 11 8b 78


Register to memory mapping:

EAX=0x04ccc5e8 is pointing into the stack for thread: 0x03a3c000
EBX=0x00002ead is an unknown value
ECX=0x00000000 is an unknown value
EDX=0x0453706a is an unknown value
ESP=0x04ccc5e4 is pointing into the stack for thread: 0x03a3c000
EBP=0x04ccc638 is pointing into the stack for thread: 0x03a3c000
ESI=0x04ccc66c is pointing into the stack for thread: 0x03a3c000
EDI=0x00000001 is an unknown value


Stack: [0x04bd0000,0x04cd0000], sp=0x04ccc5e4, free space=1009k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [kernel32.dll+0x12fd3]
C [DRSMLSIF.dll+0x10706a]
C [DRSMLSIF.dll+0xa1881]
C [DRSMLSIF.dll+0xa6a34]
C [DRSMLSIF.dll+0xa73be]
C [DRSMLSIF.dll+0xa7408]
C [DRSMLSIF.dll+0xa75d4]
C [DRSMLSIF.dll+0xa7837]
C [DRSMLSIF.dll+0xa8480]
C [DRSMLSIF.dll+0xa84d8]
C [DRSMLSIF.dll+0xa85b0]
C [DRSMLSIF.dll+0x655f1]
C [DRSMLSIF.dll+0x4bcad]
C [DRSMLSIF.dll+0x4a4d5]
C [DRSMLSIF.dll+0x112091]
C [DRSMLSIF.dll+0x112019]
C [DRSMLSIF.dll+0x1118e1]
C [DRSMLSIF.dll+0x1116f0]
C [DRSMLSIF.dll+0x111745]
C [DRSMLSIF.dll+0x110642]
C [DRSMLSIF.dll+0x3c226]
C [DRSMLSIF.dll+0x11fed4]
C [DRSMLSIF.dll+0x12613b]
C [jna9124556931628139660.dll+0xdc25]
C [jna9124556931628139660.dll+0xd546]
C [jna9124556931628139660.dll+0x2e5e]
C [jna9124556931628139660.dll+0x535e]
j com.sun.jna.Native.invokePointer(JI[Ljava/lang/Object;)J+0
j com.sun.jna.Function.invokePointer(I[Ljava/lang/Object;)Lcom/sun/jna/Pointer;+6
j com.sun.jna.Function.invoke([Ljava/lang/Object;Ljava/lang/Class;Z)Ljava/lang/Object;+642
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 com.sun.proxy.$Proxy0.CheckTrans(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/sun/jna/Pointer;+24
j com.brainlong.brand.pos.dll.JNADllImpl.CheckTrans(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+33
j com.brainlong.brand.pos.client.WeiqianPosUtils.submitOrder(Ljava/lang/String;Lnet/sf/json/JSONObject;)Ljava/lang/String;+209
j com.brainlong.brand.pos.client.WeiqianOrderClient$NewOrderTask.sendRequestToPos(Ljava/lang/String;)Ljava/lang/String;+13
j com.brainlong.brand.pos.client.WeiqianOrderClient$Task.run()V+51
j java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+95
j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub
V [jvm.dll+0x13f1fa]
V [jvm.dll+0x202aee]
V [jvm.dll+0x13f3c5]
V [jvm.dll+0x13f427]
V [jvm.dll+0xeb81f]
V [jvm.dll+0x16042c]
V [jvm.dll+0x160e67]
V [jvm.dll+0x1a49f9]
C [MSVCR100.dll+0x5c556]
C [MSVCR100.dll+0x5c600]
C [kernel32.dll+0xb729]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j com.sun.jna.Native.invokePointer(JI[Ljava/lang/Object;)J+0
j com.sun.jna.Function.invokePointer(I[Ljava/lang/Object;)Lcom/sun/jna/Pointer;+6
j com.sun.jna.Function.invoke([Ljava/lang/Object;Ljava/lang/Class;Z)Ljava/lang/Object;+642
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 com.sun.proxy.$Proxy0.CheckTrans(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/sun/jna/Pointer;+24
j com.brainlong.brand.pos.dll.JNADllImpl.CheckTrans(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;+33

j com.brainlong.brand.pos.client.WeiqianPosUtils.submitOrder(Ljava/lang/String;Lnet/sf/json/JSONObject;)Ljava/lang/String;+209
j com.brainlong.brand.pos.client.WeiqianOrderClient$NewOrderTask.sendRequestToPos(Ljava/lang/String;)Ljava/lang/String;+13
j com.brainlong.brand.pos.client.WeiqianOrderClient$Task.run()V+51
j java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+95
j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub

。。。。。。。。。。。。。。。。。。。。
因为字数限制,没有贴全。
执行了标红的方法,会生成一个名为hs_err_pid<数字序号>.log 的文件,程序服务内存升高,CPU 占用率达到50%,
1.运行服务的操作 windows xp 系统
2. jre7
此外 ,程序代码中有做异常捕获 try {} catch (Throwable e) {}, 没有进入异常捕获。
求论坛里面的大神支招!!!
...全文
157 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧