JDK-8271931 : Make AbortVMOnVMOperationTimeout more resilient to OS scheduling
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 11.0.4,17,18
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2021-08-05
  • Updated: 2021-08-09
  • Resolved: 2021-08-09
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.

To download the current JDK release, click here.
JDK 18
18 masterFixed
Related Reports
Relates :  
Description
`AbortVMOnVMOperationTimeout` and `AbortVMOnVMOperationTimeoutDelay` can be used to catch long-running VM operations.

Currently, a periodic task, `VMOperationTimeoutTask`, checks if timeout occurs. However, depending on the scheduling, it's possible that such checking misses the arm-disarm window. In other words, even when timeout does occur, abort might not happen.

To remedy this, we can perform timeout checks on the VM thread right after VM operation is completed. This way, we will never miss timeouts.
Comments
Changeset: 2f7a4693 Author: Albert Mingkun Yang <ayang@openjdk.org> Date: 2021-08-09 15:19:55 +0000 URL: https://git.openjdk.java.net/jdk/commit/2f7a46934c7f8cc024083aefc400d5d52f2c95a7
09-08-2021