JDK-6694340 : G1: deadlock in concurrent marking phase when stack overflow occurs
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
The concurrent marking threads can be deadlocked if a stack overflow occurs.
I'll piggy-back on this CR the increase of the global and region stack sizes to decrease the probability of an overflow.
Add some code to reset the sync barriers.
*** (#1 of 1): [ UNSAVED ] ###@###.###
This happens when dealing with the second overflow of the same cycle. To deal with the stack overflow, the workers that are doing the marking have to go through two sync barriers. Unfortunately, said sync barriers are not properly reset after the first overflow, so the workers get stuck during the second one. In fact, it looks as if the workers are stuck there for good. So, subsequently, no more concurrent marking phases take place and G1 only does GC pauses and Full GCs.