A gist of the fix is to allow relaxed special handling of code blob lookup when 
done for ASGCT. 

Currently, a guarantee will fail when we happen to hit a zombie method which is 
still on stack. While this would indicate a serious error for the normal 
execution flow, in case of ASGCT being in progress when the executing thread 
can be expected at any possible method this is something which may happen and 
we really should not take the profiled JVM down due to it.

<hr>
Unfortunately, I am not able to create a simple reproducer for the crash other 
that testing in our production where the crash is happening sporadically.
However, thanks to @parttimenerd and his [ASGCT stress 
test](https://github.com/parttimenerd/asgct2-tester.git) the problem can be 
reproduced quite reliably.

<br><br>

_Note: This is a followup PR for #8061_

-------------

Commit messages:
 - 8283849: AsyncGetCallTrace may crash JVM on guarantee

Changes: https://git.openjdk.java.net/jdk/pull/8549/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8549&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8283849
  Stats: 18 lines in 4 files changed: 18 ins; 0 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/8549.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/8549/head:pull/8549

PR: https://git.openjdk.java.net/jdk/pull/8549

Reply via email to