-
Bug
-
Resolution: Fixed
-
P4
-
17, 18
-
b07
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8306073 | 17.0.8-oracle | Joe Cherian | P4 | Resolved | Fixed | b02 |
JDK-8306493 | 17.0.8 | Goetz Lindenmaier | P4 | Resolved | Fixed | b01 |
In G1ServiceThread, there is a race between stop_service and the termination check in sleep_before_next_cycle. The latter checks should_terminate outside the lock, and then enters the monitor and waits for notification or the next task to be ready. If stop is requested after the should_terminate check but before entering the monitor, the stop request will be missed. The should_terminate check should be (re)done after entering the monitor. It will eventually terminate if there are periodic tasks, but only when the next task becomes ready.
- backported by
-
JDK-8306073 G1ServiceThread may not terminate
- Resolved
-
JDK-8306493 G1ServiceThread may not terminate
- Resolved
- links to
-
Commit openjdk/jdk17u-dev/ef1a9ec0
-
Commit openjdk/jdk/7f35e5ba
-
Review openjdk/jdk17u-dev/1250
-
Review openjdk/jdk/4819
(1 links to)