RFR(S): 8166679: JNI AsyncGetCallTrace replaces topmost frame name with <no Java callstack recorded> starting with Java 9 b133

Chris Plummer chris.plummer at oracle.com
Thu Oct 20 20:28:09 UTC 2016


Hello,

Please review the following:

http://cr.openjdk.java.net/~cjplummer/8166679/webrev.00/webrev.hotspot/
https://bugs.openjdk.java.net/browse/JDK-8166679

The fix is to partially undo the changes for JDK-8159284. There are two 
places where the fix for JDK-8159284 added an extra check of the 
validity of the entry frame, but really only the first one is 
appropriate since for the second one we are not in an entry frame. More 
details can be found near the end of the bug comments.

Note I did a straight patch of the old version of the code. It could 
probably use some formatting and comment cleanup. I decided not to clean 
it up to make it easy to compare the current code with the original. 
I'll clean it up if you feel it would be best to.

Tested by running KitchenSink more times than I can count, since that's 
where JDK-8159284 turned up. However, that's not proving much since I 
could not reproduce JDK-8159284 even without its fix in place (it also 
couldn't be reproduced at the time JDK-8159284 was was being 
investigated and fixed). For this reason I can't be 100% sure that 
JDK-8159284 is not being re-introduced with my changes.

Also tested by running a very large set of tests trough RBT, close to 
what we do for PIT testing, minus product builds and a few tests that 
take a long time to run.

Lastly, I also tested with the test case in the CR to make sure it now 
passes. Unforgettably it's not possible to add the test case as a jtreg 
test since it requires the installation of the Oracle Studio tools.

thanks,

Chris


More information about the serviceability-dev mailing list