我正在使用 jboss AS6,还使用 jbossws 开发了一些服务,当多个用户请求服务时,我收到如下错误
A fatal error has been detected by the Java Runtime Environment
如何检测此错误的根源和原因,是由于 java jvm 中的问题还是用户代码或物理内存中的问题而发生的错误
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d91d7e1, pid=4164, tid=5012
#
# JRE version: 6.0_26-b03
# Java VM: Java HotSpot(TM) Client VM (20.1-b02 mixed mode windows-x86 )
# Problematic frame:
# V [jvm.dll+0x7d7e1]
#
--------------- T H R E A D ---------------
Current thread (0x0194d000): VMThread [stack: 0x444d0000,0x44520000] [id=5012]
siginfo: ExceptionCode=0xc0000005, reading address 0x8509bf71
Registers:
EAX=0x00000028, EBX=0x34345868, ECX=0x00000000, EDX=0x8509bf09
ESP=0x4451f904, EBP=0x4451f91c, ESI=0x14548278, EDI=0x145482a4
EIP=0x6d91d7e1, EFLAGS=0x00010293
Top of Stack: (sp=0x4451f904)
0x4451f904: 150410c0 000003fe 00000003 34345870
0x4451f914: 145482b0 00000003 4451f93c 6d9d8773
0x4451f924: 14548298 6db10ef0 342d7c88 022bff20
0x4451f934: 00000003 4451f948 4451f948 6d9d8b22
0x4451f944: 6db10ef0 4451f95c 6d909b14 6db1f138
0x4451f954: 6db10ef0 022bff20 4451f978 6d906019
0x4451f964: 6db10ef0 00000000 6db10ef0 6db10ef0
0x4451f974: 022bff20 4451f9b8 6d900420 00000001
Instructions: (pc=0x6d91d7e1)
0x6d91d7c1: 16 8a 0d b9 5b b0 6d 84 c9 8b c8 75 08 80 e1 07
0x6d91d7d1: 80 f9 01 eb 19 83 e1 07 83 f9 05 74 24 8b 56 04
0x6d91d7e1: 8b 52 68 83 e2 07 80 fa 05 74 0c 83 f9 01 75 07
0x6d91d7f1: a9 80 ff ff ff 74 0a 50 56 e8 31 ab 0b 00 83 c4
Register to memory mapping:
EAX=0x00000028 is an unknown value
EBX=0x34345868 is an oop
{instance class}
- klass: {other class}
ECX=0x00000000 is an unknown value
EDX=0x8509bf09 is an unknown value
ESP=0x4451f904 is an unknown value
EBP=0x4451f91c is an unknown value
ESI=0x14548278 is an oop
java.lang.String
- klass: 'java/lang/String'
EDI=0x145482a4 is an oop
java.util.HashMap$Entry
- klass: 'java/util/HashMap$Entry'
Stack: [0x444d0000,0x44520000], sp=0x4451f904, free space=318k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [jvm.dll+0x7d7e1]
V [jvm.dll+0x138773]
V [jvm.dll+0x138b22]
V [jvm.dll+0x69b14]
V [jvm.dll+0x66019]
V [jvm.dll+0x60420]
V [jvm.dll+0x621f0]
V [jvm.dll+0x626a0]
V [jvm.dll+0x611ea]
V [jvm.dll+0x685c2]
V [jvm.dll+0x5fe78]
V [jvm.dll+0x60271]
V [jvm.dll+0x13b1a0]
V [jvm.dll+0x11da73]
V [jvm.dll+0x11cd4e]
V [jvm.dll+0x11d070]
V [jvm.dll+0x11d472]
V [jvm.dll+0x1411ac]
C [msvcr71.dll+0x9565] endthreadex+0xa0
C [kernel32.dll+0x4d309] BaseThreadInitThunk+0x12
C [ntdll.dll+0x41603] RtlInitializeExceptionChain+0x63
C [ntdll.dll+0x415d6] RtlInitializeExceptionChain+0x36
VM_Operation (0x4819ec04): GenCollectForPermanentAllocation, mode: safepoint, requested by thread 0x46083800
--------------- P R O C E S S ---------------
Java Threads: ( => current thread )
0x46083800 JavaThread "http-localhost%2F127.0.0.1-8080-4" daemon [_thread_blocked, id=5780, stack(0x48150000,0x481a0000)]
0x46083000 JavaThread "http-localhost%2F127.0.0.1-8080-3" daemon [_thread_blocked, id=2604, stack(0x48100000,0x48150000)]
0x46082c00 JavaThread "http-localhost%2F127.0.0.1-8080-2" daemon [_thread_blocked, id=1912, stack(0x480b0000,0x48100000)]
0x46082400 JavaThread "JMX server connection timeout 84" daemon [_thread_blocked, id=5748, stack(0x48060000,0x480b0000)]
0x46082000 JavaThread "RMI TCP Connection(idle)" daemon [_thread_blocked, id=2480, stack(0x48010000,0x48060000)]
0x46081800 JavaThread "JMX server connection timeout 82" daemon [_thread_blocked, id=4228, stack(0x47fc0000,0x48010000)]
0x46081000 JavaThread "RMI TCP Connection(2)-127.0.0.1" daemon [_thread_in_native, id=5896, stack(0x47f70000,0x47fc0000)]
0x46080c00 JavaThread "RMI Scheduler(0)" daemon [_thread_blocked, id=5856, stack(0x47f20000,0x47f70000)]
0x46080400 JavaThread "RMI TCP Connection(idle)" daemon [_thread_blocked, id=5256, stack(0x44da0000,0x44df0000)]
0x46080000 JavaThread "pool-6-thread-2" [_thread_blocked, id=4364, stack(0x44950000,0x449a0000)]
0x45fe8800 JavaThread "ajp-localhost%2F127.0.0.1-8009-Acceptor-0" daemon [_thread_in_native, id=956, stack(0x47ed0000,0x47f20000)]
0x45fe8400 JavaThread "ajp-localhost%2F127.0.0.1-8009-Poller" daemon [_thread_blocked, id=4496, stack(0x47e80000,0x47ed0000)]
0x45fe7c00 JavaThread "http-localhost%2F127.0.0.1-8080-1" daemon [_thread_blocked, id=5064, stack(0x47e30000,0x47e80000)]
0x45fe7800 JavaThread "http-localhost%2F127.0.0.1-8080-Acceptor-0" daemon [_thread_in_native, id=3024, stack(0x47de0000,0x47e30000)]
0x45fe7000 JavaThread "http-localhost%2F127.0.0.1-8080-Poller" daemon [_thread_blocked, id=1844, stack(0x47d90000,0x47de0000)]
0x45fe6c00 JavaThread "HDScanner" [_thread_blocked, id=3732, stack(0x47d40000,0x47d90000)]
0x45fe6400 JavaThread "xnio-pool4-5" [_thread_in_native, id=1384, stack(0x47cf0000,0x47d40000)]
0x45fe5c00 JavaThread "xnio-pool4-4" [_thread_in_native, id=2756, stack(0x47ca0000,0x47cf0000)]
0x45fe5800 JavaThread "xnio-pool4-3" [_thread_in_native, id=1652, stack(0x47c50000,0x47ca0000)]
0x45fe5000 JavaThread "xnio-pool4-2" [_thread_in_native, id=5308, stack(0x47c00000,0x47c50000)]
0x46224800 JavaThread "xnio-pool4-1" [_thread_in_native, id=5572, stack(0x47bb0000,0x47c00000)]
0x46224000 JavaThread "JCA PoolFiller" daemon [_thread_blocked, id=736, stack(0x47b60000,0x47bb0000)]
0x46223c00 JavaThread "HSQLDB Timer @8de47d" daemon [_thread_blocked, id=5504, stack(0x47b10000,0x47b60000)]
0x46223400 JavaThread "JBossQuartzScheduler_QuartzSchedulerThread" [_thread_blocked, id=5876, stack(0x47ac0000,0x47b10000)]
0x46223000 JavaThread "JBossQuartzScheduler_Worker-10" [_thread_blocked, id=2228, stack(0x47a70000,0x47ac0000)]
0x46222800 JavaThread "JBossQuartzScheduler_Worker-9" [_thread_blocked, id=4208, stack(0x47a20000,0x47a70000)]
0x46222400 JavaThread "JBossQuartzScheduler_Worker-8" [_thread_blocked, id=5468, stack(0x479d0000,0x47a20000)]
0x46221c00 JavaThread "JBossQuartzScheduler_Worker-7" [_thread_blocked, id=4632, stack(0x47980000,0x479d0000)]
0x46221400 JavaThread "JBossQuartzScheduler_Worker-6" [_thread_blocked, id=4188, stack(0x47930000,0x47980000)]
0x46221000 JavaThread "JBossQuartzScheduler_Worker-5" [_thread_blocked, id=5416, stack(0x478e0000,0x47930000)]
0x44bb8c00 JavaThread "JBossQuartzScheduler_Worker-4" [_thread_blocked, id=5100, stack(0x47890000,0x478e0000)]
0x44bb8800 JavaThread "JBossQuartzScheduler_Worker-3" [_thread_blocked, id=4468, stack(0x47840000,0x47890000)]
0x44bb8000 JavaThread "JBossQuartzScheduler_Worker-2" [_thread_blocked, id=5620, stack(0x477f0000,0x47840000)]
0x44bb7c00 JavaThread "JBossQuartzScheduler_Worker-1" [_thread_blocked, id=5200, stack(0x477a0000,0x477f0000)]
0x44bb6c00 JavaThread "pool-1-thread-1" [_thread_blocked, id=1924, stack(0x47750000,0x477a0000)]
0x44bb7400 JavaThread "ContainerBackgroundProcessor[StandardEngine[jboss.web]]" daemon [_thread_blocked, id=2908, stack(0x47700000,0x47750000)]
0x44bb6800 JavaThread "Transaction Reaper Worker 0" daemon [_thread_blocked, id=4408, stack(0x476b0000,0x47700000)]
0x44bb6000 JavaThread "Transaction Reaper" daemon [_thread_blocked, id=5436, stack(0x47660000,0x476b0000)]
0x44bb5c00 JavaThread "Listener:4713" daemon [_thread_in_native, id=5008, stack(0x47610000,0x47660000)]
0x44bb5400 JavaThread "Periodic Recovery" [_thread_blocked, id=4300, stack(0x475c0000,0x47610000)]
0x450ea800 JavaThread "Listener:4712" daemon [_thread_in_native, id=2472, stack(0x47570000,0x475c0000)]
0x450ea000 JavaThread "Transaction Expired Entry Monitor" daemon [_thread_blocked, id=5088, stack(0x47520000,0x47570000)]
0x450e9c00 JavaThread "pool-2-thread-1" [_thread_in_native, id=5940, stack(0x474d0000,0x47520000)]
0x450e9400 JavaThread "hornetq-failure-check-thread" [_thread_blocked, id=5080, stack(0x47480000,0x474d0000)]
0x450e9000 JavaThread "Old I/O server boss (channelId: 25341025, localhost/127.0.0.1:5445)" [_thread_blocked, id=5336, stack(0x47430000,0x47480000)]
0x450e8800 JavaThread "Thread-1 (group:HornetQ-scheduled-threads-8658191)" [_thread_blocked, id=5444, stack(0x473e0000,0x47430000)]
0x450e8400 JavaThread "Old I/O server boss (channelId: 20598849, localhost/127.0.0.1:5455)" [_thread_blocked, id=3108, stack(0x47390000,0x473e0000)]
0x450e7c00 JavaThread "pool-8-thread-1" [_thread_blocked, id=4820, stack(0x47340000,0x47390000)]
0x450e7400 JavaThread "pool-7-thread-1" [_thread_blocked, id=4900, stack(0x472f0000,0x47340000)]
0x450e7000 JavaThread "Thread-0 (group:HornetQ-Asynchronous-Persistent-Writes25017556-20597295)" daemon [_thread_blocked, id=4840, stack(0x472a0000,0x472f0000)]
0x462a9c00 JavaThread "Thread-0 (group:HornetQ-scheduled-threads-8658191)" [_thread_blocked, id=4940, stack(0x47140000,0x47190000)]
0x462a9400 JavaThread "hornetq-expiry-reaper-thread" [_thread_blocked, id=5240, stack(0x470f0000,0x47140000)]
0x462a9000 JavaThread "Timer-0" daemon [_thread_blocked, id=5184, stack(0x470a0000,0x470f0000)]
0x462a8800 JavaThread "hornetq-buffer-timeout" [_thread_blocked, id=4560, stack(0x47050000,0x470a0000)]
0x462a8400 JavaThread "AcceptorThread[ServerSocket[addr=localhost/127.0.0.1,port=0,localport=4446]]" [_thread_in_native, id=5604, stack(0x47000000,0x47050000)]
0x462a7c00 JavaThread "ServerSocketRefresh" daemon [_thread_blocked, id=5764, stack(0x46fb0000,0x47000000)]
0x462a7800 JavaThread "pool-6-thread-1" [_thread_in_native, id=468, stack(0x46f60000,0x46fb0000)]
0x462a7000 JavaThread "RMI TCP Accept-1098" daemon [_thread_in_native, id=5688, stack(0x46f10000,0x46f60000)]
0x462a6800 JavaThread "RMI Reaper" [_thread_blocked, id=5104, stack(0x46ec0000,0x46f10000)]
0x462a6400 JavaThread "RMI TCP Accept-1091" daemon [_thread_in_native, id=4564, stack(0x46e70000,0x46ec0000)]
0x46708c00 JavaThread "RMI TCP Accept-1090" daemon [_thread_in_native, id=2340, stack(0x46e20000,0x46e70000)]
0x466ed800 JavaThread "AcceptorThread[ServerSocket[addr=/127.0.0.1,port=0,localport=3873]]" [_thread_in_native, id=4716, stack(0x46dd0000,0x46e20000)]
0x466ed000 JavaThread "ServerSocketRefresh" daemon [_thread_blocked, id=5328, stack(0x45910000,0x45960000)]
0x44ce0c00 JavaThread "GC Daemon" daemon [_thread_blocked, id=5532, stack(0x45960000,0x459b0000)]
0x45288800 JavaThread "AuthenticationCacheFlushThread" [_thread_blocked, id=980, stack(0x456a0000,0x456f0000)]
0x022b9c00 JavaThread "DestroyJavaVM" [_thread_blocked, id=5796, stack(0x003b0000,0x00400000)]
0x0198e000 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=6016, stack(0x446b0000,0x44700000)]
0x01982800 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=2476, stack(0x44660000,0x446b0000)]
0x01981800 JavaThread "Attach Listener" daemon [_thread_blocked, id=5068, stack(0x44610000,0x44660000)]
0x0197e400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=5852, stack(0x445c0000,0x44610000)]
0x01951c00 JavaThread "Finalizer" daemon [_thread_blocked, id=5648, stack(0x44570000,0x445c0000)]
0x01950800 JavaThread "Reference Handler" daemon [_thread_blocked, id=4224, stack(0x44520000,0x44570000)]
Other Threads:
=>0x0194d000 VMThread [stack: 0x444d0000,0x44520000] [id=5012]
0x019a9400 WatcherThread [stack: 0x44700000,0x44750000] [id=4556]
VM state:at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])
[0x022b7dc0] Threads_lock - owner thread: 0x0194d000
[0x022b81d0] Heap_lock - owner thread: 0x46083800
Heap
def new generation total 78848K, used 58569K [0x042c0000, 0x09840000, 0x142c0000)
eden space 70144K, 74% used [0x042c0000, 0x0760da08, 0x08740000)
from space 8704K, 69% used [0x08fc0000, 0x095a4c70, 0x09840000)
to space 8704K, 0% used [0x08740000, 0x08740000, 0x08fc0000)
tenured generation total 174784K, used 77227K [0x142c0000, 0x1ed70000, 0x342c0000)
the space 174784K, 44% used [0x142c0000, 0x18e2ad48, 0x18e2ae00, 0x1ed70000)
compacting perm gen total 49152K, used 49151K [0x342c0000, 0x372c0000, 0x442c0000)
the space 49152K, 99% used [0x342c0000, 0x372bff48, 0x372c0000, 0x372c0000)
No shared spaces configured.
Code Cache [0x022c0000, 0x02900000, 0x042c0000)
total_blobs=3142 nmethods=2947 adapters=129 free_code_cache=27034496 largest_free_block=256
Dynamic libraries:
0x00400000 - 0x00424000 C:\Program Files\Java\jdk1.6.0_26\bin\javaw.exe
0x77b90000 - 0x77cb8000 C:\Windows\system32\ntdll.dll
0x77810000 - 0x778ec000 C:\Windows\system32\kernel32.dll
0x76970000 - 0x76a36000 C:\Windows\system32\ADVAPI32.dll
0x77cd0000 - 0x77d93000 C:\Windows\system32\RPCRT4.dll
0x76590000 - 0x7662d000 C:\Windows\system32\USER32.dll
0x77b40000 - 0x77b8b000 C:\Windows\system32\GDI32.dll
0x76630000 - 0x7664e000 C:\Windows\system32\IMM32.DLL
0x767c0000 - 0x76888000 C:\Windows\system32\MSCTF.dll
0x768c0000 - 0x7696a000 C:\Windows\system32\msvcrt.dll
0x76250000 - 0x76259000 C:\Windows\system32\LPK.DLL
0x763b0000 - 0x7642d000 C:\Windows\system32\USP10.dll
0x7c340000 - 0x7c396000 C:\Program Files\Java\jdk1.6.0_26\jre\bin\msvcr71.dll
0x6d8a0000 - 0x6db4f000 C:\Program Files\Java\jdk1.6.0_26\jre\bin\client\jvm.dll
0x74910000 - 0x74942000 C:\Windows\system32\WINMM.dll
0x76260000 - 0x763a5000 C:\Windows\system32\ole32.dll
0x778f0000 - 0x7797d000 C:\Windows\system32\OLEAUT32.dll
0x748d0000 - 0x7490e000 C:\Windows\system32\OLEACC.dll
0x76080000 - 0x760ac000 C:\Windows\system32\apphelp.dll
0x6d850000 - 0x6d85c000 C:\Program Files\Java\jdk1.6.0_26\jre\bin\verify.dll
0x6d3d0000 - 0x6d3ef000 C:\Program Files\Java\jdk1.6.0_26\jre\bin\java.dll
0x761b0000 - 0x761b7000 C:\Windows\system32\PSAPI.DLL
0x6d890000 - 0x6d89f000 C:\Program Files\Java\jdk1.6.0_26\jre\bin\zip.dll
0x6d600000 - 0x6d609000 C:\Program Files\Java\jdk1.6.0_26\jre\bin\management.dll
0x6d6b0000 - 0x6d6c3000 C:\Program Files\Java\jdk1.6.0_26\jre\bin\net.dll
0x76440000 - 0x7646d000 C:\Windows\system32\WS2_32.dll
0x76430000 - 0x76436000 C:\Windows\system32\NSI.dll
0x75740000 - 0x7577b000 C:\Windows\system32\mswsock.dll
0x75950000 - 0x75955000 C:\Windows\System32\wship6.dll
0x75120000 - 0x7512f000 C:\Windows\system32\NLAapi.dll
0x75ab0000 - 0x75ac9000 C:\Windows\system32\IPHLPAPI.DLL
0x75a70000 - 0x75aa5000 C:\Windows\system32\dhcpcsvc.DLL
0x75cf0000 - 0x75d1c000 C:\Windows\system32\DNSAPI.dll
0x760e0000 - 0x760f4000 C:\Windows\system32\Secur32.dll
0x75a60000 - 0x75a67000 C:\Windows\system32\WINNSI.DLL
0x75a30000 - 0x75a52000 C:\Windows\system32\dhcpcsvc6.DLL
0x73440000 - 0x7344f000 C:\Windows\system32\napinsp.dll
0x733c0000 - 0x733d2000 C:\Windows\system32\pnrpnsp.dll
0x733f0000 - 0x733f8000 C:\Windows\System32\winrnr.dll
0x77da0000 - 0x77de9000 C:\Windows\system32\WLDAP32.dll
0x75780000 - 0x75785000 C:\Windows\System32\wshtcpip.dll
0x73450000 - 0x73456000 C:\Windows\system32\rasadhlp.dll
0x75580000 - 0x755bb000 C:\Windows\system32\rsaenh.dll
0x76100000 - 0x7611e000 C:\Windows\system32\USERENV.dll
0x6d6d0000 - 0x6d6d9000 C:\Program Files\Java\jdk1.6.0_26\jre\bin\nio.dll
0x6d7a0000 - 0x6d7a6000 C:\Program Files\Java\jdk1.6.0_26\jre\bin\rmi.dll
VM Arguments:
jvm_args: -Dprogram.name=JBossTools: JBoss 6.0 Runtime -Xms256m -Xmx768m -XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.endorsed.dirs=E:\jboss-6.0.0.Final\lib\endorsed -Djava.library.path=E:/jboss-6.0.0.Final/bin/native -Dfile.encoding=Cp1252
java_command: org.jboss.Main --configuration=default -b localhost -Djboss.server.base.url=file:/E:/jboss-6.0.0.Final/server/
Launcher Type: SUN_STANDARD
Environment Variables:
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_26
PATH=native
USERNAME=rajalingam
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 13, GenuineIntel
--------------- S Y S T E M ---------------
OS: Windows Vista Build 6002 Service Pack 2
CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 15 stepping 13, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3
Memory: 4k page, physical 3396264k(1439516k free), swap 10179924k(8127552k free)
vm_info: Java HotSpot(TM) Client VM (20.1-b02) for windows-x86 JRE (1.6.0_26-b03), built on May 4 2011 00:50:59 by "java_re" with MS VC++ 7.1 (VS2003)
time: Thu Apr 26 14:32:48 2012
elapsed time: 82 seconds
先感谢您
答案1
一会儿就会有人出现,他知道他们在说什么,并给你一个正确的答案。但与此同时你得到了我的回答 ;-)
有一个类似问题在游戏中,错误代码描述的答案中给出了详细信息0xc0000005
,导致无效的内存访问。;
当指令或程序执行导致的内存访问不满足处理器架构或内存管理单元结构定义的某些条件时,现代处理器就会生成访问冲突异常(STATUS_ACCESS_VIOLATION)。
您的操作系统似乎报告了大约 3.2 GB 的内存,但我的理解是 32 位 JVM 限制为大约 1.5GB 的堆,所以我认为这表明您已经耗尽内存;
compacting perm gen total 49152K, used 49151K [0x342c0000, 0x372c0000, 0x442c0000)
the space 49152K, 99% used [0x342c0000, 0x372bff48, 0x372c0000, 0x372c0000)
jvm_args: -Dprogram.name=JBossTools: JBoss 6.0 Runtime -Xms256m -Xmx768m
-XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000
-Djava.endorsed.dirs=E:\jboss-6.0.0.Final
\lib\endorsed -Djava.library.path=E:/jboss-6.0.0.Final/bin/native
-Dfile.encoding=Cp1252
我猜你的内存不够了,它看起来像是 permGenSpace(使用了 99%,总共 49152K,使用了 49151K),但是从你的选项来看,它应该占用 256 MB,而且不完全清楚为什么在应用其他限制 -Xms256m -Xmx768m 的情况下,你会达到理论上的 32 位最大 1.5GB。