JDK-8274245 : sun/tools/jmap/BasicJMapTest.java Mutex rank failures
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 18
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2021-09-24
  • Updated: 2021-12-15
  • Resolved: 2021-09-30
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 18
18 b18Fixed
Related Reports
Relates :  
Relates :  
Sub Tasks
JDK-8274294 :  
JDK-8274313 :  
Description
The test sun/tools/jmap/BasicJMapTest.java fails with Mutex rank violations due to the changes for JDK-8273915.

#  Internal Error (/scratch/cphillim/hg/18test/src/hotspot/share/runtime/mutex.cpp:291), pid=14632, tid=14677
#  assert(_rank <= nosafepoint || _safepoint_check_required == _safepoint_check_always) failed: Locks above nosafepoint rank should safepoint: Dumper Controller lock
#

When the ranks are fixed, the test also gets:

#  Internal Error (/scratch/cphillim/hg/18test/src/hotspot/share/runtime/mutex.cpp:390), pid=33218, tid=33341
#  assert(false) failed: Attempting to wait on monitor HProfCompressionBackend_lock/20 while holding lock ParallelHProfWriter_lock/21 -- possible deadlock. Should not block(wait) while holding a lock of rank nosafepoint or below.
#

Because of some old check in the mutex rank checking where it assumed special was the least ranked lock.

Comments
Changeset: bfd61634 Author: Lin Zang <lzang@openjdk.org> Date: 2021-09-30 14:44:59 +0000 URL: https://git.openjdk.java.net/jdk/commit/bfd616347126a802c641326a6be5a14c4cd7af90
30-09-2021

ILW = HLH = P2
28-09-2021

Hi Daniel, I believe the three issues can be fixed by https://github.com/openjdk/jdk/pull/5681. Thanks, Lin
24-09-2021

I've spotted three different failure modes: sun/tools/jmap/BasicJMapTest.java#Z # To suppress the following error report, specify this argument # after -XX: or in .hotspotrc: SuppressErrorAt=/mutex.cpp:291 # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (/opt/mach5/mesos/work_dir/slaves/35546316-ed70-4084-8244-d672e7734fd1-S13310/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/94b15eb7-932c-4908-8a12-1077124f2ac3/runs/1526910e-3a44-491a-b5a8-c5c6e7845609/workspace/open/src/hotspot/share/runtime/mutex.cpp:291), pid=1050318, tid=1050356 # assert(_rank <= nosafepoint || _safepoint_check_required == _safepoint_check_always) failed: Locks above nosafepoint rank should safepoint: Parallel HProf writer lock # # JRE version: Java(TM) SE Runtime Environment (18.0+17) (fastdebug build 18-ea+17-949) # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 18-ea+17-949, mixed mode, sharing, tiered, compressed class ptrs, z gc, linux-aarch64) # Problematic frame: # V [libjvm.so+0x13e68b8] Mutex::Mutex(int, char const*, Mutex::SafepointCheckRequired, bool)+0xd4 # # Core dump will be written. Default location: Core dumps may be processed with "/opt/core.sh %p" (or dumping to /opt/mach5/mesos/work_dir/slaves/35546316-ed70-4084-8244-d672e7734fd1-S13250/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/2723360e-d58f-4837-9fda-403a9babd5ca/runs/485c5b8f-6ed8-4124-8a08-fbb6dd95d412/testoutput/test-support/jtreg_open_test_jdk_jdk_svc/scratch/2/core.1050318) # # An error report file with more information is saved as: # /opt/mach5/mesos/work_dir/slaves/35546316-ed70-4084-8244-d672e7734fd1-S13250/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/2723360e-d58f-4837-9fda-403a9babd5ca/runs/485c5b8f-6ed8-4124-8a08-fbb6dd95d412/testoutput/test-support/jtreg_open_test_jdk_jdk_svc/scratch/2/hs_err_pid1050318.log # # If you would like to submit a bug report, please visit: # https://bugreport.java.com/bugreport/crash.jsp # sun/tools/jmap/BasicJMapTest.java#Serial # To suppress the following error report, specify this argument # after -XX: or in .hotspotrc: SuppressErrorAt=/heapDumper.cpp:1883 # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (/opt/mach5/mesos/work_dir/slaves/35546316-ed70-4084-8244-d672e7734fd1-S13310/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/94b15eb7-932c-4908-8a12-1077124f2ac3/runs/1526910e-3a44-491a-b5a8-c5c6e7845609/workspace/open/src/hotspot/share/services/heapDumper.cpp:1883), pid=1049779, tid=1049784 # assert(_num_writer_threads >= 1) failed: Must be at least one writer # # JRE version: Java(TM) SE Runtime Environment (18.0+17) (fastdebug build 18-ea+17-949) # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 18-ea+17-949, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, serial gc, linux-aarch64) # Problematic frame: # V [libjvm.so+0xd5f4b4] VM_HeapDumper::work(unsigned int)+0x8f4 # # Core dump will be written. Default location: Core dumps may be processed with "/opt/core.sh %p" (or dumping to /opt/mach5/mesos/work_dir/slaves/35546316-ed70-4084-8244-d672e7734fd1-S13250/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/2723360e-d58f-4837-9fda-403a9babd5ca/runs/485c5b8f-6ed8-4124-8a08-fbb6dd95d412/testoutput/test-support/jtreg_open_test_jdk_jdk_svc/scratch/1/core.1049779) # # An error report file with more information is saved as: # /opt/mach5/mesos/work_dir/slaves/35546316-ed70-4084-8244-d672e7734fd1-S13250/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/2723360e-d58f-4837-9fda-403a9babd5ca/runs/485c5b8f-6ed8-4124-8a08-fbb6dd95d412/testoutput/test-support/jtreg_open_test_jdk_jdk_svc/scratch/1/hs_err_pid1049779.log # # If you would like to submit a bug report, please visit: # https://bugreport.java.com/bugreport/crash.jsp # sun/tools/jmap/BasicJMapTest.java#Serial # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x0000000104da775a, pid=85362, tid=19715 # # JRE version: Java(TM) SE Runtime Environment (18.0+17) (fastdebug build 18-ea+17-949) # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 18-ea+17-949, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, serial gc, bsd-amd64) # Problematic frame: # V [libjvm.dylib+0x81675a] DumperController::start_dump()+0xa # # Core dump will be written. Default location: core.85362 # # An error report file with more information is saved as: # /System/Volumes/Data/mesos/work_dir/slaves/a2dc162d-743b-4800-9e92-31f85abb45b1-S4700/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/ac84a07c-eb4d-4178-bbfd-50bb02fd8ace/runs/f7a3fe43-2ada-44b2-b140-b1a359b9ab6e/testoutput/test-support/jtreg_open_test_jdk_jdk_svc/scratch/2/hs_err_pid85362.log # # If you would like to submit a bug report, please visit: # https://bugreport.java.com/bugreport/crash.jsp #
24-09-2021