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

JFR TestStressAllocationGCEventsWithDefNew.java failed "assert(hash != 0) failed: invariant"

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • 15, 16
    • hotspot
    • jfr
    • x86_64
    • os_x

      The following test failed in the JDK16 CI:

      gc/stress/jfr/TestStressAllocationGCEventsWithDefNew.java

      Here's a snippet from the log file:

      #section:main
      ----------messages:(4/309)----------
      command: main -XX:+UseSerialGC -Xmx64m jdk.jfr.event.gc.detailed.TestStressAllocationGCEventsWithDefNew
      reason: User specified action: run main/othervm -XX:+UseSerialGC -Xmx64m jdk.jfr.event.gc.detailed.TestStressAllocationGCEventsWithDefNew
      Mode: othervm [/othervm specified]
      elapsed time (seconds): 18.799
      ----------configuration:(0/0)----------
      ----------System.out:(34/2479)----------
      Total memory= 64880640 bytes
      Objects size= 1024 bytes
      Starting 9 threads
      For random generator using seed: 5342725214952873788
      To re-run test with same seed value please add "-Djdk.test.lib.random.seed=5342725214952873788" to command line.
      In "Thread-1" old objects count = 3520, recursion depth = 5
      In "Thread-2" old objects count = 3520, recursion depth = 5
      In "Thread-3" old objects count = 3520, recursion depth = 5
      In "Thread-4" old objects count = 3520, recursion depth = 5
      In "Thread-5" old objects count = 3520, recursion depth = 5
      In "Thread-6" old objects count = 3520, recursion depth = 5
      In "Thread-7" old objects count = 3520, recursion depth = 5
      In "Thread-8" old objects count = 3520, recursion depth = 5
      In "Thread-9" old objects count = 3520, recursion depth = 5
      # To suppress the following error report, specify this argument
      # after -XX: or in .hotspotrc: SuppressErrorAt=/jfrTypeSetUtils.cpp:205
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/scratch/mesos/slaves/5be7886d-d0e4-4c6f-811d-b8269e084660-S1551/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/94e1d759-0fa0-4fe6-9214-1f279b1980b5/runs/32cf67c2-87b3-4ad8-982c-c90bbf298539/workspace/open/src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.cpp:205), pid=82553, tid=24067
      # assert(hash != 0) failed: invariant
      #
      # JRE version: Java(TM) SE Runtime Environment (16.0+2) (fastdebug build 16-ea+2-35)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 16-ea+2-35, mixed mode, sharing, tiered, compressed oops, serial gc, bsd-amd64)
      # Core dump will be written. Default location: core.82553
      #
      # JFR recording file will be written. Location: /scratch/mesos/slaves/d510ab24-95c1-4291-ab07-625eb3c5c29e-S200/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/6add05b7-105f-4d27-b76d-a8406f01b1a0/runs/079b3cf8-c674-4564-9437-066c398e0265/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_gc/scratch/1/hs_err_pid82553.jfr
      #
      # An error report file with more information is saved as:
      # /scratch/mesos/slaves/d510ab24-95c1-4291-ab07-625eb3c5c29e-S200/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/6add05b7-105f-4d27-b76d-a8406f01b1a0/runs/079b3cf8-c674-4564-9437-066c398e0265/testoutput/test-support/jtreg_open_test_hotspot_jtreg_hotspot_gc/scratch/1/hs_err_pid82553.log
      #
      # If you would like to submit a bug report, please visit:
      # https://bugreport.java.com/bugreport/crash.jsp
      #
      ----------System.err:(0/0)----------
      ----------rerun:(34/6670)*----------

      Here's the crashing thread's stack:

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

      Current thread (0x00007fd214978820): JavaThread "JFR Recorder Thread" daemon [_thread_in_vm, id=24067, stack(0x00007000060d7000,0x00007000061d7000)]

      Stack: [0x00007000060d7000,0x00007000061d7000], sp=0x00007000061d6300, free space=1020k
      Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.dylib+0x109a18d] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x6ed
      V [libjvm.dylib+0x109a8c1] VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x41
      V [libjvm.dylib+0x564102] report_vm_error(char const*, int, char const*, char const*, ...)+0x142
      V [libjvm.dylib+0x8bb086] JfrSymbolId::mark_hidden_or_anon_klass_name(InstanceKlass const*, bool)+0x146
      V [libjvm.dylib+0x8bb2e5] JfrSymbolId::mark(Klass const*, bool)+0x105
      V [libjvm.dylib+0x8b126c] write_klass(JfrCheckpointWriter*, Klass const*, bool)+0x34c
      V [libjvm.dylib+0x8b0f03] write__klass(JfrCheckpointWriter*, void const*)+0x1b3
      V [libjvm.dylib+0x8b70d4] JfrArtifactCallbackHost<Klass const*, CompositeFunctor<Klass const*, JfrTypeWriterHost<JfrPredicatedTypeWriterImplHost<Klass const*, SerializePredicate<Klass const*>, &(write__klass(JfrCheckpointWriter*, void const*))>, 143u>, KlassArtifactRegistrator> >::do_artifact(void const*)+0xd4
      V [libjvm.dylib+0x8ad199] JfrEpochQueueKlassPolicy<JfrBuffer>::operator()(unsigned char const*, KlassFunctor&, bool)+0x149
      V [libjvm.dylib+0x8acfc4] EpochDispatchOp<JfrEpochQueue<JfrEpochQueueKlassPolicy>::ElementDispatch<KlassFunctor> >::dispatch(bool, unsigned char const*, unsigned long)+0x84
      V [libjvm.dylib+0x8acbf4] void JfrEpochStorageHost<JfrBuffer, JfrMspaceRemoveRetrieval>::iterate<EpochDispatchOp<JfrEpochQueue<JfrEpochQueueKlassPolicy>::ElementDispatch<KlassFunctor> > >(EpochDispatchOp<JfrEpochQueue<JfrEpochQueueKlassPolicy>::ElementDispatch<KlassFunctor> >&, bool)+0xf4
      V [libjvm.dylib+0x8ac393] JfrTraceIdKlassQueue::iterate(void (*)(Klass*), bool)+0x63
      V [libjvm.dylib+0x8b6c2d] do_klasses()+0x4d
      V [libjvm.dylib+0x8b46e8] JfrTypeSet::serialize(JfrCheckpointWriter*, JfrCheckpointWriter*, bool, bool)+0x358
      V [libjvm.dylib+0x843cf5] JfrCheckpointManager::flush_type_set()+0x1b5
      V [libjvm.dylib+0x891a6c] JfrRecorderService::flush()+0x22c
      V [libjvm.dylib+0x890b8e] JfrRecorderService::invoke_flush()+0x2de
      V [libjvm.dylib+0x891bb8] JfrRecorderService::flushpoint()+0x68
      V [libjvm.dylib+0x893db1] recorderthread_entry(JavaThread*, Thread*)+0xd1
      V [libjvm.dylib+0xff3c23] JavaThread::thread_main_inner()+0x2a3
      V [libjvm.dylib+0xfeeec7] Thread::call_run()+0x1b7
      V [libjvm.dylib+0xdb5bef] thread_native_entry(Thread*)+0x15f
      C [libsystem_pthread.dylib+0x3661] _pthread_body+0x154
      C [libsystem_pthread.dylib+0x350d] _pthread_body+0x0
      C [libsystem_pthread.dylib+0x2bf9] thread_start+0xd

            mgronlun Markus Grönlund
            dcubed Daniel Daugherty
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: