Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8208924 | 8u201 | Fairoz Matte | P2 | Resolved | Fixed | b01 |
JDK-8206405 | 8u192 | Fairoz Matte | P2 | Closed | Fixed | b03 |
JDK-8216746 | emb-8u201 | Fairoz Matte | P2 | Resolved | Fixed | master |
Class unloading should be disabled by -XX:-ClassUnloading (or the equivalent -Xnoclassgc). However, G1 does not honor such requests correctly.
When G1 performs a full GC, it does not conditionalize the marking phase of root processing based on the ClassUnloading option. Instead it always marks the roots as if class unloading is enabled. Unfortunately, later code does attempt to honor ClassUnloading, with resulting problems.
When G1 performs a concurrent mark, it conditionalizes some of the work on the ClassUnloadingWithConcurrentMark option, which defaults to true. That feature is not disabled when ClassUnloading is requested disabled, so it is presently possible to have ClassUnloading false and ClassUnloadingWithConcurrentMark true. As a result, later processing that is disabled when ClassUnloading is disabled may go awry.
When G1 performs a full GC, it does not conditionalize the marking phase of root processing based on the ClassUnloading option. Instead it always marks the roots as if class unloading is enabled. Unfortunately, later code does attempt to honor ClassUnloading, with resulting problems.
When G1 performs a concurrent mark, it conditionalizes some of the work on the ClassUnloadingWithConcurrentMark option, which defaults to true. That feature is not disabled when ClassUnloading is requested disabled, so it is presently possible to have ClassUnloading false and ClassUnloadingWithConcurrentMark true. As a result, later processing that is disabled when ClassUnloading is disabled may go awry.
- backported by
-
JDK-8208924 G1 doesn't honor request to disable class unloading
-
- Resolved
-
-
JDK-8216746 G1 doesn't honor request to disable class unloading
-
- Resolved
-
-
JDK-8206405 G1 doesn't honor request to disable class unloading
-
- Closed
-
- relates to
-
JDK-8085965 VM hangs in C2Compiler
-
- Resolved
-
-
JDK-8059128 VM hangs because threads fail to synchronize at safepoint
-
- Closed
-