JVM崩溃(siginfo:si_signo = SIGSEGV:si_errno = 0,si_code = 2(SEGV_ACCERR))

时间:2015-10-05 14:03:15

标签: segmentation-fault sigsegv jvm-crash hs-err

可以帮我理解出了什么问题吗?

jvm从1.6迁移到1.7后,出现错误两次,hs_err_pid的头部低于:

    #
    # A fatal error has been detected by the Java Runtime Environment:
    #
    #  SIGSEGV (0xb) at pc=0xffffffff78f7f110, pid=11863, tid=102207
    #
    # JRE version: Java(TM) SE Runtime Environment (7.0_76-b13) (build 1.7.0_76-b13)
    # Java VM: Java HotSpot(TM) 64-Bit Server VM (24.76-b04 mixed mode solaris-sparc compressed oops)
    # Problematic frame:
    # J 17025 C2 com.org.object.factory.IndiceFactory.calculeComposition(Lorg/application/object/metier/Index;ZZIZ)V (1502 bytes) @ 0xffffffff78f7f110 [0xffffffff78f7c540+0x2bd0]
    #
    # Core dump written. Default location: /jonas/jms/core or core.11863
    #
    # If you would like to submit a bug report, please visit:
    #   http://bugreport.java.com/bugreport/crash.jsp
    #

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

    Current thread (0x00000001061f1000):  JavaThread "RMI TCP Connection(53753)-10.198.236.48" daemon [_thread_in_Java, id=102207, stack(0xfffffffdcbc00000,0xfffffffdcbc40000)]

    siginfo:si_signo=SIGSEGV: si_errno=0, si_code=2 (SEGV_ACCERR), si_addr=0xfffffffde03fe00c

    Registers:
     G1=0x0000000000000000 G2=0x00000001061f1000 G3=0x0030005d00200031 G4=0x0000000000000003
     G5=0x0000000000000001 G6=0xfffffffde03fe000 G7=0xfffffffdbcac0200 Y=0x0000000000000000
     O0=0xfffffffdf4cd4fa0 O1=0xfffffffdf4cd4e10 O2=0x0000000000000000 O3=0x0000000000000073
     O4=0x000000000000000a O5=0x0000000000000008 O6=0xfffffffdcbc3b7c1 O7=0xffffffff78f7f0a8
     L0=0x0000000000000073 L1=0xfffffffdf4b8a2e0 L2=0x0000000066666667 L3=0xfffffffde03fe000
     L4=0xfffffffe004a25b0 L5=0xfffffffdf4cd4f70 L6=0xfffffffdf4cd4680 L7=0xfffffffdf4f07988
     I0=0xfffffffdf4ba0ee8 I1=0xfffffffe6ea13a00 I2=0xfffffffdf4ba0ee8 I3=0xfffffffdf4b8a308
     I4=0xfffffffe646a71d0 I5=0xfffffffdf4b89540 I6=0xfffffffdcbc3b941 I7=0xffffffff78ff3e10
     PC=0xffffffff78f7f110 nPC=0xffffffff78f7f114

cor文件上的jstack命令返回:

    user@host:/jonas/logs$ jstack -J-d64 $JAVA_HOME/bin/java /jonas/jms/core | grep Null
    Attaching to core /jonas/jms/core from executable /usr/java1.7/bin/java, please wait...
    Debugger attached successfully.
    Server compiler detected.
    JVM version is 24.76-b04
    java.lang.NullPointerException
            at sun.jvm.hotspot.tools.StackTrace.run(StackTrace.java:78)
            at sun.jvm.hotspot.tools.StackTrace.run(StackTrace.java:45)
            at sun.jvm.hotspot.tools.JStack.run(JStack.java:60)
            at sun.jvm.hotspot.tools.Tool.start(Tool.java:221)
            at sun.jvm.hotspot.tools.JStack.main(JStack.java:86)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:606)
            at sun.tools.jstack.JStack.runJStackTool(JStack.java:136)
            at sun.tools.jstack.JStack.main(JStack.java:102)

在hs-err_pid文件中提到的线程102207的jstack结果的另一个地方(tid = 102207)

    Thread t@102207: (state = IN_JAVA)
     - java.lang.StringBuilder.toString() @bci=13, line=405 (Compiled frame; information may be imprecise)
     - com.org.object.factory.IndiceFactory.calculeComposition(org.application.object.metier.Index, boolean, boolean, int, boolean) @bci=838, line=772 (Compiled frame)
     - com.org.object.factory.IndiceFactory.enrichIndex(org.application.object.metier.IndiceData, com.org.object.factory.IndexLoadingContext) @bci=284, line=578 (Compiled frame)
     - com.org.object.factory.IndiceFactory.getIndice(int, java.util.Date, java.lang.String, boolean, boolean, int, boolean, double) @bci=57, line=598 (Compiled frame)
     - com.org.object.factory.IndiceFactory.buildIndiceBenchmark(org.application.object.metier.IndiceData, java.util.Date, boolean, boolean, int, boolean) @bci=251, line=228 (Compiled frame)
     - com.org.object.factory.IndiceFactory.enrichIndex(org.application.object.metier.IndiceData, com.org.object.factory.IndexLoadingContext) @bci=139, line=566 (Compiled frame)
     - com.org.object.factory.IndiceFactory.getIndice(org.application.object.metier.IndiceData, boolean) @bci=18, line=539 (Compiled frame)
     - com.org.object.services.logic.IndexFinderServiceLogic.findIndex(int, java.util.Date, boolean) @bci=74, line=74 (Compiled frame)
     - com.org.object.services.logic.IndexFinderServiceLogic.findIndex(int, java.util.Date) @bci=4, line=58 (Compiled frame)
     - com.org.object.services.ejb.IndexFinderServiceBean.original$EasyBeans$findIndex(int, java.util.Date) @bci=6, line=52 (Compiled frame)
     - org.ow2.easybeans.gen.invocationcontext.com.org.object.services.ejb.IndexFinderServiceBean.EasyBeansInvocationContextImplfindIndexAROUNDINVOKE122646119.proceed() @bci=109 (Compiled frame)
     - com.org.object.services.logic.GenericInvocationHandler.trace(javax.interceptor.InvocationContext) @bci=79, line=53 (Compiled frame)
     - org.ow2.easybeans.gen.invocationcontext.com.org.object.services.ejb.IndexFinderServiceBean.EasyBeansInvocationContextImplfindIndexAROUNDINVOKE122646119.proceed() @bci=93 (Compiled frame)
     - com.org.mediaplus.services.ejb.StatisticsInterceptor.log(javax.interceptor.InvocationContext) @bci=37, line=73 (Compiled frame)
     - org.ow2.easybeans.gen.invocationcontext.com.org.object.services.ejb.IndexFinderServiceBean.EasyBeansInvocationContextImplfindIndexAROUNDINVOKE122646119.proceed() @bci=84 (Compiled frame)

线程的pstack也返回

    ----------------  lwp# 102207 / thread# 102207  --------------------
    ffffffff7e9dcb50 _lwp_kill (6, 0, ffffffff7eb498e8, ffffffffffffffff, ffffffff7eb3e000, 0) + 8
    ffffffff7e94c180 abort (1, 1d8, 166000, 1f1f8c, 0, 0) + 118
    ffffffff7df0ae78 __1cCosFabort6Fb_v_ (1, 1, 431c8, ffffffff7e36a000, 45f1dc, 43000) + 58
    ffffffff7e0c64a4 __1cHVMErrorOreport_and_die6M_v_ (1, ffffffff1ffffff6, ffffffff7e3ad180, 0, b, e000000a) + db4
    ffffffff7e0c7230 __1cNcrash_handler6FipnHsiginfo_pv_v_ (b, 0, fffffffdcbc39df0, ffffffff7eb4ec60, 7d0, fffffffdcbc39a90) + 48
    ffffffff7e9d8c00 __sighndlr (b, 0, fffffffdcbc39df0, ffffffff7e0c71e8, 0, a) + c
    ffffffff7e9cc774 call_user_handler (fffffffdbcac0200, fffffffdbcac0200, fffffffdcbc39df0, 4, 0, 0) + 3e0
    ffffffff7e9cc980 sigacthandler (0, 0, fffffffdcbc39df0, fffffffdbcac0200, 0, ffffffff7eb3e000) + 68
    --- called from signal handler with signal 11 (SIGSEGV) ---
    ffffffff7dfdd1d0 __1cPContiguousSpaceRblock_start_const6kMpkv_pnIHeapWord__ (fffffffde2d25d68, fffffffdf4cd4fa0, 10, 1b6000, ffffffff7e36a000, ffffffff7e459178) + a8
    ffffffff7db16904 __1cbBGenerationBlockStartClosureIdo_space6MpnFSpace__v_ (fffffffdcbc3a398, 1001301b0, ffffffff7d9bbec0, 10012d5a0, 0, ffffffff7e4fd448) + 3c
    ffffffff7da35958 __1cQDefNewGenerationNspace_iterate6MpnMSpaceClosure_b_v_ (10012d5a0, fffffffdcbc3a398, ffffffff7db168c8, 10012d5a0, 1001231f0, ffffffff7e456f90) + 14
    ffffffff7db14800 __1cKGenerationLblock_start6kMpkv_pnIHeapWord__ (ffffffff7e456f90, fffffffdf4cd4fa0, 1e28, 85583c, ffffffff7e36a000, 1c00) + 48
    ffffffff7df01540 __1cCosOprint_location6FpnMoutputStream_lb_v_ (fffffffdcbc3b6d0, 468edc, fffffffdf4cd4fa0, ffffffff7db09538, ffffffff7e453918, ffffffff7e4d0508) + 428
    ffffffff7df18560 __1cCosTprint_register_info6FpnMoutputStream_pv_v_ (fffffffdcbc3b6d0, fffffffdcbc3bbe0, ffffffffffe7b60f, 451bb8, 184800, ffffffff7e36a000) + 138
    ffffffff7e0c49a8 __1cHVMErrorGreport6MpnMoutputStream__v_ (14dc00, fffffffdcbc3b6d0, fffffffdcbc3b800, 1b5c00, 1, ffffffff7e21bc39) + 990
    ffffffff7e0c5e5c __1cHVMErrorOreport_and_die6M_v_ (fffffffdcbc3b800, 28, ffffffff7e528099, 1eb028, 1eb000, 1eb000) + 76c
    ffffffff7d68cfb0 JVM_handle_solaris_signal (b, fffffffdcbc3bec0, ffffffff7e4cf241, fffffffdcbc3b860, fffffffdcbc3bbe0, ffffffff78f7f110) + c40
    ffffffff7e9d8c00 __sighndlr (b, fffffffdcbc3bec0, fffffffdcbc3bbe0, ffffffff7d68c328, 0, a) + c
    ffffffff7e9cc774 call_user_handler (fffffffdbcac0200, fffffffdbcac0200, fffffffdcbc3bbe0, c, 0, 0) + 3e0
    ffffffff7e9cc980 sigacthandler (0, fffffffdcbc3bec0, fffffffdcbc3bbe0, fffffffdbcac0200, 0, ffffffff7eb3e000) + 68
    --- called from signal handler with signal 11 (SIGSEGV) ---

信号错误代码11表示分段错误,但我不知道问题的根源。

非常感谢你的帮助

0 个答案:

没有答案