在 ECLIPSE 中运行并发 Java NIO Server(Netty) 时,Java 运行时环境检测到一个致命错误
Posted
技术标签:
【中文标题】在 ECLIPSE 中运行并发 Java NIO Server(Netty) 时,Java 运行时环境检测到一个致命错误【英文标题】:A fatal error has been detected by the Java Runtime Environment while running concurrent Java NIO Server(Netty) in ECLIPSE 【发布时间】:2013-07-18 15:12:23 【问题描述】:我们有一个 netty 服务器,它在 ECLIPSE 中以调试模式运行,在运行服务器大约一周后,负载大约 5k 客户端。 JVM 发出以下错误。 A fatal error has been detected by the Java Runtime Environment
。请指教
hs_err_pid29200.mdmp 如下
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000716462c7, pid=29200, tid=13272
#
# JRE version: 7.0_21-b11
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.21-b01 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# V [jvm.dll+0x362c7]
#
# Core dump written. Default location: C:\eclipse\Netty\hs_err_pid29200.mdmp
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
#
--------------- T H R E A D ---------------
Current thread (0x000000000dac5000): JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_in_vm, id=13272, stack(0x000000000e9a0000,0x000000000eaa0000)]
siginfo: ExceptionCode=0xc0000005, reading address 0x0000000000000010
Registers:
RAX=0x0000000000000010, RBX=0x000000000dac5000, RCX=0x0000000000000000, RDX=0x0000000071b3fff8
RSP=0x000000000ea9f1f8, RBP=0x0000000780497130, RSI=0x0000000000000000, RDI=0x000000000dac6d00
R8 =0x0000000000000000, R9 =0x000000000ea9f380, R10=0x0000000000000000, R11=0x000000007343f590
R12=0x0000000780496f98, R13=0x0000000001db4c50, R14=0x0000000000000001, R15=0x0000000000000000
RIP=0x00000000716462c7, EFLAGS=0x0000000000010246
Top of Stack: (sp=0x000000000ea9f1f8)
0x000000000ea9f1f8: 0000000071762e66 0000000001f1c210
0x000000000ea9f208: 0000000072a38b57 000000000dac5000
0x000000000ea9f218: 0000000000000000 0000000000000000
0x000000000ea9f228: 000000000dac6cd0 0000000001db4930
0x000000000ea9f238: 0000000001db4920 0000000001db4d08
0x000000000ea9f248: 0000000001db4d20 0000000001db4930
0x000000000ea9f258: 000000000dac5000 0000000000000000
0x000000000ea9f268: 0000000001f1c210 000000000dac5000
0x000000000ea9f278: 000000000dac6d00 0000000001db4d10
0x000000000ea9f288: 0000000001db4d20 0000000001db50f8
0x000000000ea9f298: 000000000ea9f6b0 0000000000000000
0x000000000ea9f2a8: 0000000000000000 0000000000000000
0x000000000ea9f2b8: 0000000000000000 000000000daccc48
0x000000000ea9f2c8: 000000000ea9f3d0 0000000001f19780
0x000000000ea9f2d8: 000000000ea9f380 000000000dac5000
0x000000000ea9f2e8: 00000000718b9547 0000000001f19780
Instructions: (pc=0x00000000716462c7)
0x00000000716462a7: 05 64 38 62 00 83 f8 ff 74 03 89 14 08 f3 c3 cc
0x00000000716462b7: cc cc cc cc cc cc cc cc cc 48 63 05 7d fc 65 00
0x00000000716462c7: 48 8b 04 08 c3 cc cc cc cc 48 63 05 6d fc 65 00
0x00000000716462d7: 48 89 14 08 c3 cc cc cc cc 48 63 05 59 fc 65 00
Register to memory mapping:
RAX=0x0000000000000010 is an unknown value
RBX=0x000000000dac5000 is a thread
RCX=0x0000000000000000 is an unknown value
RDX=0x0000000071b3fff8 is an unknown value
RSP=0x000000000ea9f1f8 is pointing into the stack for thread: 0x000000000dac5000
RBP=0x0000000780497130 is an oop
[C
- klass: type array char
- length: 3
RSI=0x0000000000000000 is an unknown value
RDI=0x000000000dac6d00 is an unknown value
R8 =0x0000000000000000 is an unknown value
R9 =0x000000000ea9f380 is pointing into the stack for thread: 0x000000000dac5000
R10=0x0000000000000000 is an unknown value
R11=0x000000007343f590 is an unknown value
R12=0x0000000780496f98 is an oop
[Ljava.lang.Thread;
- klass: 'java/lang/Thread'[]
- length: 128
R13=0x0000000001db4c50 is an unknown value
R14=0x0000000000000001 is an unknown value
R15=0x0000000000000000 is an unknown value
Stack: [0x000000000e9a0000,0x000000000eaa0000], sp=0x000000000ea9f1f8, free space=1020k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [jvm.dll+0x362c7]
--------------- S Y S T E M ---------------
OS: Windows NT 6.1 , 64 bit Build 7601 Service Pack 1
CPU:total 8 (4 cores per cpu, 1 threads per core) family 6 model 26 stepping 5, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, tsc, tscinvbit, tscinv
Memory: 4k page, physical 8375388k(3128568k free), swap 16748916k(11387960k free)
vm_info: Java HotSpot(TM) 64-Bit Server VM (23.21-b01) for windows-amd64 JRE (1.7.0_21-b11), built on Apr 4 2013 08:11:28 by "java_re" with unknown MS VC++:1600
time: Fri Jul 19 09:29:19 2013
elapsed time: 195988 seconds
感谢您的宝贵时间
GK
【问题讨论】:
你是在调试模式下运行的吗? @user1516873 是的,伙计 我不会在调试中运行 JVM 一周甚至 2.5 天,正如流逝时间所暗示的那样。如果您怀疑 JVM 中存在错误,我会将其升级到最新更新 25 @Peter Lawrey 谢谢 【参考方案1】:这听起来像是 JVM 中的错误。请升级到最新版
【讨论】:
我们目前使用的是 java 1.7.21 和 netty 3.6.6。想知道是否有人遇到过类似的错误以上是关于在 ECLIPSE 中运行并发 Java NIO Server(Netty) 时,Java 运行时环境检测到一个致命错误的主要内容,如果未能解决你的问题,请参考以下文章
高吞吐高并发Java NIO服务的架构(NIO架构及应用之一)
Jython 在 Eclipse 控制台报错 console: Failed to install '': java.nio.charset.UnsupportedCharsetExc