[讨论] [HotSpot VM] Bug 报告贴
ZHH2009
2014-10-24
之前发现的HotSpot VM中的Bug不是在微博就是在ITeye站内信中发给@RednaxelaFX,
然后让他确认后提交到Oracle的Bug数据库。 微博和ITeye站内信不方便排版和汇总,所以专门发个贴来记录Bug吧, 其他人如果也发现Bug或疑似Bug都可以发在这里。 |
|
ZHH2009
2014-10-24
JDK版本: OpenJDK8u-dev debug版
操作系统: Windows 7 Bug标题: 开启+EnableTracing参数导致HotSpot VM Crash Bug描述: 引用 # To suppress the following error report, specify this argument # after -XX: or in .hotspotrc: SuppressErrorAt=\runtime/thread.hpp:669 # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (E:\openjdk\jdk8u-dev\hotspot\src\share\vm\runtime/thread.hpp:669), pid=7652, tid=6892 # assert(thread != NULL) failed: just checking # # JRE version: (8.0) (build ) # Java VM: OpenJDK Client VM (25.40-b11-internal-debug mixed mode, sharing windows-x86 ) # Core dump written. Default location:E:\openjdk\jdk8u-dev\hotspot\build\vs-i486\hs_err_pid7652.mdmp # # An error report file with more information is saved as: # E:\openjdk\jdk8u-dev\hotspot\build\vs-i486\hs_err_pid7652.log # # If you would like to submit a bug report, please visit: # http://bugreport.sun.com/bugreport/crash.jsp # 通过-XX:Flags来指定一个Flags File, 然后这个文件中只要先配置+EnableTracing, 然后前后只要跟一些其他bool、int类型的参数,就会导致crash, 以下是方法调用堆栈: 引用 jvm.dll!Thread::current() Line 669 jvm.dll!ResourceMark::ResourceMark() Line 116 jvm.dll!EventBooleanFlagChanged::writeEvent() Line 685 jvm.dll!TraceEvent<EventBooleanFlagChanged>::commit() Line 109 jvm.dll!trace_flag_changed<EventBooleanFlagChanged,bool>(...) Line 612 jvm.dll!CommandLineFlags::boolAtPut(..) Line 627 不满足断言: Thread* thread = ThreadLocalStorage::thread(); assert(thread != NULL, "just checking"); 原因是在解析参数时,main_thread线程还没有调用initialize_thread_local_storage 所以ThreadLocalStorage::thread()是NULL。 |
|
ZHH2009
2014-11-03
JDK版本: Oracle JDK 8 (build 1.8.0-b132)、(build 1.8.0_25-b18)
操作系统: Windows 7 Bug标题: JVMTI的MethodEntry和MethodExit在有些情况下没有成对出现 Bug描述: 通过JVMTI注册MethodEntry和MethodExit的回调方法时, 发现下面的方法出现在MethodExit中,但是没有出现在MethodEntry中: 引用 Lsun/misc/URLClassPath; -> getLoader( (I)Lsun/misc/URLClassPath$Loader; ) Lsun/misc/URLClassPath; -> getResource( (Ljava/lang/String;Z)Lsun/misc/Resource; ) Ljava/net/URLClassLoader$1; -> run( ()Ljava/lang/Class; ) Ljava/net/URLClassLoader$1; -> run( ()Ljava/lang/Object; ) 另外,我在JDK 6/7中都没发现这个问题, 在我自己构建的比较新的OpenJDK8u (build 1.8.0-internal-fastdebug-_2014_10_28_23_08)也没发现这个问题。 目前原因还不清楚。 |
相关讨论
相关资源推荐
- Unable to open socket file: target process not responding or HotSpot VM not loaded The -F option ca
- Unable to open socket file: target process not responding or HotSpot VM not loaded
- Java 7 Hotspot循环Bug详解
- Java HotSpot VM内存管理白皮书
- Java HotSpot VM 命令行参数【官方版】
- [HotSpot VM] JVM调优的"标准参数"的各种陷阱
- Java HotSpot(TM) 64-Bit Server VM warning: CodeCache is full. Compiler has been disabled
- HotSpot线程与栈帧
- 借HSDB来探索HotSpot VM的运行时数据
- Java SE 6 with HotSpot VM