Details
-
Bug
-
Resolution: Fixed
-
P2
-
16
-
b21
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8295127 | 11.0.18 | Goetz Lindenmaier | P2 | Resolved | Fixed | b01 |
JDK-8290088 | 11.0.17-oracle | Adithya Haradi Gopal | P2 | Closed | Fixed | b02 |
Description
# Internal Error (/home/stefank/git/alt2/open/src/hotspot/share/gc/z/zVerify.cpp:328), pid=2724460, tid=2724527
# assert(!ZAddress::is_good(ZOop::to_address(o))) failed: Should not be good: 0x00001000010222a8
V [libjvm.so+0x1a5181b] ZVerifyBadOopClosure::do_oop(oop*)+0xeb
V [libjvm.so+0xfd3418] JNIHandleBlock::oops_do(OopClosure*)+0x58
V [libjvm.so+0x184ef9c] JavaThread::oops_do_no_frames(OopClosure*, CodeBlobClosure*)+0x3c
V [libjvm.so+0x1a50a12] ZVerify::verify_thread_head_bad(JavaThread*)+0x22
V [libjvm.so+0x1a3ca38] ZStackWatermark::start_processing_impl(void*)+0x28
V [libjvm.so+0x171eece] StackWatermark::start_processing()+0x5e
V [libjvm.so+0x16a9851] SafepointMechanism::process_if_requested_slow(JavaThread*)+0x31
V [libjvm.so+0x1208446] JvmtiRawMonitor::simple_wait(Thread*, long)+0x896
V [libjvm.so+0x1208adf] JvmtiRawMonitor::raw_wait(long, Thread*)+0x6f
V [libjvm.so+0x11cd87a] JvmtiEnv::RawMonitorWait(JvmtiRawMonitor*, long)+0x3a
C [libcm03t001.so+0x952d] rawMonitorWait+0xd
C [libcm03t001.so+0x9688] nsk_jvmti_waitForSync+0x68
C [libcm03t001.so+0xd9c7] agentProc+0x2157
C [libcm03t001.so+0x9491] agentThreadWrapper+0x91
V [libjvm.so+0x1200b94] JvmtiAgentThread::call_start_function()+0x1d4
Running:
while makec ../build/fastdebug/ test-only TEST=vmTestbase/nsk/jvmti/scenarios/capability/CM03/cm03t001/TestDescription.java JTREG="JAVA_OPTIONS=-XX:+UseZGC -XX:+ClassUnloading -Xmx2g -XX:ZCollectionInterval=1 -XX:ZFragmentationLimit=0.01" JTREG_EXTRA_PROBLEM_LISTS=ProblemList-zgc.txt; do : ; done
With patch to make ZCollectionInterval measured in ms instead of seconds:
diff --git a/src/hotspot/share/gc/z/zDirector.cpp b/src/hotspot/share/gc/z/zDirector.cpp
index 345d202e063..8ebc24eaa74 100644
--- a/src/hotspot/share/gc/z/zDirector.cpp
+++ b/src/hotspot/share/gc/z/zDirector.cpp
@@ -56,9 +56,9 @@ bool ZDirector::rule_timer() const {
// Perform GC if timer has expired.
const double time_since_last_gc = ZStatCycle::time_since_last();
- const double time_until_gc = ZCollectionInterval - time_since_last_gc;
+ const double time_until_gc = double(ZCollectionInterval) / 1000 - time_since_last_gc;
- log_debug(gc, director)("Rule: Timer, Interval: %us, TimeUntilGC: %.3fs",
+ log_debug(gc, director)("Rule: Timer, Interval: %ums, TimeUntilGC: %.3fs",
ZCollectionInterval, time_until_gc);
return time_until_gc <= 0;
# assert(!ZAddress::is_good(ZOop::to_address(o))) failed: Should not be good: 0x00001000010222a8
V [libjvm.so+0x1a5181b] ZVerifyBadOopClosure::do_oop(oop*)+0xeb
V [libjvm.so+0xfd3418] JNIHandleBlock::oops_do(OopClosure*)+0x58
V [libjvm.so+0x184ef9c] JavaThread::oops_do_no_frames(OopClosure*, CodeBlobClosure*)+0x3c
V [libjvm.so+0x1a50a12] ZVerify::verify_thread_head_bad(JavaThread*)+0x22
V [libjvm.so+0x1a3ca38] ZStackWatermark::start_processing_impl(void*)+0x28
V [libjvm.so+0x171eece] StackWatermark::start_processing()+0x5e
V [libjvm.so+0x16a9851] SafepointMechanism::process_if_requested_slow(JavaThread*)+0x31
V [libjvm.so+0x1208446] JvmtiRawMonitor::simple_wait(Thread*, long)+0x896
V [libjvm.so+0x1208adf] JvmtiRawMonitor::raw_wait(long, Thread*)+0x6f
V [libjvm.so+0x11cd87a] JvmtiEnv::RawMonitorWait(JvmtiRawMonitor*, long)+0x3a
C [libcm03t001.so+0x952d] rawMonitorWait+0xd
C [libcm03t001.so+0x9688] nsk_jvmti_waitForSync+0x68
C [libcm03t001.so+0xd9c7] agentProc+0x2157
C [libcm03t001.so+0x9491] agentThreadWrapper+0x91
V [libjvm.so+0x1200b94] JvmtiAgentThread::call_start_function()+0x1d4
Running:
while makec ../build/fastdebug/ test-only TEST=vmTestbase/nsk/jvmti/scenarios/capability/CM03/cm03t001/TestDescription.java JTREG="JAVA_OPTIONS=-XX:+UseZGC -XX:+ClassUnloading -Xmx2g -XX:ZCollectionInterval=1 -XX:ZFragmentationLimit=0.01" JTREG_EXTRA_PROBLEM_LISTS=ProblemList-zgc.txt; do : ; done
With patch to make ZCollectionInterval measured in ms instead of seconds:
diff --git a/src/hotspot/share/gc/z/zDirector.cpp b/src/hotspot/share/gc/z/zDirector.cpp
index 345d202e063..8ebc24eaa74 100644
--- a/src/hotspot/share/gc/z/zDirector.cpp
+++ b/src/hotspot/share/gc/z/zDirector.cpp
@@ -56,9 +56,9 @@ bool ZDirector::rule_timer() const {
// Perform GC if timer has expired.
const double time_since_last_gc = ZStatCycle::time_since_last();
- const double time_until_gc = ZCollectionInterval - time_since_last_gc;
+ const double time_until_gc = double(ZCollectionInterval) / 1000 - time_since_last_gc;
- log_debug(gc, director)("Rule: Timer, Interval: %us, TimeUntilGC: %.3fs",
+ log_debug(gc, director)("Rule: Timer, Interval: %ums, TimeUntilGC: %.3fs",
ZCollectionInterval, time_until_gc);
return time_until_gc <= 0;
Attachments
Issue Links
- backported by
-
JDK-8295127 ZGC: JNIHandleBlock verification failure in stack watermark processing
- Resolved
-
JDK-8290088 ZGC: JNIHandleBlock verification failure in stack watermark processing
- Closed
- relates to
-
JDK-8246727 nsk/jvmti/scenarios/capability/CM03/cm03t001/TestDescription.java goes for rare JVM crash
- Resolved
- links to
-
Commit openjdk/jdk11u-dev/52c940e4
-
Commit openjdk/jdk/672f5669
-
Review openjdk/jdk11u-dev/1433
-
Review openjdk/jdk/701
(2 links to)