Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8276429

CodeHeapState::print_names() fails with "assert(klass->is_loader_alive()) failed: must be alive"

XMLWordPrintable

    • b23
    • x86_64, aarch64
    • linux, windows
    • Verified

      The following test fails in the JDK18 CI:

      applications/kitchensink/Kitchensink.java

      Here's a snippet from the log file:

      Output and diagnostic info for process 3224609 was saved into 'pid-3224609-output.log'
      [2021-11-02T21:04:37.791283194Z] Gathering output for process 3224697
      [2021-11-02T21:04:37.808258155Z] Waiting for completion for process 3224697
      [2021-11-02T21:04:37.808422595Z] Waiting for completion finished for process 3224697
      Output and diagnostic info for process 3224697 was saved into 'pid-3224697-output.log'
      [2021-11-02T21:04:37.813218304Z] Gathering output for process 3224700
      [stress.process.out] #
      [stress.process.out] # A fatal error has been detected by the Java Runtime Environment:
      [stress.process.out] #
      [stress.process.out] # Internal Error (/opt/mach5/mesos/work_dir/slaves/35546316-ed70-4084-8244-d672e7734fd1-S13253/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/f77704ac-b76d-4c7d-8401-dd5325679054/runs/63f441e4-7a25-4688-a50d-3e9dff6960a2/workspace/open/src/hotspot/share/code/codeHeapState.cpp:2340), pid=3222834, tid=3222855
      [stress.process.out] # assert(klass->is_loader_alive()) failed: must be alive
      [stress.process.out] #
      [stress.process.out] # JRE version: Java(TM) SE Runtime Environment (18.0+22) (fastdebug build 18-ea+22-1414)
      [stress.process.out] # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 18-ea+22-1414, mixed mode, sharing, tiered, compressed class ptrs, z gc, linux-aarch64)
      [stress.process.out] # Problematic frame:
      [stress.process.out] # V [libjvm.so+0x9a9068] CodeHeapState::print_names(outputStream*, CodeHeap*)+0x1258
      [stress.process.out] #
      [stress.process.out] # 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/ff806ead-2cac-495d-9cbc-62116f99bf14-S23284/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/b9a06c7e-55cd-4be4-a1c3-eac989444256/runs/2796c745-9df8-433b-ad47-569744314e62/testoutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink_java/scratch/0/core.3222834)
      [stress.process.out] #
      [stress.process.out] # JFR recording file will be written. Location: /opt/mach5/mesos/work_dir/slaves/ff806ead-2cac-495d-9cbc-62116f99bf14-S23284/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/b9a06c7e-55cd-4be4-a1c3-eac989444256/runs/2796c745-9df8-433b-ad47-569744314e62/testoutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink_java/scratch/0/hs_err_pid3222834.jfr
      [stress.process.out] #
      [stress.process.out] Unsupported internal testing APIs have been used.
      [stress.process.out]
      [stress.process.out] # An error report file with more information is saved as:
      [stress.process.out] # /opt/mach5/mesos/work_dir/slaves/ff806ead-2cac-495d-9cbc-62116f99bf14-S23284/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/b9a06c7e-55cd-4be4-a1c3-eac989444256/runs/2796c745-9df8-433b-ad47-569744314e62/testoutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink_java/scratch/0/hs_err_pid3222834.log
      [stress.process.out] #
      [stress.process.out] # If you would like to submit a bug report, please visit:
      [stress.process.out] # https://bugreport.java.com/bugreport/crash.jsp
      [stress.process.out] #
      [2021-11-02T21:04:44.006335787Z] Waiting for completion for process 3224700
      [2021-11-02T21:04:44.006476507Z] Waiting for completion finished for process 3224700
      Output and diagnostic info for process 3224700 was saved into 'pid-3224700-output.log'
      [2021-11-02T21:05:44.011122278Z] Gathering output for process 3224749
      [2021-11-02T21:05:44.022057573Z] Waiting for completion for process 3224749
      [2021-11-02T21:05:44.022458492Z] Waiting for completion finished for process 3224749


      Here's the crashing thread's stack:

      --------------- T H R E A D ---------------

      Current thread (0x0000fffe803815c0): JavaThread "Attach Listener" daemon [_thread_in_vm, id=3222855, stack(0x0000fffe59c00000,0x0000fffe59e00000)]

      Stack: [0x0000fffe59c00000,0x0000fffe59e00000], sp=0x0000fffe59dfe350, free space=2040k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x9a9068] CodeHeapState::print_names(outputStream*, CodeHeap*)+0x1258
      V [libjvm.so+0x99406c] CodeCache::print_names(outputStream*)+0x14c
      V [libjvm.so+0x9e26e8] CompileBroker::print_heapinfo(outputStream*, char const*, unsigned long)+0x288
      V [libjvm.so+0xb17aa0] DCmd::parse_and_execute(DCmdSource, outputStream*, char const*, char, JavaThread*)+0x1c0
      V [libjvm.so+0x66e664] jcmd(AttachOperation*, outputStream*)+0x64
      V [libjvm.so+0x6702c4] attach_listener_thread_entry(JavaThread*, JavaThread*)+0x4b0
      V [libjvm.so+0x1755f04] JavaThread::thread_main_inner()+0x284
      V [libjvm.so+0x175c388] Thread::call_run()+0xf8
      V [libjvm.so+0x1489cf4] thread_native_entry(Thread*)+0x104
      C [libpthread.so.0+0x7738] start_thread+0x198


      This test failure occurred in jdk-18+22-1414-tier3 which includes this fix:

      JDK-8275729 Qualified method names in CodeHeap Analytics

            eastigeevich Evgeny Astigeevich
            dcubed Daniel Daugherty
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: