[jdk17u-dev] RFR: 8314225: SIGSEGV in JavaThread::is_lock_owned

Goetz Lindenmaier goetz at openjdk.org
Fri Jan 3 12:04:13 UTC 2025


I backport this for parity with 17.0.15-oracle.

I had to resolve the larger part of this change. 
None of my edits change the code essentially, though.

src/hotspot/share/jfr/leakprofiler/checkpoint/rootResolver.cpp
Resolved because of NULL/nullptr difference

src/hotspot/share/runtime/javaThread.cpp|hpp
These files don't exist in 17, they were split off from thread.cpp|hpp.
The modiefied code looks very similar in 17, so I could easily identify 
the changed code and apply the patches.  Usual minor nullptr diffs etc.

src/hotspot/share/runtime/monitorChunk.cpp
Resolved because of NULL/nullptr difference

src/hotspot/share/runtime/monitorChunk.hpp
Resolved because of context diff.

src/hotspot/share/runtime/synchronizer.cpp
Resolved. Different checks in if condition.
One is for the new locking mode in head, the other whether the mask has a locker.
... check ...

src/hotspot/share/runtime/thread.cpp
Resolved because new locking modes added an assertion in removed function is_lock_owned.

src/hotspot/share/runtime/vframeArray.cpp
Resolved. Code differs because 21 has biased locking removed.



To make it build, I had to replace
Javathread::cast() by as_Java_thread() in synchronizer.cpp.

Also I removed is_linked() from monitorChunk.hpp.

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

Commit messages:
 - Fixes to make it build
 - Resolved parts
 - Backport ad0b54d429fdbd806c09aa06bb42f1ed4a0297e8

Changes: https://git.openjdk.org/jdk17u-dev/pull/3177/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk17u-dev&pr=3177&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8314225
  Stats: 100 lines in 9 files changed: 13 ins; 73 del; 14 mod
  Patch: https://git.openjdk.org/jdk17u-dev/pull/3177.diff
  Fetch: git fetch https://git.openjdk.org/jdk17u-dev.git pull/3177/head:pull/3177

PR: https://git.openjdk.org/jdk17u-dev/pull/3177


More information about the jdk-updates-dev mailing list