-
Bug
-
Resolution: Fixed
-
P2
-
13, 14, 15, 16
-
b20
-
Verified
The code to process regions where evacuation failed only processes the last increment. This leaves forwarded pointers in the mark word of some objects.
This is wrong in case there is an evacuation failure caused by reference processing in a region that has been evacuated in earlier evacuation increments. Reference processing (e.g. finalizers) can resurrect an otherwise unreachable object at the very end of the collection, that can't be copied and is located in a region evacuated in an earlier increment.
This optimization to only look at the last increment for removal of self forwarding pointers has been introduced inJDK-8218668.
This may cause crashes likeJDK-8248438. Until changes to young gen sizing in JDK-8244603 this crashes has been a very rare occurrence.
This is wrong in case there is an evacuation failure caused by reference processing in a region that has been evacuated in earlier evacuation increments. Reference processing (e.g. finalizers) can resurrect an otherwise unreachable object at the very end of the collection, that can't be copied and is located in a region evacuated in an earlier increment.
This optimization to only look at the last increment for removal of self forwarding pointers has been introduced in
This may cause crashes like
- blocks
-
JDK-8253413 [REDO] [REDO] G1 incorrectly limiting young gen size when using the reserve can result in repeated full gcs
- Resolved
- duplicates
-
JDK-8248438 SIGSEGV in ObjectMonitor::enter
- Closed
- relates to
-
JDK-8244603 G1 incorrectly limiting young gen size when using the reserve can result in repeated full gcs
- Resolved
-
JDK-8248438 SIGSEGV in ObjectMonitor::enter
- Closed
-
JDK-8218668 Clean up evacuation of optional collection set
- Resolved
(2 links to)