[11u] RFC: Stack dump improvements

Aleksey Shipilev shade at redhat.com
Wed Jan 26 10:59:33 UTC 2022


Hi,

I was looking at customer support case in 11u recently, which looks like yet another a class 
initialization deadlock. JDK 12+ has two very good improvements to stack dumps, would these 
backports be acceptable?

I am asking because the dependency tree between these issues is a bit complicated, and it would 
probably raise questions if I suggest 6 dependent backports at once. So I though I'd give an 
overview here.

The dependency tree looks like this:

  - JDK-8150689: Thread dump report "waiting to re-lock in wait()" shows incorrectly
    - JDK-8214499: SA should follow 8150689
    - JDK-8214148: [TESTBUG] serviceability/tmtools/jstack/WaitNotifyThreadTest.java...
       - JDK-8215050: [TESTBUG] serviceability/tmtools/jstack/WaitNotifyThreadTest.java...
    - JDK-8213397: Stack dump should show more clearly when a thread is blocked...
       - JDK-8217337: [TESTBUG] TestThreadDumpClassInitMonitor.java fails with Unexpected

The key issues are JDK-8150689 and JDK-8213397. JDK-8150689 is apparently a regression from JDK 9. 
Doing JDK-8150689 before JDK-8213397 makes all backports clean. The rest are SA/testbug fixups.

The overall change is not large:

$ git diff master --stat
  src/hotspot/share/oops/instanceKlass.cpp                                    |  23 +++++----
  src/hotspot/share/runtime/thread.cpp                                        |   3 +-
  src/hotspot/share/runtime/thread.hpp                                        |  10 ++++
  src/hotspot/share/runtime/thread.inline.hpp                                 |  12 +++++
  src/hotspot/share/runtime/vframe.cpp                                        |  33 +++++-------
  src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/OopUtilities.java  |  22 ++++----
  src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/JavaVFrame.java |  14 ++----
  test/hotspot/jtreg/runtime/Thread/TestThreadDumpClassInitMonitor.java       | 202 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  test/hotspot/jtreg/serviceability/tmtools/jstack/WaitNotifyThreadTest.java  |  53 ++++++++++----------
  9 files changed, 293 insertions(+), 79 deletions(-)

I ran the composite patch through tier{1,2,3} and jdk_svc on Linux x86_64 {fastdebug,release} 
without problems.

Thoughts?

-- 
Thanks,
-Aleksey



More information about the jdk-updates-dev mailing list