[讨论] JVM crash, 什么原因?
lin_yp
2013-01-29
#
# A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x20000000022574a0, pid=7646, tid=2305843011007820368 # # JRE version: 6.0_31 # Java VM: Java HotSpot(TM) 64-Bit Server VM (17.0-b17 mixed mode linux-ia64 ) # Problematic frame: # v ~StubRoutines::copy_long # # 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 (0x6000000000c13000): JavaThread "task_pool-604" daemon [_thread_in_vm, id=9842, stack(0x200000006ad08000,0x200000006af04000)] siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x200000005ee00030 Registers: unat=0x0000000000000000 lc=0x200000000a680118 ccv=0x0000478f3aa8cb86 pfs=0xc000000000000309 bsp=0x200000006ab07e58 cfm=0x0000000000000003 rsc=0x000000000000000c rnat=0x200000001c6ae430 ip=0x20000000022574a0 pr=0x000000000056d841 b0=0x2000000000ae9740 b1=0x200000006af00948 b2=0x2000000000000009 b3=0x20000000000000b1 b4=0x200000000224b760 b5=0x2000000000000003 b6=0x2000000002257450 b7=0x200000000220c7d0 r0=0x200000006af00950 r1=0x200000000182bcf0 r2=0x0000000000000000 r3=0x200000006af01468 r4=0x200000006ab091e8 r5=0x200000006af00920 r6=0x200000006af00950 r7=0x0000000000000031 r8=0x2000000034404638 r9=0xffffffffffffffff r10=0x0000000000000009 r11=0x0000000000000058 r12=0x200000006af01350 r13=0x200000006af03920 r14=0x0000000000000000 r15=0x0000000000000000 r16=0x0000000000000000 r17=0x0000000000000002 r18=0x200000006af01378 r19=0x0000000000000018 r20=0x200000005ee00038 r21=0x2000000034404640 r22=0xa0000001007c1620 r23=0x20000000015835e0 r24=0x0000000000000004 r25=0x200000006af01410 r26=0x200000006af013f8 r27=0x200000000a4dce68 r28=0x200000000a4d8680 r29=0x200000000a4d8660 r30=0x0000000000000101 r31=0x200000006af013e8 Top of Stack: (sp=0x200000006af01350) 0x200000006af01350: 200000004eb2e7c8 200000006af02630 0x200000006af01360: 0000000000000000 200000001a5950c8 0x200000006af01370: 0000000000000000 20000000343e91a8 0x200000006af01380: 6000000000c13000 0000000000000000 0x200000006af01390: 200000006af014a8 200000000a4df8d0 0x200000006af013a0: 200000000a4dce68 0000000000000000 0x200000006af013b0: 200000006af01378 0000000000000002 0x200000006af013c0: 0000000000000000 2000000000000008 0x200000006af013d0: 6000000000c13000 0000000000000000 0x200000006af013e0: 0000000000000000 200000006af01380 0x200000006af013f0: 200000006af01320 200000006af01380 0x200000006af01400: 0000000000000000 200000006ab07808 0x200000006af01410: 200000006af01310 200000006af01380 0x200000006af01420: 2000000000000000 6000000000148350 0x200000006af01430: 6000000000148328 2000000000000000 0x200000006af01440: 000000005072a4ec 00000000024cf958 Top of Register Stack: (bsp=0x200000006ab07e58) 0x200000006ab07d60: 200000001ed0a500 200000003415df48 0x200000006ab07d70: 0000000000002a7f 200000001f0e8c40 0x200000006ab07d80: 200000006af01f20 0000000000000000 0x200000006ab07d90: 200000006af01f40 6000000000c13000 0x200000006ab07da0: 200000006af014a8 0000000000000000 0x200000006ab07db0: 200000005ee00030 2000000034404620 0x200000006ab07dc0: 0000000000000018 0000000000000018 0x200000006ab07dd0: 6000000000c13260 6000000000c13000 0x200000006ab07de0: 2000000001843720 2000000001843b58 0x200000006ab07df0: 200000000220d140 0000000000000000 0x200000006ab07e00: c000000000002c60 200000000182bcf0 0x200000006ab07e10: 200000005ee00030 2000000034404638 0x200000006ab07e20: 0000000000000018 2000000001583840 0x200000006ab07e30: c000000000000713 200000000182bcf0 0x200000006ab07e40: 200000005ee00030 2000000034404638 0x200000006ab07e50: 0000000000000003 000000000000000b |
|
lin_yp
2013-01-29
Instructions: (pc=0x20000000022574a0)
0x2000000002257490: 01 a8 20 42 00 21 40 41 80 00 42 c0 70 99 00 c4 0x20000000022574a0: 0a 70 40 40 18 14 00 71 84 30 2b e0 70 9a 00 c4 Stack: [0x200000006ad08000,0x200000006af04000], sp=0x200000006af01350, free space=7e4200000000185d508k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) v ~StubRoutines::copy_long Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j sun.misc.Unsafe.copyMemory(Ljava/lang/Object;JLjava/lang/Object;JJ)V+0 J java.nio.DirectByteBuffer.get([BII)Ljava/nio/ByteBuffer; ........... V [libjvm.so+0xa56f30] V [libjvm.so+0xa56f30] V [libjvm.so+0xa56f30] V [libjvm.so+0xa56f30] V [libjvm.so+0xa56f30] V [libjvm.so+0xa56f30] J java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; ........ V [libjvm.so+0xa56f30] V [libjvm.so+0xa56f30] V [libjvm.so+0xa56f30] V [libjvm.so+0xa56f30] ................ v ~StubRoutines::call_stub |
|
RednaxelaFX
2013-01-30
请发完整的crash log出来好么?这边贴不下的话可以放在Github的gist或者pastebin之类的地方。
光看开头部分这crash log所显示的版本信息跟我知道的版本都不一样。Oracle JDK6u31里的HotSpot VM应该是版本25.x的,但这里却是17.0。 这个是SAP维护的版本的HotSpot VM么?这个IA-64 port的源码我手上没有,手边也没IA-64的机器可用,所以恐怕很难帮啥忙。最好还是找SAP的技术支持去问… 抱歉,我错了。查了一下,Oracle确实是有出IA-64版JDK6的update 30几,里面的HotSpot VM都是17.0的。例如这个:http://www.oracle.com/technetwork/java/javase/downloads/javase-6u33-itanium-release-notes-1661429.html 不过我还是没啥头绪… |
|
lin_yp
2013-01-30
Other Threads:
0x200000003cc09800 VMThread [stack: 0x200000003dfcc000,0x200000003e048000] [id=7673] 0x200000003cc39800 WatcherThread [stack: 0x200000003f58c000,0x200000003f608000] [id=7688] VM state:synchronizing (normal execution) VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event]) [0x600000000000a450] Threads_lock - owner thread: 0x200000003cc09800 Heap PSYoungGen total 102208K, used 76416K [0x200000002f970000, 0x20000000362f0000, 0x200000003a410000) eden space 96512K, 79% used [0x200000002f970000,0x20000000344102e8,0x20000000357b0000) from space 5696K, 0% used [0x2000000035d60000,0x2000000035d60000,0x20000000362f0000) to space 5760K, 0% used [0x20000000357b0000,0x20000000357b0000,0x2000000035d50000) ParOldGen total 174784K, used 79522K [0x200000001a410000, 0x2000000024ec0000, 0x200000002f970000) object space 174784K, 45% used [0x200000001a410000,0x200000001f1b8a50,0x2000000024ec0000) PSPermGen total 102336K, used 61350K [0x200000000a410000, 0x2000000010800000, 0x200000001a410000) object space 102336K, 59% used [0x200000000a410000,0x200000000dff9910,0x2000000010800000) VM Arguments: jvm_args: -Xrs -XX:MaxGCPauseMillis=1000 -XX:+UseParallelOldGC -XX:ParallelGCThreads=5 -Xms256m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Xverify:none java_command: launcher.jar Launcher Type: SUN_STANDARD Environment Variables: SHELL=/bin/bash HOSTTYPE=ia64 OSTYPE=linux MACHTYPE=ia64-suse-linux Signal Handlers: SIGSEGV: [libjvm.so+0x17da990], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGBUS: [libjvm.so+0x17da990], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGFPE: [libjvm.so+0x17da570], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGPIPE: [libjvm.so+0x17da570], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGXFSZ: [libjvm.so+0x17da570], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGILL: [libjvm.so+0x17da570], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGUSR2: [libjvm.so+0x17daa00], sa_mask[0]=0x00000000, sa_flags=0x10000004 SIGHUP: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGINT: SIG_IGN, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGTERM: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGQUIT: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 --------------- S Y S T E M --------------- OS:SUSE Linux Enterprise Server 10 (ia64) VERSION = 10 PATCHLEVEL = 1 uname:Linux 2.6.16.46-0.12-default #1 SMP Thu May 17 14:00:09 UTC 2007 ia64 libc:glibc 2.4 NPTL 2.4 rlimit: STACK 8192k, CORE infinity, NPROC 16276, NOFILE 65535, AS infinity load average:0.32 0.48 0.44 CPU:total 4 Itanium 2 Montvale, family 32 model 1 revision 1, lb, ao Memory: 16k page, physical 8177904k(110080k free), swap 8385888k(3293520k free) vm_info: Java HotSpot(TM) 64-Bit Server VM (17.0-b17) for linux-ia64 JRE (1.6.0_31-b0402), built on Jan 31 2012 16:02:02 by "lab_ipfjbld" with gcc 4.2.0 time: Mon Oct 8 20:03:24 2012 elapsed time: 196870 seconds |
|
lin_yp
2013-01-30
RednaxelaFX 写道 请发完整的crash log出来好么?这边贴不下的话可以放在Github的gist或者pastebin之类的地方。
光看开头部分这crash log所显示的版本信息跟我知道的版本都不一样。Oracle JDK6u31里的HotSpot VM应该是版本25.x的,但这里却是17.0。 这个是SAP维护的版本的HotSpot VM么?这个IA-64 port的源码我手上没有,手边也没IA-64的机器可用,所以恐怕很难帮啥忙。最好还是找SAP的技术支持去问… 抱歉,我错了。查了一下,Oracle确实是有出IA-64版JDK6的update 30几,里面的HotSpot VM都是17.0的。例如这个:http://www.oracle.com/technetwork/java/javase/downloads/javase-6u33-itanium-release-notes-1661429.html 不过我还是没啥头绪… R大,内存不够会不会出现这个问题,我看这个err文件中Memory: 16k page, physical 8177904k(110080k free) free内存只有110M? |
|
RednaxelaFX
2013-01-30
lin_yp 写道 R大,内存不够会不会出现这个问题,我看这个err文件中Memory: 16k page, physical 8177904k(110080k free) free内存只有110M?
不像。物理内存也还有110M的话还能容纳很多小东西的分配。再说swap的剩余空间也还挺多的。 看了下出错地址是0x200000005ee00030,不在page边界上。谁有Itanium的反汇编器求一个啊 ![]() |