Details
-
Bug
-
Resolution: Fixed
-
P3
-
11, 12, 13, 14, 15
-
b11
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8246674 | 13.0.4 | Christian Hagedorn | P3 | Resolved | Fixed | b04 |
JDK-8242109 | 11.0.8-oracle | Christian Hagedorn | P3 | Resolved | Fixed | b02 |
JDK-8242799 | 11.0.8 | Christian Hagedorn | P3 | Resolved | Fixed | b01 |
Description
The internal testing for JDK 14 revealed a case where a precedence edge from a not yet matched CFG node (i.e. a node in the middle of a block) was processed by PhaseCFG::schedule_pinned_nodes. As a result, the is_dominator() check returned a wrong answer which later resulted in a segfault due to a wrong block ordering produced by GCM together with StressGCM. In this case, a load was moved before the associated NULL check. This, however, was only observed by using ZGC but it appears to be unrelated to ZGC itself. With ZGC, an ArrayAllocation expands before a LoadP which is used for a LoadRange node later in such a way that PhaseCFG::schedule_pinned_nodes faces a precedence edge for that LoadRange node from a CFG node that is not yet machted (i.e. in the middle of a block).
The internal test used -XX:+UseZGC and -XX:+StressGCM.
The internal test used -XX:+UseZGC and -XX:+StressGCM.
Attachments
Issue Links
- backported by
-
JDK-8242109 PhaseCFG::schedule_pinned_nodes cannot handle precedence edges from unmatched CFG nodes correctly
- Resolved
-
JDK-8242799 PhaseCFG::schedule_pinned_nodes cannot handle precedence edges from unmatched CFG nodes correctly
- Resolved
-
JDK-8246674 PhaseCFG::schedule_pinned_nodes cannot handle precedence edges from unmatched CFG nodes correctly
- Resolved
- relates to
-
JDK-8139771 Eliminating CastPP nodes at Phis when they all come from a unique input may cause crash
- Closed