-
Bug
-
Resolution: Fixed
-
P3
-
hs16, hs18
-
b03
-
generic, x86
-
generic, windows_2003
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2191967 | 7 | Tony Printezis | P3 | Closed | Fixed | b90 |
JDK-2198005 | 6u23 | Tony Printezis | P3 | Resolved | Fixed | b01 |
JDK-2199955 | 6u22m | Tony Printezis | P3 | Resolved | Fixed | b01 |
JDK-2193539 | 6u21p | Tony Printezis | P3 | Resolved | Fixed | b03 |
JDK-2191651 | 6u21 | Tony Printezis | P3 | Resolved | Fixed | b03 |
JDK-2191260 | hs17 | Tony Printezis | P3 | Resolved | Fixed | b13 |
Unfortunately, there's a case where both can be called concurrently: during marking we mostly call region_stack_pop() to process entries from the region stack. But if we get a safepoint while we're processing one of the entries we will use region_stack_push() to push the remainder of the region we're processing so that we can carry on processing it in the future. And if we call region_stack_push() / region_stack_pop() concurrently, the results are undefined (i.e., the pop method can decrement the index and read the contents from the array before the push method has actaully installed them).
- backported by
-
JDK-2191260 G1: MT-unsafe calls to CM::region_stack_push() / CM::region_stack_pop()
-
- Resolved
-
-
JDK-2191651 G1: MT-unsafe calls to CM::region_stack_push() / CM::region_stack_pop()
-
- Resolved
-
-
JDK-2193539 G1: MT-unsafe calls to CM::region_stack_push() / CM::region_stack_pop()
-
- Resolved
-
-
JDK-2198005 G1: MT-unsafe calls to CM::region_stack_push() / CM::region_stack_pop()
-
- Resolved
-
-
JDK-2199955 G1: MT-unsafe calls to CM::region_stack_push() / CM::region_stack_pop()
-
- Resolved
-
-
JDK-2191967 G1: MT-unsafe calls to CM::region_stack_push() / CM::region_stack_pop()
-
- Closed
-
- duplicates
-
JDK-6867250 G1: java.lang.ArrayIndexOutOfBoundsException in Win64
-
- Closed
-
- relates to
-
JDK-6666145 G1: marking verification fails
-
- Closed
-
-
JDK-6941395 G1: use only lock-free versions of region stack push() and pop()
-
- Closed
-