- 
    Sub-task 
- 
    Resolution: Fixed
- 
     P4 P4
- 
    18
- 
        b15
| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build | 
|---|---|---|---|---|---|---|
| JDK-8318924 | 17.0.10 | Goetz Lindenmaier | P4 | Resolved | Fixed | b01 | 
Using a stringStream to compose messages outside the ttyLock, reduces the scope of the lock, at least during deoptimization.
This is one place where the inversion is that requires StackWatermark_lock to be a lower rank than tty.
Stack: [0x00007f5e3e11c000,0x00007f5e3e21d000], sp=0x00007f5e3e2173e0, free space=1004k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x1500cde] Mutex::check_rank(Thread*)+0xfe
V [libjvm.so+0x1501661] Mutex::lock_without_safepoint_check(Thread*)+0x51
V [libjvm.so+0x18c4e6c] StackWatermark::process_one()+0x1c
V [libjvm.so+0x18c5d29] StackWatermarkSet::on_iteration(JavaThread*, frame const&)+0x89
V [libjvm.so+0xbf4afd] frame::frame_size(RegisterMap*) const+0x11d
V [libjvm.so+0x1abc977] javaVFrame::print_value() const+0x3b7
V [libjvm.so+0xaceb2c] Deoptimization::create_vframeArray(JavaThread*, frame, RegisterMap*, GrowableArray<compiledVFrame*>*, bool)+0x1bc
Here's another:
V [libjvm.so+0x175889c] StackWatermark::process_one()+0x1c
V [libjvm.so+0x1759769] StackWatermarkSet::on_iteration(JavaThread*, frame const&)+0x89
V [libjvm.so+0xbc85a5] frame::sender(RegisterMap*) const+0x105
V [libjvm.so+0x19d70cd] WB_VerifyFrames+0x2dd
j sun.hotspot.WhiteBox.verifyFrames(ZZ)V+0
- backported by
- 
                    JDK-8318924 Do not hold ttyLock around stack walking -           
- Resolved
 
-         
- relates to
- 
                    JDK-8273629 compiler/uncommontrap/TestDeoptOOM.java fails with release VMs -           
- Resolved
 
-         
- 
                    JDK-8273635 Attempting to acquire lock StackWatermark_lock/9 out of order with lock tty_lock/3 -           
- Resolved
 
-         
- 
                    JDK-8273636 compiler/uncommontrap/TestDeoptOOM.java#id1 failed with "Error: VM option 'LogCompilation' is diagnostic and must be enabled via -XX:+UnlockDiagnosticVMOptions." -           
- Closed
 
-         
- links to
- 
                     Commit
        openjdk/jdk17u-dev/93127b4e Commit
        openjdk/jdk17u-dev/93127b4e
- 
                     Commit
        openjdk/jdk/461a467f Commit
        openjdk/jdk/461a467f
- 
                     Review
        openjdk/jdk17u-dev/1911 Review
        openjdk/jdk17u-dev/1911
- 
                     Review
        openjdk/jdk/5445 Review
        openjdk/jdk/5445