-
Bug
-
Resolution: Fixed
-
P3
-
16, 17
ADDITIONAL SYSTEM INFORMATION :
Mac OS X 10.15.7
Happens in both Java 16 and 17-ea
openjdk version "16" 2021-03-16
OpenJDK Runtime Environment (build 16+36-2231)
OpenJDK 64-Bit Server VM (build 16+36-2231, mixed mode, sharing)
openjdk version "17-ea" 2021-09-14
OpenJDK Runtime Environment (build 17-ea+13-1000)
OpenJDK 64-Bit Server VM (build 17-ea+13-1000, mixed mode, sharing)
A DESCRIPTION OF THE PROBLEM :
When generating a G1 GC log, strange characters appear in the GC log, making parsing difficult.
REGRESSION : Last worked in version 15.0.2
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Generate a GC Log with G1, either with -verbose:gc or -Xlog:gc:log.vgc
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
java -showversion -verbose:gc G1Characters
[0.005s][info][gc] Using G1
openjdk version "15.0.2" 2021-01-19
OpenJDK Runtime Environment Zulu15.29+15-CA (build 15.0.2+7)
OpenJDK 64-Bit Server VM Zulu15.29+15-CA (build 15.0.2+7, mixed mode, sharing)
[0.136s][info][gc] GC(0) Pause Young (Concurrent Start) (G1 Humongous Allocation) 457M->24M(1040M) 2.574ms
[0.136s][info][gc] GC(1) Concurrent Cycle
[0.142s][info][gc] GC(1) Pause Remark 72M->72M(296M) 3.834ms
[0.143s][info][gc] GC(1) Pause Cleanup 88M->88M(296M) 0.120ms
[0.144s][info][gc] GC(1) Concurrent Cycle 7.757ms
[0.145s][info][gc] GC(2) Pause Young (Concurrent Start) (G1 Humongous Allocation) 120M->24M(296M) 1.392ms
[0.145s][info][gc] GC(3) Concurrent Cycle
[0.147s][info][gc] GC(3) Pause Remark 72M->72M(296M) 0.224ms
[0.147s][info][gc] GC(3) Pause Cleanup 88M->88M(296M) 0.035ms
[0.149s][info][gc] GC(3) Concurrent Cycle 3.256ms
[0.150s][info][gc] GC(4) Pause Young (Concurrent Start) (G1 Humongous Allocation) 136M->24M(296M) 0.698ms
[0.150s][info][gc] GC(5) Concurrent Cycle
[0.151s][info][gc] GC(5) Pause Remark 72M->72M(296M) 0.202ms
[0.152s][info][gc] GC(5) Pause Cleanup 88M->88M(296M) 0.027ms
[0.152s][info][gc] GC(5) Concurrent Cycle 2.374ms
etc.
ACTUAL -
java -showversion -verbose:gc G1Characters
[0.004s][info][gc] Using G1
openjdk version "16" 2021-03-16
OpenJDK Runtime Environment (build 16+36-2231)
OpenJDK 64-Bit Server VM (build 16+36-2231, mixed mode, sharing)
[0.134s][info][gc] GC(0) Pause Young (Concurrent Start) (G1 Humongous Allocation) 457M->24M(1040M) 3.213ms
[0.134s][info][gc] GC(1) Concurrent Undo Cycle
[0.140s][info][gc] GC(1) ???t? 5.650ms
[0.151s][info][gc] GC(2) Pause Young (Concurrent Start) (G1 Humongous Allocation) 456M->24M(1040M) 1.674ms
[0.151s][info][gc] GC(3) Concurrent Undo Cycle
[0.153s][info][gc] GC(3) ???t? 2.388ms
[0.164s][info][gc] GC(4) Pause Young (Concurrent Start) (G1 Humongous Allocation) 456M->24M(1040M) 1.139ms
[0.164s][info][gc] GC(5) Concurrent Undo Cycle
[0.166s][info][gc] GC(5) ???t? 1.973ms
etc.
---------- BEGIN SOURCE ----------
public class G1Characters {
private static Object leak;
public static void main(String... args) {
while(true) {
leak = new byte[10_000_000];
}
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Use a different version of Java or a different garbage collector
FREQUENCY : always
Mac OS X 10.15.7
Happens in both Java 16 and 17-ea
openjdk version "16" 2021-03-16
OpenJDK Runtime Environment (build 16+36-2231)
OpenJDK 64-Bit Server VM (build 16+36-2231, mixed mode, sharing)
openjdk version "17-ea" 2021-09-14
OpenJDK Runtime Environment (build 17-ea+13-1000)
OpenJDK 64-Bit Server VM (build 17-ea+13-1000, mixed mode, sharing)
A DESCRIPTION OF THE PROBLEM :
When generating a G1 GC log, strange characters appear in the GC log, making parsing difficult.
REGRESSION : Last worked in version 15.0.2
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Generate a GC Log with G1, either with -verbose:gc or -Xlog:gc:log.vgc
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
java -showversion -verbose:gc G1Characters
[0.005s][info][gc] Using G1
openjdk version "15.0.2" 2021-01-19
OpenJDK Runtime Environment Zulu15.29+15-CA (build 15.0.2+7)
OpenJDK 64-Bit Server VM Zulu15.29+15-CA (build 15.0.2+7, mixed mode, sharing)
[0.136s][info][gc] GC(0) Pause Young (Concurrent Start) (G1 Humongous Allocation) 457M->24M(1040M) 2.574ms
[0.136s][info][gc] GC(1) Concurrent Cycle
[0.142s][info][gc] GC(1) Pause Remark 72M->72M(296M) 3.834ms
[0.143s][info][gc] GC(1) Pause Cleanup 88M->88M(296M) 0.120ms
[0.144s][info][gc] GC(1) Concurrent Cycle 7.757ms
[0.145s][info][gc] GC(2) Pause Young (Concurrent Start) (G1 Humongous Allocation) 120M->24M(296M) 1.392ms
[0.145s][info][gc] GC(3) Concurrent Cycle
[0.147s][info][gc] GC(3) Pause Remark 72M->72M(296M) 0.224ms
[0.147s][info][gc] GC(3) Pause Cleanup 88M->88M(296M) 0.035ms
[0.149s][info][gc] GC(3) Concurrent Cycle 3.256ms
[0.150s][info][gc] GC(4) Pause Young (Concurrent Start) (G1 Humongous Allocation) 136M->24M(296M) 0.698ms
[0.150s][info][gc] GC(5) Concurrent Cycle
[0.151s][info][gc] GC(5) Pause Remark 72M->72M(296M) 0.202ms
[0.152s][info][gc] GC(5) Pause Cleanup 88M->88M(296M) 0.027ms
[0.152s][info][gc] GC(5) Concurrent Cycle 2.374ms
etc.
ACTUAL -
java -showversion -verbose:gc G1Characters
[0.004s][info][gc] Using G1
openjdk version "16" 2021-03-16
OpenJDK Runtime Environment (build 16+36-2231)
OpenJDK 64-Bit Server VM (build 16+36-2231, mixed mode, sharing)
[0.134s][info][gc] GC(0) Pause Young (Concurrent Start) (G1 Humongous Allocation) 457M->24M(1040M) 3.213ms
[0.134s][info][gc] GC(1) Concurrent Undo Cycle
[0.140s][info][gc] GC(1) ???t? 5.650ms
[0.151s][info][gc] GC(2) Pause Young (Concurrent Start) (G1 Humongous Allocation) 456M->24M(1040M) 1.674ms
[0.151s][info][gc] GC(3) Concurrent Undo Cycle
[0.153s][info][gc] GC(3) ???t? 2.388ms
[0.164s][info][gc] GC(4) Pause Young (Concurrent Start) (G1 Humongous Allocation) 456M->24M(1040M) 1.139ms
[0.164s][info][gc] GC(5) Concurrent Undo Cycle
[0.166s][info][gc] GC(5) ???t? 1.973ms
etc.
---------- BEGIN SOURCE ----------
public class G1Characters {
private static Object leak;
public static void main(String... args) {
while(true) {
leak = new byte[10_000_000];
}
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Use a different version of Java or a different garbage collector
FREQUENCY : always
- duplicates
-
JDK-8265488 stack-use-after-scope in G1ConcurrentMarkThread::run_service()
-
- Closed
-
- relates to
-
JDK-8240556 Abort concurrent mark after effective eager reclamation of humongous objects
-
- Resolved
-
-
JDK-8265682 G1: Mutex::_name dangling in HeapRegionRemSet references after JDK-8264146
-
- Resolved
-