关于java虚拟机异常关闭的问题(jdk崩溃)

关于java虚拟机异常关闭的问题(jdk崩溃)2009-07-06 14:50最近一个项目的服务自己停了,很奇怪。
然后重启发现服务正常,就模拟了一个处理请求,没想到服务立马自毙了。
很惊讶,还没碰到过这么强的故障。
然后仔细检查发现项目根目录下出现了一些类似如下名称的日志
hs_err_pid2343.log
hs_err_pid1852.log
……
打开查看日志内容如下:
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# Internal Error (0xe06d7363), pid=2232, tid=3552
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_06-b05 mixed mode, sharing)
# Problematic frame:
# C [kernel32.dll+0xbef7]
#

--------------- T H R E A D ---------------

Current thread (0x02edb240): JavaThread "Thread-2" [_thread_in_native, id=3552]

siginfo: ExceptionCode=0xe06d7363, ExceptionInformation=0x19930520 0x0366e888 0x036e2cd4

Registers:
EAX=0x0366e7f0, EBX=0x00000008, ECX=0x00000000, EDX=0x0366e888
ESP=0x0366e7ec, EBP=0x0366e840, ESI=0x0366e878, EDI=0x02edb240
EIP=0x7c80bef7, EFLAGS=0x00000206

Top of Stack: (sp=0x0366e7ec)
0x0366e7ec: 0366f7d0 e06d7363 00000001 00000000
0x0366e7fc: 7c80bef7 00000003 19930520 0366e888
0x0366e80c: 036e2cd4 00000010 0366e824 775f40fb
0x0366e81c: 0366e830 000a12c0 0366e87c 036d63b7
0x0366e82c: 0366e830 00690054 006c0074 00000065
0x0366e83c: 0000ac84 0366e878 7857dbf9 e06d7363
0x0366e84c: 00000001 00000003 0366e86c e06d7363
0x0366e85c: 00000001 00000000 00000000 00000003

Instructions: (pc=0x7c80bef7)
0x7c80bee7: 00 00 83 65 c0 00 8d 45 b0 50 ff 15 60 15 80 7c
0x7c80bef7: 5e c9 c2 10 00 3d 09 01 00 c0 0f 84 95 00 00 00


Stack: [0x03630000,0x03670000), sp=0x0366e7ec, free space=249k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [kernel32.dll+0xbef7]
C [MSVCR90.dll+0x5dbf9]
C [ZWXeb.dll+0x6590]
C [ZWXeb.dll+0x61f1]
C [ZWXeb.dll+0x3019]
C [ZWXeb.dll+0xbe1b]
C [ZWXeb.dll+0xca9b]
C [ZWXeb.dll+0xe0c3]
C [ZWXeb.dll+0x9958]
C [ZWXeb.dll+0xaec9]
C [ZWXeb.dll+0xb2b7]
C [ZWXeb.dll+0xeec4]
C [jna45708.tmp+0xdac7]
C [jna45708.tmp+0x91b9]
C [jna45708.tmp+0x2161]
C [jna45708.tmp+0x2849]
j com.sun.jna.Function.invokeInt(I[Ljava/lang/Object;)I+0
j com.sun.jna.Function.invoke([Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;+309
j com.sun.jna.Function.invoke(Ljava/lang/Class;[Ljava/lang/Object;Ljava/util/Map;)

Ljava/lang/Object;+194
j com.sun.jna.Library$Handler.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;

[Ljava/lang/Object;)Ljava/lang/Object;+344
j $Proxy0.BuildZWXeb(Lcom/sun/jna/WString;Lcom/sun/jna/WString;)I+20
j com.asp.xeb.XebMaker.build(Lcom/sun/jna/WString;Lcom/sun/jna/WString;)I+7
j com.asp.xeb.XebMaker.build(Ljava/lang/String;Ljava/lang/String;)I+23
j com.asp.process.ProcessThread.process()V+189
j com.asp.process.ProcessThread.run()V+4
v ~StubRoutines::call_stub
V [jvm.dll+0x845a9]
V [jvm.dll+0xd9317]
V [jvm.dll+0x8447a]
V [jvm.dll+0x841d7]
V [jvm.dll+0x9ed69]
V [jvm.dll+0x109fe3]
V [jvm.dll+0x109fb1]
C [MSVCRT.dll+0x2b530]
C [kernel32.dll+0x2482f]

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;)Ljava/lang/Object;+309
j com.sun.jna.Function.invoke(Ljava/lang/Class;[Ljava/lang/Object;Ljava/util/Map;)

Ljava/lang/Object;+194
j com.sun.jna.Library$Handler.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;

[Ljava/lang/Object;)Ljava/lang/Object;+344
j $Proxy0.BuildZWXeb(Lcom/sun/jna/WString;Lcom/sun/jna/WString;)I+20
j com.asp.xeb.XebMaker.build(Lcom/sun/jna/WString;Lcom/sun/jna/WString;)I+7
j com.asp.xeb.XebMaker.build(Ljava/lang/String;Ljava/lang/String;)I+23
j com.asp.process.ProcessThread.process()V+189
j com.asp.process.ProcessThread.run()V+4
v ~StubRoutines::call_stub

--------------- P R O C E S S ---------------

Java Threads: ( => current thread )
=>0x02edb240 JavaThread "Thread-2" [_thread_in_native, id=3552]
0x02f0a008 JavaThread "Thread-1" [_thread_blocked, id=1848]
0x02f82ba0 JavaThread "XML-RPC-0" [_thread_blocked, id=1668]
0x000367f0 JavaThread "DestroyJavaVM" [_thread_blocked, id=2792]
0x02f0f008 JavaThread "XML-RPC Weblistener" [_thread_in_native, id=1220]
0x00a8f060 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=3284]
0x00a8dcb0 JavaThread "CompilerThread0" daemon [_thread_blocked, id=2396]
0x00a8cf58 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=3876]
0x00a67608 JavaThread "Finalizer" daemon [_thread_blocked, id=3592]
0x0003f960 JavaThread "Reference Handler" daemon [_thread_blocked, id=1492]

Other Threads:
0x00a59078 VMThread [id=2052]
0x00a903b0 WatcherThread [id=2280]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
def new generation total 18176K, used 6680K [0x06ae0000, 0x07e90000, 0x09240000)
eden space 16192K, 41% used [0x06ae0000, 0x07166290, 0x07ab0000)
from space 1984K, 0% used [0x07ab0000, 0x07ab0000, 0x07ca0000)
to space 1984K, 0% used [0x07ca0000, 0x07ca0000, 0x07e90000)
tenured generation total 241984K, used 0K [0x09240000, 0x17e90000, 0x26ae0000)
the space 241984K, 0% used [0x09240000, 0x09240000, 0x09240200, 0x17e90000)
compacting perm gen total 8192K, used 2355K [0x26ae0000, 0x272e0000, 0x2aae0000)
the space 8192K, 28% used [0x26ae0000, 0x26d2cea0, 0x26d2d000, 0x272e0000)
ro space 8192K, 63% used [0x2aae0000, 0x2afeb178, 0x2afeb200, 0x2b2e0000)
rw space 12288K, 46% used [0x2b2e0000, 0x2b879fa8, 0x2b87a000, 0x2bee0000)

Dynamic libraries:
0x00400000 - 0x0040c000 C:\WINDOWS\system32\java.exe
0x7c930000 - 0x7ca02000 C:\WINDOWS\system32\ntdll.dll
0x7c800000 - 0x7c92b000 C:\WINDOWS\system32\kernel32.dll
0x77f30000 - 0x77fdc000 C:\WINDOWS\system32\ADVAPI32.dll
0x77c20000 - 0x77cbf000 C:\WINDOWS\system32\RPCRT4.dll
0x76eb0000 - 0x76ec3000 C:\WINDOWS\system32\Secur32.dll
0x77b70000 - 0x77bca000 C:\WINDOWS\system32\MSVCRT.dll
0x6d670000 - 0x6d804000 C:\Program Files\Java\jre1.5.0_06\bin\client\jvm.dll
0x77e10000 - 0x77ea0000 C:\WINDOWS\system32\USER32.dll
0x77bd0000 - 0x77c19000 C:\WINDOWS\system32\GDI32.dll
0x769e0000 - 0x76a0a000 C:\WINDOWS\system32\WINMM.dll
0x76180000 - 0x7619d000 C:\WINDOWS\system32\IMM32.DLL
0x7f000000 - 0x7f009000 C:\WINDOWS\system32\LPK.DLL
0x74ae0000 - 0x74b45000 C:\WINDOWS\system32\USP10.dll
0x71b20000 - 0x71b28000 C:\WINDOWS\system32\rdpsnd.dll
0x77f10000 - 0x77f21000 C:\WINDOWS\system32\WINSTA.dll
0x71ba0000 - 0x71bf7000 C:\WINDOWS\system32\NETAPI32.dll
0x76ab0000 - 0x76abb000 C:\WINDOWS\system32\PSAPI.DLL
0x6d280000 - 0x6d288000 C:\Program Files\Java\jre1.5.0_06\bin\hpi.dll
0x6d640000 - 0x6d64c000 C:\Program Files\Java\jre1.5.0_06\bin\verify.dll
0x6d300000 - 0x6d31d000 C:\Program Files\Java\jre1.5.0_06\bin\java.dll
0x6d660000 - 0x6d66f000 C:\Program Files\Java\jre1.5.0_06\bin\zip.dll
0x6d4c0000 - 0x6d4d3000 C:\Program Files\Java\jre1.5.0_06\bin\net.dll
0x71b60000 - 0x71b77000 C:\WINDOWS\system32\WS2_32.dll
0x71b50000 - 0x71b58000 C:\WINDOWS\system32\WS2HELP.dll
0x71a80000 - 0x71ac0000 C:\WINDOWS\system32\mswsock.dll
0x69660000 - 0x696b7000 C:\WINDOWS\system32\hnetcfg.dll
0x71a40000 - 0x71a48000 C:\WINDOWS\System32\wshtcpip.dll
0x76e30000 - 0x76e5b000 C:\WINDOWS\system32\DNSAPI.dll
0x76ed0000 - 0x76ed7000 C:\WINDOWS\System32\winrnr.dll
0x76e70000 - 0x76e9e000 C:\WINDOWS\system32\WLDAP32.dll
0x76ee0000 - 0x76ee5000 C:\WINDOWS\system32\rasadhlp.dll
0x03670000 - 0x036c2000 C:\Documents and Settings\sjzd\Local Settings\Temp\2\jna45708.tmp
0x036d0000 - 0x036e9000 C:\WINDOWS\XEB\ZWXeb.dll
0x785e0000 - 0x7897c000

C:\WINDOWS\WinSxS\x86_Microsoft.VC90.MFC_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_405B0943\mfc90.dll
0x78520000 - 0x785c3000

C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_6F74963E\MSVCR90.dll
0x77eb0000 - 0x77f02000 C:\WINDOWS\system32\SHLWAPI.dll
0x77370000 - 0x77407000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-

Controls_6595b64144ccf1df_5.82.3790.3959_x-ww_78FCF8D0\COMCTL32.dll
0x76170000 - 0x76175000 C:\WINDOWS\system32\MSIMG32.dll
0x774b0000 - 0x775e9000 C:\WINDOWS\system32\ole32.dll
0x775f0000 - 0x7767b000 C:\WINDOWS\system32\OLEAUT32.dll
0x71ad0000 - 0x71b05000 C:\WINDOWS\system32\UxTheme.dll
0x7ca10000 - 0x7d1ec000 C:\WINDOWS\system32\SHELL32.dll
0x77cd0000 - 0x77dd3000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-

Controls_6595b64144ccf1df_6.0.3790.3959_x-ww_D8713E55\comctl32.dll
0x5d360000 - 0x5d369000

C:\WINDOWS\WinSxS\x86_Microsoft.VC90.MFCLOC_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_B0DB7D03

\MFC90CHS.DLL
0x74430000 - 0x74480000 C:\WINDOWS\system32\MSCTF.dll
0x77680000 - 0x77703000 C:\WINDOWS\system32\CLBCatQ.DLL
0x76f70000 - 0x770ca000 C:\WINDOWS\system32\COMRes.dll
0x77b60000 - 0x77b68000 C:\WINDOWS\system32\VERSION.dll
0x58800000 - 0x5894d000 C:\WINDOWS\system32\msxml6.dll
0x74480000 - 0x74513000 C:\WINDOWS\system32\mlang.dll

VM Arguments:
jvm_args: -Xms256M -Xmx512m
java_command: com.asp.server.XebProxyServer
Launcher Type: SUN_STANDARD

Environment Variables:
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program

Files\Dell\SysMgt\RAC4;C:\Program Files\Dell\SysMgt\oma\bin;C:\Program

Files\Dell\SysMgt\oma\oldiags\bin
USERNAME=sjzd
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 15 Model 4 Stepping 10, GenuineIntel


--------------- S Y S T E M ---------------

OS: Windows Server 2003 family Build 3790 Service Pack 2

CPU:total 4 family 15, cmov, cx8, fxsr, mmx, sse, sse2, ht

Memory: 4k page, physical 2097151k(2097151k free), swap 4194303k(4194303k free)

vm_info: Java HotSpot(TM) Client VM (1.5.0_06-b05) for windows-x86, built on Nov 10 2005 11:12:14

by "java_re" with MS VC++ 6.0


并跟踪我的应用日志查出是在通过JNA调用本地方法时候崩溃了。
进一步跟踪发现是c++的程序在调用微软的MSXML解析包的时候,因为输入的xml文件不是闭合的,
也就是说节点不是成对出现的。导致异常,进而使jdk崩溃。

经过尝试发现解决类似问题的方法:
1、在输入xml前进行校验保证xml文件节点成对出现,符合规范。
2、把xml文件转换成utf-8编码,则MSXML6.0 就可以返回xml格式错误而不会导致整个系统崩溃。

不知道这算是jdk的bug还是msxml的bug。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值