RFR: 8285794: AsyncGetCallTrace might acquire a lock via JavaThread::thread_from_jni_environment
Johannes Bechberger
duke at openjdk.java.net
Thu Apr 28 09:47:24 UTC 2022
Calling JavaThread::thread_from_jni_environment for a terminated thread in AsyncGetCallTrace might cause the acquisition of a lock, making AsyncGetCallTrace non-signal-safe.
AsyncGetCallTrace can only be called for the current threads (there are asserts for that), therefore using JavaThread::current directly and checking the termination status is semantically equivalent.
-------------
Commit messages:
- Use JavaThread::current_or_null
- Do not call JavaThread::thread_from_jni_environment
Changes: https://git.openjdk.java.net/jdk/pull/8446/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8446&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8285794
Stats: 4 lines in 1 file changed: 0 ins; 1 del; 3 mod
Patch: https://git.openjdk.java.net/jdk/pull/8446.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/8446/head:pull/8446
PR: https://git.openjdk.java.net/jdk/pull/8446
More information about the hotspot-dev
mailing list