2012-08-07 350 views
2

我正在使用基于JAVA的开放源代码爬虫,它在内存和磁盘之间抖动了数百万个URI对象。基本上这个程序是内存密集型的。 坠毁发生在蓝色的月亮一次,我一直无法找到原因。JRE崩溃 - Java运行时环境检测到致命错误

粘贴错误日志的一部分,任何指针可能是造成这种情况?

# A fatal error has been detected by the Java Runtime Environment: 
# 
# SIGSEGV (0xb) at pc=0x00002b97ee1a07df, pid=1445, tid=1102055744 
# 
# JRE version: 6.0_18-b07 
# Java VM: Java HotSpot(TM) 64-Bit Server VM (16.0-b13 mixed mode linux-amd64) 
# Problematic frame: 
# V [libjvm.so+0x6227df] 
# 
# If you would like to submit a bug report, please visit: 
# http://java.sun.com/webapps/bugreport/crash.jsp 
# 

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

Current thread (0x0000000059db5000): GCTaskThread [stack: 0x0000000041a00000,0x0000000041b01000] [id=1460] 

siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00000000000000d5 

Registers: 
RAX=0x0000000000000008, RBX=0x0000000059df95f8, RCX=0x0000000000000005, RDX=0x00002aabee55cec0 
RSP=0x0000000041affb60, RBP=0x0000000041affbd0, RSI=0x0000000059df95f0, RDI=0x00002aaab5c758b8 
R8 =0x000000000000004b, R9 =0x0000000000000001, R10=0x00002aaaafbdfb01, R11=0x00002aabe4c0df38 
R12=0x0000000000000001, R13=0x00002aabee55cec0, R14=0x00002aabe4c0e068, R15=0x0000000059df95f0 
RIP=0x00002b97ee1a07df, EFL=0x0000000000010297, CSGSFS=0x0000000000000033, ERR=0x0000000000000004 
    TRAPNO=0x000000000000000e 

Top of Stack: (sp=0x0000000041affb60) 
0x0000000041affb60: 0000000000000400 0000000059d9bfa0 
0x0000000041affb70: 0000000000000005 01002aaab6b05998 
0x0000000041affb80: 0000000041affbb0 0000000000000009 
. 
0x0000000041affd40: 0000000059db5810 0000000059db5820 
0x0000000041affd50: 0000000059db5bf8 0000000041affd80 

Instructions: (pc=0x00002b97ee1a07df) 
0x00002b97ee1a07cf: 41 5e 41 5f c9 c3 48 8b 4a 10 4c 89 fe 4c 89 ea 
0x00002b97ee1a07df: ff 91 d0 00 00 00 eb dc 49 8b 55 08 eb c9 4c 89 

Stack: [0x0000000041a00000,0x0000000041b01000], sp=0x0000000041affb60, free space=3fe0000000000000018k 
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) 
V [libjvm.so+0x6227df] 
V [libjvm.so+0x6230b0] 
V [libjvm.so+0x6222d4] 
V [libjvm.so+0x23d872] 
V [libjvm.so+0x62583b] 
V [libjvm.so+0x365dda] 
V [libjvm.so+0x5da2af] 


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

Java Threads: (=> current thread) 
    0x00002aac4c093800 JavaThread "JEEvictor" daemon [_thread_blocked, id=24783, stack(0x0000000046504000,0x0000000046605000)] 
    0x000000005a3a2000 JavaThread "JEEvictor" daemon [_thread_blocked, id=24782, stack(0x0000000046605000,0x0000000046706000)] 
    0x00002aac4c093000 JavaThread "JEEvictor" daemon [_thread_blocked, id=24781, stack(0x0000000046b0a000,0x0000000046c0b000)] 
Other Threads: 
    0x0000000059dfb000 VMThread [stack: 0x0000000041c02000,0x0000000041d03000] [id=1462] 
    0x0000000059e32800 WatcherThread [stack: 0x00000000423c3000,0x00000000424c4000] [id=1469] 

=>0x0000000059db5000 (exited) GCTaskThread [stack: 0x0000000041a00000,0x0000000041b01000] [id=1460] 

VM state:at safepoint (normal execution) 

VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event]) 
[0x0000000059d8b860] Threads_lock - owner thread: 0x0000000059dfb000 
[0x0000000059d8bd60] Heap_lock - owner thread: 0x00002aac3c2dd000 

Heap 
PSYoungGen  total 835840K, used 825021K [0x00002aabb3600000, 0x00002aabeffc0000, 0x00002aac33600000) 
    eden space 809024K, 100% used [0x00002aabb3600000,0x00002aabe4c10000,0x00002aabe4c10000) 
    from space 26816K, 59% used [0x00002aabe4c10000,0x00002aabe5baf538,0x00002aabe6640000) 
    to space 27136K, 6% used [0x00002aabee540000,0x00002aabee6ec138,0x00002aabeffc0000) 
PSOldGen  total 4096448K, used 3687089K [0x00002aaab3600000, 0x00002aabad670000, 0x00002aabb3600000) 
    object space 4096448K, 90% used [0x00002aaab3600000,0x00002aab946ac6b0,0x00002aabad670000) 
PSPermGen  total 44608K, used 44199K [0x00002aaaae200000, 0x00002aaab0d90000, 0x00002aaab3600000) 
    object space 44608K, 99% used [0x00002aaaae200000,0x00002aaab0d29ec0,0x00002aaab0d90000) 

Dynamic libraries: 
40000000-40009000 r-xp 00000000 fd:00 1116699       /usr/java/jdk1.6.0_18/bin/java 
40108000-4010a000 rwxp 00008000 fd:00 1116699       /usr/java/jdk1.6.0_18/bin/java 
40384000-40387000 ---p 40384000 00:00 0 
40387000-40485000 rwxp 40387000 00:00 0 
40647000-4064a000 ---p 40647000 00:00 0 
4064a000-40748000 rwxp 4064a000 00:00 0 
2aac4cb1b000-2aac50000000 ---p 2aac4cb1b000 00:00 0 
2b97eda60000-2b97eda61000 rwxp 2b97eda60000 00:00 0 
2b97eda71000-2b97eda72000 rwxp 2b97eda71000 00:00 0 
2b97eda72000-2b97eda79000 r-xp 00000000 fd:00 1119007     /usr/java/jdk1.6.0_18/jre/lib/amd64/jli/libjli.so 
2b97eda79000-2b97edb7a000 ---p 00007000 fd:00 1119007     /usr/java/jdk1.6.0_18/jre/lib/amd64/jli/libjli.so 
2b97edb7a000-2b97edb7c000 rwxp 00008000 fd:00 1119007     /usr/java/jdk1.6.0_18/jre/lib/amd64/jli/libjli.so 
2b97edb7c000-2b97edb7e000 rwxp 2b97edb7c000 00:00 0 
2b97edb7e000-2b97ee332000 r-xp 00000000 fd:00 1119054     /usr/java/jdk1.6.0_18/jre/lib/amd64/server/libjvm.so 
2b97ee332000-2b97ee432000 ---p 007b4000 fd:00 1119054     /usr/java/jdk1.6.0_18/jre/lib/amd64/server/libjvm.so 
2b97ee432000-2b97ee5bc000 rwxp 007b4000 fd:00 1119054     /usr/java/jdk1.6.0_18/jre/lib/amd64/server/libjvm.so 
2b97ee5bc000-2b97ee5f5000 rwxp 2b97ee5bc000 00:00 0 
7fffc4df8000-7fffc4e0e000 rwxp 7ffffffe9000 00:00 0      [stack] 
ffffffffff600000-ffffffffffe00000 ---p 00000000 00:00 0     [vdso] 

VM Arguments: 
jvm_args: -Dheritrix.home=/heritrix/heritrix-3.1.0 -Djava.protocol.handler.pkgs=org.archive.net -Dheritrix.out=/heritrix/heritrix-3.1.0/heritrix_out.log -Xmx6144M 
java_command: org.archive.crawler.Heritrix -p 8544 -b/-a user:pass 
Launcher Type: SUN_STANDARD 

Environment Variables: 
JAVA_HOME=/usr/java/default 
PATH=/apps/pig-0.9.0/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/lpp/mmfs/bin:/home/ppra/bin:/usr/lpp/mmfs/bin:/usr/lpp/mmfs/bin 
LD_LIBRARY_PATH=/usr/java/jdk1.6.0_18/jre/lib/amd64/server:/usr/java/jdk1.6.0_18/jre/lib/amd64:/usr/java/jdk1.6.0_18/jre/../lib/amd64 
SHELL=/bin/bash 
    --------------- S Y S T E M --------------- 

OS:Red Hat Enterprise Linux Server release 5.4 (Tikanga) 

uname:Linux 2.6.18-164.11.1.el5 #1 SMP Wed Jan 6 13:26:04 EST 2010 x86_64 
libc:glibc 2.5 NPTL 2.5 
rlimit: STACK 10240k, CORE 0k, NPROC 268287, NOFILE 1024, AS infinity 
load average:1.31 0.80 0.67 

CPU:total 16 (8 cores per cpu, 1 threads per core) family 6 model 29 stepping 1, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1 

Memory: 4k page, physical 32960544k(162620k free), swap 6291448k(6290568k free) 

vm_info: Java HotSpot(TM) 64-Bit Server VM (16.0-b13) for linux-amd64 JRE (1.6.0_18-b07), built on Dec 17 2009 13:42:22 by "java_re" with gcc 3.2.2 (SuSE Linux) 

time: Sat Aug 4 07:27:56 2012 
elapsed time: 242358 seconds 
+2

你有没有尝试过更新的JRE(你似乎在1.6.0_18上)? – assylias 2012-08-07 19:31:59

+0

我正在升级到最近的JRE,但是我的问题是,即使在相同的JRE和相同的程序执行时进行模拟,问题也无法重现。我想知道究竟是什么原因造成的。我怀疑,这与记忆有关。当堆大小变大时,出现故障。 – pranay 2012-08-07 19:39:16

回答

0

那么,SIGSEGV表示段错误。可能你要么尝试读取一些没有初始化的东西,要么垃圾收集器正在搞砸你。

相关问题