RFR(XL): 8167108 - SMR and JavaThread Lifecycle

Daniel D. Daugherty daniel.daugherty at oracle.com
Mon Oct 9 19:41:24 UTC 2017


Greetings,

We have a (eXtra Large) fix for the following bug:

8167108 inconsistent handling of SR_lock can lead to crashes
https://bugs.openjdk.java.net/browse/JDK-8167108

This fix adds a Safe Memory Reclamation (SMR) mechanism based on
Hazard Pointers to manage JavaThread lifecycle.

Here's a PDF for the internal wiki that we've been using to describe
and track the work on this project:

http://cr.openjdk.java.net/~dcubed/8167108-webrev/SMR_and_JavaThread_Lifecycle-JDK10-04.pdf

Dan has noticed that the indenting is wrong in some of the code quotes
in the PDF that are not present in the internal wiki. We don't have a
solution for that problem yet.

Here's the webrev for current JDK10 version of this fix:

http://cr.openjdk.java.net/~dcubed/8167108-webrev/jdk10-04-full

This fix has been run through many rounds of JPRT and Mach5 tier[2-5]
testing, additional stress testing on Dan's Solaris X64 server, and
additional testing on Erik and Robbin's machines.

We welcome comments, suggestions and feedback.

Daniel Daugherty
Erik Osterlund
Robbin Ehn



More information about the hotspot-gc-dev mailing list