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

[REDO] Allow Klass::_subklass and _next_sibling to have unloaded classes

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2
    • Resolution: Fixed
    • Affects Version/s: 12
    • Fix Version/s: 12
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b23
    • Verification:
      Verified

      Description


      Adding the Compile_lock in InstanceKlass::verify() for RFE JDK-8212958 can deadlock the VMThread:

      Thread 9 (Thread 0x7f0e875fd700 (LWP 17592)):
      #0 0x00007f0ec3b7c6d5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
      #1 0x00007f0ec28779cb in os::PlatformEvent::park() () from /scratch/opt/mach5/mesos/work_dir/jib-master/install/jdk12-jdk.742/linux-x64-debug.jdk/jdk-12/fastdebug/lib/server/libjvm.so
      #2 0x00007f0ec27c3620 in Monitor::ILock(Thread*) () from /scratch/opt/mach5/mesos/work_dir/jib-master/install/jdk12-jdk.742/linux-x64-debug.jdk/jdk-12/fastdebug/lib/server/libjvm.so
      #3 0x00007f0ec27c705e in Monitor::lock(Thread*) () from /scratch/opt/mach5/mesos/work_dir/jib-master/install/jdk12-jdk.742/linux-x64-debug.jdk/jdk-12/fastdebug/lib/server/libjvm.so
      #4 0x00007f0ec2226403 in InstanceKlass::verify_on(outputStream*) () from /scratch/opt/mach5/mesos/work_dir/jib-master/install/jdk12-jdk.742/linux-x64-debug.jdk/jdk-12/fastdebug/lib/server/libjvm.so
      #5 0x00007f0ec1fc3e26 in DictionaryEntry::verify() () from /scratch/opt/mach5/mesos/work_dir/jib-master/install/jdk12-jdk.742/linux-x64-debug.jdk/jdk-12/fastdebug/lib/server/libjvm.so
      #6 0x00007f0ec2194713 in void BasicHashtable<(MemoryType)1>::verify_table<DictionaryEntry>(char const*) () from /scratch/opt/mach5/mesos/work_dir/jib-master/install/jdk12-jdk.742/linux-x64-debug.jdk/jdk-12/fastdebug/lib/server/libjvm.so
      #7 0x00007f0ec1fc3fdb in Dictionary::verify() () from /scratch/opt/mach5/mesos/work_dir/jib-master/install/jdk12-jdk.742/linux-x64-debug.jdk/jdk-12/fastdebug/lib/server/libjvm.so
      #8 0x00007f0ec1d5e60d in ClassLoaderDataGraph::verify_dictionary() () from /scratch/opt/mach5/mesos/work_dir/jib-master/install/jdk12-jdk.742/linux-x64-debug.jdk/jdk-12/fastdebug/lib/server/libjvm.so
      #9 0x00007f0ec2b02e9c in SystemDictionary::verify() () from /scratch/opt/mach5/mesos/work_dir/jib-master/install/jdk12-jdk.742/linux-x64-debug.jdk/jdk-12/fastdebug/lib/server/libjvm.so
      #10 0x00007f0ec2bc14cb in Universe::verify(VerifyOption, char const*) () from /scratch/opt/mach5/mesos/work_dir/jib-master/install/jdk12-jdk.742/linux-x64-debug.jdk/jdk-12/fastdebug/lib/server/libjvm.so
      #11 0x00007f0ec2c7f034 in VMThread::run() () from /scratch/opt/mach5/mesos/work_dir/jib-master/install/jdk12-jdk.742/linux-x64-debug.jdk/jdk-12/fastdebug/lib/server/libjvm.so
      #12 0x00007f0ec2b716ed in Thread::call_run() () from /scratch/opt/mach5/mesos/work_dir/jib-master/install/jdk12-jdk.742/linux-x64-debug.jdk/jdk-12/fastdebug/lib/server/libjvm.so
      #13 0x00007f0ec2868d46 in thread_native_entry(Thread*) () from /scratch/opt/mach5/mesos/work_dir/jib-master/install/jdk12-jdk.742/linux-x64-debug.jdk/jdk-12/fastdebug/lib/server/libjvm.so
      #14 0x00007f0ec3b78dc5 in start_thread () from /lib64/libpthread.so.0
      #15 0x00007f0ec36a51ed in clone () from /lib64/libc.so.6

      Need to use GCMutexLocker like other verify functions.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                eosterlund Erik Ă–sterlund
                Reporter:
                coleenp Coleen Phillimore
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: