我正试图再次开枪,因为我真的想解决这个问题。如果有人愿意帮我解决问题,我会非常感激。
查看我上面发布的原始回溯,您可以看到正在调用此类的析构函数,而我甚至没有构造该类型的对象!我对此很无能为力。
#5 0x000000000087f46b in ~EmptyNode (this=0x18f67110) at ../../../plug-ins/mon/ASTNode.h:143
如果我取消注释上面的代码(即插件),则在未附加调试器时它不再崩溃我的应用程序。连接调试器时,SEG出现故障......很奇怪。
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffd3ffc700 (LWP 4659)] 0x00007ffff17ef44f in ?? () (gdb) bt 0# 0x00007ffff17ef44f in ?? () 1# 0x0000000000000000 in ?? ()
以下是JVM崩溃生成的整个hs_err_pid:http://pastebin.com/Law2yEBN。我真的很感激你的帮助。
所以我想知道gdb是否正在调用~EmptyNode
?当我甚至没有实例化这种类型的对象时。事实上,我对此非常肯定。
为什么问题会出现在我们应用的64位而不是32位版本中......
我已经尝试启用STL调试宏,看看它们是否会帮助我找到导致此问题的原因,但事实并非如此。宏是:-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC
。
我认为我在Sun JVM中看到了可能的回归,但在我向Sun提交错误报告之前,我想要额外的确认。
我启用了以下开关。还有其他证明有用吗?
-verbose:jni
-Xcheck:jni
下面的日志是创建JVM后会发生的事情。我还包括崩溃的堆栈跟踪。其他线程由JVM创建,因为我的应用程序是单线程的。
我感谢所有的帮助,因为我一整天都试图解决这个问题而且我的想法已经用完了。
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
答案 0 :(得分:1)
此级别的分析完全足以提交错误/回归报告。
直接向Oracle提交此类问题。
答案 1 :(得分:0)
我不确定StackOverflow是否具备调试JDK回归的专业知识。尝试在https://bugs.openjdk.java.net/
询问