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

runtime/ParallelClassLoading/bootstrap/random/inner-complex hits G1 assert

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: P2 P2
    • 9
    • 9
    • hotspot
    • gc
    • x86_64
    • linux

      While chasing the following bug:

      JDK-8047212 runtime/ParallelClassLoading/bootstrap/random/inner-complex assert(ObjectSynchronizer::verify_objmon_isinpool(inf)) failed: monitor is invalid

      I ran into this assertion failure:

      # Internal Error (/work/shared/bug_hunt/8047212_for_jdk9_hs_rt/hotspot/src/share/vm/gc/g1/vm_operations_g1.cpp:71), pid=3640, tid=3746
      # guarantee(target_pause_time_ms > 0.0) failed: target_pause_time_ms = -0.000000 should be positive
      #
      # JRE version: Java(TM) SE Runtime Environment (9.0) (build 1.9.0-internal-fastdebug-ddaugher_2015_10_15_17_35-b00)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (1.9.0-internal-fastdebug-ddaugher_2015_10_15_17_35-b00, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)

      Here is a snippet of the hs_err_pid file:

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

      Current thread (0x00007f1efc318000): JavaThread "Loading Thread #8" [_thread_in_vm, id=3746, stack(0x00007f1ee80fc000,0x00007f1ee81fd000)]
      Stack: [0x00007f1ee80fc000,0x00007f1ee81fd000], sp=0x00007f1ee81fae30, free sp
      ace=1019k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x113eec5] VMError::report_and_die(int, char const*, char const*,
       __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsign
      ed long)+0x155
      V [libjvm.so+0x113fbfa] VMError::report_and_die(Thread*, char const*, int, cha
      r const*, char const*, __va_list_tag*)+0x4a
      V [libjvm.so+0x82bfb4] report_vm_error(char const*, int, char const*, char const*, ...)+0xd4
      V [libjvm.so+0x116cee8] VM_G1IncCollectionPause::VM_G1IncCollectionPause(unsig
      ned int, unsigned long, bool, double, GCCause::Cause)+0xa8
      V [libjvm.so+0x92f362] G1CollectedHeap::do_collection_pause(unsigned long, unsigned int, bool*, GCCause::Cause)+0x172
      V [libjvm.so+0x92fcf4] G1CollectedHeap::attempt_allocation_slow(unsigned long, unsigned char, unsigned int*, unsigned int*)+0x784
      V [libjvm.so+0x944fae] G1CollectedHeap::attempt_allocation(unsigned long, unsi
      gned int*, unsigned int*)+0x15e
      V [libjvm.so+0x9392c2] G1CollectedHeap::allocate_new_tlab(unsigned long)+0x82
      V [libjvm.so+0x770371] CollectedHeap::allocate_from_tlab_slow(KlassHandle, Thr
      ead*, unsigned long)+0x1b1
      V [libjvm.so+0xa73068] InstanceKlass::allocate_instance(Thread*)+0x608
      V [libjvm.so+0xa9fd14] InterpreterRuntime::_new(JavaThread*, ConstantPool*, int)+0x2b4
      j sun.misc.URLClassPath.<init>([Ljava/net/URL;Ljava/net/URLStreamHandlerFactory;)V+38
      j sun.misc.URLClassPath.<init>([Ljava/net/URL;)V+3j java.net.URLClassLoader.<init>([Ljava/net/URL;)V+33
      j runtime.ParallelClassLoading.shared.ProvokeType.provoke(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V+15
      j runtime.ParallelClassLoading.shared.CustomProvokeType.provoke(Ljava/lang/ClassLoader;Ljava/lang/String;)V+10
      j runtime.ParallelClassLoading.shared.ClassLoadingThread.run()V+83v ~StubRoutines::call_stub
      V [libjvm.so+0xabf487] JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0x17b7
      V [libjvm.so+0xabbf8a] JavaCalls::call_virtual(JavaValue*, KlassHandle, Symbol*, Symbol*, JavaCallArguments*, Thread*)+0x61a
      V [libjvm.so+0xabc107] JavaCalls::call_virtual(JavaValue*, Handle, KlassHandle, Symbol*, Symbol*, Thread*)+0xb7
      V [libjvm.so+0xb97934] thread_entry(JavaThread*, Thread*)+0xc4
      V [libjvm.so+0x10c14b6] JavaThread::thread_main_inner()+0x1d6
      V [libjvm.so+0x10c17e4] JavaThread::run()+0x2a4
      V [libjvm.so+0xe8ea0a] java_start(Thread*)+0xca
      C [libpthread.so.0+0x7851]

      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      j sun.misc.URLClassPath.<init>([Ljava/net/URL;Ljava/net/URLStreamHandlerFactory;)V+38
      j sun.misc.URLClassPath.<init>([Ljava/net/URL;)V+3
      j java.net.URLClassLoader.<init>([Ljava/net/URL;)V+33
      j runtime.ParallelClassLoading.shared.ProvokeType.provoke(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V+15
      j runtime.ParallelClassLoading.shared.CustomProvokeType.provoke(Ljava/lang/ClassLoader;Ljava/lang/String;)V+10
      j runtime.ParallelClassLoading.shared.ClassLoadingThread.run()V+83
      v ~StubRoutines::call_stub


      My baseline is a clone of RT_Baseline at the following fix:

      $ hg -R hotspot/ log -r tip
      changeset: 9016:59e6f265dd40
      tag: tip
      user: aharlap
      date: Wed Sep 30 18:09:40 2015 -0400
      summary: 8130265: gctests/LargeObjects/large001 fails with OutOfMemoryError: Java heap space

      $ cat 2015-10-01-144936.jesper.8130265/SourceTips.txt
       .:34280222936a jdk:8a9a7b1a3210 jaxp:497bc2654e11 pubs:618464525123 corba:ca8a17195884 jaxws:bdb954839363 closed:57176e80ab18 hotspot:59e6f265dd40 nashorn:678db05f13ba langtools:8e76163b3f3a jdk/src/closed:59bd18af2265 jdk/make/closed:54d0705354f2 jdk/test/closed:de2be51ab426 hotspot/src/closed:002bf5205dcd hotspot/make/closed:d70cd66cf2f4 hotspot/test/closed:5524c847f372

      My testing config is running 4 parallel test runs using the following locally built bits:

      $ /work/shared/bug_hunt/8047212_for_jdk9_hs_rt/build/linux-x86_64-normal-server-fastdebug/images/jdk/bin/java -version
      java version "1.9.0-internal-fastdebug"
      Java(TM) SE Runtime Environment (build 1.9.0-internal-fastdebug-ddaugher_2015_10_15_17_35-b00)
      Java HotSpot(TM) 64-Bit Server VM (build 1.9.0-internal-fastdebug-ddaugher_2015_10_15_17_35-b00, mixed mode)

      $ /work/shared/bug_hunt/8047212_for_jdk9_hs_rt/build/linux-x86_64-normal-server-fastdebug/images/jdk/bin/java -Xinternalversion
      Java HotSpot(TM) 64-Bit Server VM (1.9.0-internal-fastdebug-ddaugher_2015_10_15_17_35-b00) for linux-amd64 JRE (1.9.0-internal-ddaugher_2015_10_15_17_35-b00), built on Oct 15 2015 18:09:47 by "ddaugher" with gcc 4.8.2

      $ elapsed_times mark.start_test_run hs_err_pid3640.log
      mark.start_test_run 0 seconds
      hs_err_pid3640.log 14 hours 3 minutes 14 seconds

      I'm attaching hs_err_pid3640.log.

            aharlap Alexander Harlap (Inactive)
            dcubed Daniel Daugherty
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: