JDK-8212108 : SafepointSynchronizer never ending counter (big enough)
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 12
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2018-10-12
  • Updated: 2019-05-28
  • Resolved: 2018-11-23
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 12
12 b22Fixed
Related Reports
Relates :  
Relates :  
Description
There are a few new enhancement that would be simplified by having the safepoint counter never loop around.

INT_MAX/2 (one even/odd per safepoint)
It's around 31556926 seconds per year.
Which is 34y with one safepoint per second, a system doing 10 safepoint per second will loop over in just 3.4y.
Comments
This change I already have in my faster safepoint patch, I'm pushing this separately, since I notice when looking at the vmThread with would be handy to have that in-place. If nothing else your logs will have negative the safepoint id in them, which will be confusing. With an uint_64 we can last for 292y with one safepoint per nansecond, which seems good enough for the foreseeable future.
12-10-2018

Please explain what you mean. At a safepoint a microsecond how long does a VM have to run for this to be a problem?
12-10-2018