Linux中可能的回归jdk1.6.0_25 x64(64位)

时间:2011-04-28 15:58:25

标签: c++ linux jvm gdb java-native-interface

更新

我正试图再次开枪,因为我真的想解决这个问题。如果有人愿意帮我解决问题,我会非常感激。

  1. 查看我上面发布的原始回溯,您可以看到正在调用此类的析构函数,而我甚至没有构造该类型的对象!我对此很无能为力。

    #5 0x000000000087f46b in ~EmptyNode (this=0x18f67110) at ../../../plug-ins/mon/ASTNode.h:143

  2. 如果我取消注释上面的代码(即插件),则在未附加调试器时它不再崩溃我的应用程序。连接调试器时,SEG出现故障......很奇怪。

    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x7fffd3ffc700 (LWP 4659)]
    0x00007ffff17ef44f in ?? ()
    (gdb) bt
    0#  0x00007ffff17ef44f in ?? ()
    1#  0x0000000000000000 in ?? ()
    
  3. 以下是JVM崩溃生成的整个hs_err_pid:http://pastebin.com/Law2yEBN。我真的很感激你的帮助。

  4. 所以我想知道gdb是否正在调用~EmptyNode?当我甚至没有实例化这种类型的对象时。事实上,我对此非常肯定。

  5. 为什么问题会出现在我们应用的64位而不是32位版本中......

  6. 我已经尝试启用STL调试宏,看看它们是否会帮助我找到导致此问题的原因,但事实并非如此。宏是:-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC

    原始问题:

    我认为我在Sun JVM中看到了可能的回归,但在我向Sun提交错误报告之前,我想要额外的确认。

    1. 以前使用jdk1.6.0_21 x64(64位)的代码现在与jdk1.6.0_24 +崩溃,请参阅下面的日志。注意:如果我以32位运行相同版本的JVM,它不会崩溃。
    2. 我启用了以下开关。还有其他证明有用吗?

      -verbose:jni

      -Xcheck:jni

    3. 下面的日志是创建JVM后会发生的事情。我还包括崩溃的堆栈跟踪。其他线程由JVM创建,因为我的应用程序是单线程的。

    4. 您可以提供给我的任何调试技巧吗?
    5. 我感谢所有的帮助,因为我一整天都试图解决这个问题而且我的想法已经用完了。

      Linux版本:

      $ uname -a
      Linux Centos5x64.ldn.itrs 2.6.18-128.1.1.el5 #1 SMP Wed Mar 25 18:14:28 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
      

      发行:

      $ lsb_release -a
      LSB Version:    :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
      Distributor ID: CentOS
      Description:    CentOS release 5.3 (Final)
      Release:        5.3
      Codename:       Final
      

      日志:

      [New Thread 0x41159940 (LWP 32434)]
      [New Thread 0x4125a940 (LWP 32435)]
      [New Thread 0x4135b940 (LWP 32436)]
      [New Thread 0x418e8940 (LWP 32437)]
      [New Thread 0x41f20940 (LWP 32438)]
      [New Thread 0x42021940 (LWP 32439)]
      [New Thread 0x42122940 (LWP 32440)]
      [New Thread 0x42223940 (LWP 32441)]
      <Thu Apr 28 16:53:51>  INFO: JVMManager Function createJavaVM ran ok
      <Thu Apr 28 16:53:51>  INFO: JVMManager probe successfully created a JVM.
      <Thu Apr 28 16:53:51>  INFO: JVMManager java.version = 1.6.0_25
      <Thu Apr 28 16:53:51>  INFO: JVMManager java.vendor = Sun Microsystems Inc.
      <Thu Apr 28 16:53:51> DEBUG: JVMManager:ops Creating global ref for theStringClass
      <Thu Apr 28 16:53:51> DEBUG: JVMManager:ops Creating global ref for classLaunchPad
      [New Thread 0x40d3b940 (LWP 32442)]
      <Thu Apr 28 16:53:51> DEBUG: JVMManager:ops Creating static method reference for doTimerTickForAllSamplers()
      <Thu Apr 28 16:53:51> DEBUG: JVMManager:ops Creating static method reference for methodDoSample()
      <Thu Apr 28 16:53:51> DEBUG: JVMManager:ops produceJVM exited
      <Thu Apr 28 16:53:51> DEBUG: JVMManager:ops pre Apps
      <Thu Apr 28 16:53:51> DEBUG: JVMManager:ops launchApps entered
      <Thu Apr 28 16:53:51> DEBUG: JVMManager:ops launchApps: STAGE 1
      <Thu Apr 28 16:53:51> DEBUG: JVMManager:ops launchApps: STAGE 2
      <Thu Apr 28 16:53:51> DEBUG: JVMManager:ops launchApps: STAGE 3
      <Thu Apr 28 16:53:51> DEBUG: JVMManager:ops launchApps: STAGE 4
      <Thu Apr 28 16:53:51> DEBUG: JVMManager:ops launchApps: STAGE 5
      <Thu Apr 28 16:53:51> DEBUG: JVMManager:ops launchApps: STAGE 6
      <Thu Apr 28 16:53:51> DEBUG: JVMManager:ops launchApps: STAGE 7
      <Thu Apr 28 16:53:51> DEBUG: JVMManager:ops launchApps: STAGE 8
      <Thu Apr 28 16:53:51> DEBUG: JVMManager:ops launchApps: STAGE 9
      <Thu Apr 28 16:53:51> DEBUG: JVMManager:ops launchApps: STAGE 10
      <Thu Apr 28 16:53:51> DEBUG: JVMManager:ops launchApps: STAGE 11
      <Thu Apr 28 16:53:51> DEBUG: JVMManager:ops launchApps: STAGE 12
      <Thu Apr 28 16:53:51> DEBUG: JVMManager:ops launchApps: STAGE 13
      <Thu Apr 28 16:53:51>  INFO: JavaMemory Logging every 10 minutes
      *** glibc detected *** /WorkSpace/users/brucebanner/itracks/PLW-495/probe.linux_64.GA2011.1-110216-g/probe.linux_64: free(): invalid pointer: 0x0000000018f67110 ***
      ======= Backtrace: =========
      /lib64/libc.so.6[0x33bea71ce2]
      /lib64/libc.so.6(cfree+0x8c)[0x33bea7590c]
      /WorkSpace/users/brucebanner/itracks/PLW-495/probe.linux_64.GA2011.1-110216-g/probe.linux_64[0x87f46b]
      /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so[0x2b84a5dedc87]
      /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so[0x2b84a5dedc59]
      /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so[0x2b84a5b2054d]
      /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so[0x2b84a5a45010]
      /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so[0x2b84a5e25085]
      /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so[0x2b84a59c6c28]
      /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so[0x2b84a583b8b3]
      /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so[0x2b84a59c6c79]
      /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so[0x2b84a59c6eb2]
      /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so[0x2b84a5a4e62a]
      /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so[0x2b84a5a4df15]
      /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so[0x2b84a5ec5a79]
      /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so[0x2b84a5ebef81]
      /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so[0x2b84a5db696f]
      /lib64/libpthread.so.0[0x33bf606367]
      /lib64/libc.so.6(clone+0x6d)[0x33bead2f7d]
      ======= Memory map: ========
      00400000-01131000 r-xp 00000000 00:18 4735588                            /WorkSpace/users/brucebanner/itracks/PLW-495/probe.linux_64.GA2011.1-110216-g/probe.linux_64
      01331000-01377000 rw-p 00d31000 00:18 4735588                            /WorkSpace/users/brucebanner/itracks/PLW-495/probe.linux_64.GA2011.1-110216-g/probe.linux_64
      01377000-01f95000 rw-p 01377000 00:00 0 
      18e6b000-18f87000 rw-p 18e6b000 00:00 0                                  [heap]
      40c3b000-40c3e000 ---p 40c3b000 00:00 0 
      40c3e000-40d3c000 rwxp 40c3e000 00:00 0 
      41059000-4105a000 ---p 41059000 00:00 0 
      4105a000-4115a000 rwxp 4105a000 00:00 0 
      4115a000-4115d000 ---p 4115a000 00:00 0 
      4115d000-4125b000 rwxp 4115d000 00:00 0 
      4125b000-4125e000 ---p 4125b000 00:00 0 
      4125e000-4135c000 rwxp 4125e000 00:00 0 
      417e8000-417eb000 ---p 417e8000 00:00 0 
      417eb000-418e9000 rwxp 417eb000 00:00 0 
      41e20000-41e23000 ---p 41e20000 00:00 0 
      41e23000-41f21000 rwxp 41e23000 00:00 0 
      41f21000-41f24000 ---p 41f21000 00:00 0 
      41f24000-42022000 rwxp 41f24000 00:00 0 
      42022000-42025000 ---p 42022000 00:00 0 
      42025000-42123000 rwxp 42025000 00:00 0 
      42123000-42124000 ---p 42123000 00:00 0 
      42124000-42224000 rwxp 42124000 00:00 0 
      eb200000-eb730000 rw-p eb200000 00:00 0 
      eb730000-f0600000 rw-p eb730000 00:00 0 
      f0600000-f1080000 rw-p f0600000 00:00 0 
      f1080000-fae00000 rw-p f1080000 00:00 0 
      fae00000-fc2c0000 rw-p fae00000 00:00 0 
      fc2c0000-100000000 rw-p fc2c0000 00:00 0 
      33bda00000-33bda1c000 r-xp 00000000 fd:00 1820674                        /lib64/ld-2.5.so
      33bdc1b000-33bdc1c000 r--p 0001b000 fd:00 1820674                        /lib64/ld-2.5.so
      33bdc1c000-33bdc1d000 rw-p 0001c000 fd:00 1820674                        /lib64/ld-2.5.so
      33bea00000-33beb4c000 r-xp 00000000 fd:00 1820677                        /lib64/libc-2.5.so
      33beb4c000-33bed4c000 ---p 0014c000 fd:00 1820677                        /lib64/libc-2.5.so
      33bed4c000-33bed50000 r--p 0014c000 fd:00 1820677                        /lib64/libc-2.5.so
      33bed50000-33bed51000 rw-p 00150000 fd:00 1820677                        /lib64/libc-2.5.so
      33bed51000-33bed56000 rw-p 33bed51000 00:00 0 
      33bee00000-33bee82000 r-xp 00000000 fd:00 1820684                        /lib64/libm-2.5.so
      33bee82000-33bf081000 ---p 00082000 fd:00 1820684                        /lib64/libm-2.5.so
      33bf081000-33bf082000 r--p 00081000 fd:00 1820684                        /lib64/libm-2.5.so
      33bf082000-33bf083000 rw-p 00082000 fd:00 1820684            
      Program received signal SIGABRT, Aborted.
      [Switching to Thread 0x41f20940 (LWP 32438)]
      0x00000033bea30215 in raise () from /lib64/libc.so.6
      (gdb) info threads
        10 Thread 0x40d3b940 (LWP 32442)  0x00000033bf60ab00 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
        9 Thread 0x42223940 (LWP 32441)  0x00000033bf60ab00 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
        8 Thread 0x42122940 (LWP 32440)  0x00000033bf60a899 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
        7 Thread 0x42021940 (LWP 32439)  0x00000033bf60a899 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
      * 6 Thread 0x41f20940 (LWP 32438)  0x00000033bea30215 in raise () from /lib64/libc.so.6
        5 Thread 0x418e8940 (LWP 32437)  0x00000033bf60c6b1 in sem_wait () from /lib64/libpthread.so.0
        4 Thread 0x4135b940 (LWP 32436)  0x00000033bf60a899 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
        3 Thread 0x4125a940 (LWP 32435)  0x00000033bf60a899 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
        2 Thread 0x41159940 (LWP 32434)  0x00000033bf60ab00 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
        1 Thread 0x2b84a51af9b0 (LWP 32373)  0x00002b84a5e8f160 in SystemDictionary::resolve_instance_class_or_null ()
         from /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so
      (gdb) bt
      #0  0x00000033bea30215 in raise () from /lib64/libc.so.6
      #1  0x00000033bea31cc0 in abort () from /lib64/libc.so.6
      #2  0x00000033bea6a7fb in __libc_message () from /lib64/libc.so.6
      #3  0x00000033bea71ce2 in _int_free () from /lib64/libc.so.6
      #4  0x00000033bea7590c in free () from /lib64/libc.so.6
      #5  0x000000000087f46b in ~EmptyNode (this=0x18f67110) at ../../../plug-ins/mon/ASTNode.h:143
      #6  0x00002b84a5dedc87 in PhaseGVN::transform_no_reclaim ()
         from /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so
      #7  0x00002b84a5dedc59 in PhaseGVN::transform ()
         from /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so
      #8  0x00002b84a5b2054d in GraphKit::gen_stub ()
         from /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so
      #9  0x00002b84a5a45010 in Compile::Compile ()
         from /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so
      #10 0x00002b84a5e25085 in OptoRuntime::generate ()
         from /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so
      #11 0x00002b84a59c6c28 in C2Compiler::initialize_runtime ()
         from /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so
      #12 0x00002b84a583b8b3 in AbstractCompiler::initialize_runtimes ()
         from /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so
      #13 0x00002b84a59c6c79 in C2Compiler::initialize ()
         from /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so
      #14 0x00002b84a59c6eb2 in C2Compiler::compile_method ()
         from /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so
      #15 0x00002b84a5a4e62a in CompileBroker::invoke_compiler_on_method ()
         from /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so
      #16 0x00002b84a5a4df15 in CompileBroker::compiler_thread_loop ()
         from /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so
      #17 0x00002b84a5ec5a79 in compiler_thread_entry ()
         from /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so
      #18 0x00002b84a5ebef81 in JavaThread::run ()
         from /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so
      #19 0x00002b84a5db696f in java_start ()
         from /export/nas02/users/brucebanner/itracks/PLW-495/x64/jdk1.6.0_25/jre/lib/amd64/server/libjvm.so
      #20 0x00000033bf606367 in start_thread () from /lib64/libpthread.so.0
      #21 0x00000033bead2f7d in clone () from /lib64/libc.so.6
      

2 个答案:

答案 0 :(得分:1)

此级别的分析完全足以提交错误/回归报告。

直接向Oracle提交此类问题。

答案 1 :(得分:0)

我不确定StackOverflow是否具备调试JDK回归的专业知识。尝试在https://bugs.openjdk.java.net/

询问