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

CMS: cmsOopClosures.inline.hpp:43 assert(..., "Should remember klasses in this context")

XMLWordPrintable

    • gc
    • b83
    • generic
    • generic
    • Verified

        Does not fail if you use the following flags instead:-
        ... -XX:+CMSClassUnloadingEnabled -XX:+ExplicitGCInvokesConcurret

        Started failing after h17b01 when 6798898 introduced this assert.
        Indentical behaviour with hs16-latest as well.

        If i suppress the assert, then the program runs happily, even passes
        heap verification.
        Run specjvm98 with -XX:+UseConcMarkSweepGC -XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses using a debug jvm.
        It'll fail the following assertion:-

        VM option '+PrintGCDetails'
        VM option '+UseConcMarkSweepGC'
        VM option '+ExplicitGCInvokesConcurrentAndUnloadsClasses'
        VM option '+ShowMessageBoxOnError'
        Speed will be 100
        Will run each benchmark at most 5 times
        Will run each benchmark at least 5 times
        Will gc in between benchmarks
        Will delay 3000 ms in between benchmarks
        [GC [ParNew: 532K->141K(14784K), 0.0249376 secs] 532K->141K(63936K), 0.0259883 secs] [Times: user=0.05 sys=0.00, real=0.03 secs]
        [GC [1 CMS-initial-mark: 0K(49152K)] 141K(63936K), 0.0177653 secs] [Times: user=0.02 sys=0.00, real=0.02 secs]
        # To suppress the following error report, specify this argument
        # after -XX: or in .hotspotrc: SuppressErrorAt=/cmsOopClosures.inline.hpp:43
        ==============================================================================
        Unexpected Error
        ------------------------------------------------------------------------------
        Internal Error at cmsOopClosures.inline.hpp:43, pid=7193, tid=5
        Error: assert(_should_remember_klasses == must_remember_klasses(),"Should remember klasses in this context.")

        Do you want to debug the problem?

        To debug, run 'dbx - 7193'; then switch to thread 5
        Enter 'yes' to launch dbx automatically (PATH must include dbx)
        Otherwise, press RETURN to abort...
        ==============================================================================

        =>[1] _waitid(0x0, 0x1c1e, 0xf1f7f0e0, 0x3, 0xff2eecc8, 0x4), at 0xff2c1dd0
          [2] _waitpid(0x1c1e, 0xf1f7f244, 0x0, 0x1c1e, 0xfa6e0800, 0x0), at 0xff26852c
          [3] waitpid(0x1c1e, 0xf1f7f244, 0x0, 0x0, 0xfa6e0800, 0xff2eec80), at 0xff2b4bfc
          [4] os::fork_and_exec(0xfefc9730, 0xfefc9730, 0xfeb9d263, 0x9a400, 0xffc7eb5e, 0xfeb9d266), at 0xfdcd8f1c
          [5] VMError::report_and_die(0xf1f7f3a4, 0x5a800, 0x5, 0x9b800, 0xfef9f66c, 0xab000), at 0xfe094dd8
          [6] report_assertion_failure(0xfe5938ac, 0x2b, 0xfe593915, 0x5aa87, 0xfef1e708, 0x5a800), at 0xfd341918
          [7] KlassRememberingOopClosure::should_remember_klasses(0xf1f7f630, 0xfef79400, 0x1, 0xfe593800, 0xfe593800, 0x0), at 0xfd302c2c
          [8] klassKlass::oop_oop_iterate(0x1e, 0xf1f7f514, 0xf1f7f630, 0x0, 0xfd42a30c, 0xfd2f51b8), at 0xfda6a730
          [9] Klass::oop_oop_iterate_nv(0xf6400008, 0xf1f7f620, 0xfda6a328, 0xfef8fccc, 0x0, 0xf6400000), at 0xfcef8be4
          [10] MarkFromRootsClosure::scanOopsInOop(0xf1f7f7f8, 0xf6400000, 0xf1f7f620, 0xf1f7f66c, 0xfef79638, 0xf1f7f630), at 0xfd2f2370
          [11] MarkFromRootsClosure::do_bit(0xf1f7f7f8, 0x7000000, 0x1c00000, 0xfe5b4a13, 0xf6400000, 0x40000001), at 0xfd2f1340
          [12] BitMap::iterate(0xa5318, 0xf1f7f7f8, 0xc00000, 0x1c00000, 0x60000, 0xfef1e708), at 0xfcf69d5c
          [13] CMSCollector::do_marking_st(0xa51f0, 0xfef9e000, 0xfa6, 0xfef9e104, 0x7d3704, 0x7d38a2), at 0xfd2de51c
          [14] CMSCollector::markFromRoots(0xa51f0, 0x1, 0xfef3fecc, 0xfe5a0ca8, 0xfef3fc00, 0x1), at 0xfd2d93a0
          [15] CMSCollector::collect_in_background(0xa51f0, 0xfef9e104, 0xa5628, 0x44020, 0xfef68800, 0x1), at 0xfd2d3a54
          [16] ConcurrentMarkSweepThread::run(0xc5c00, 0x0, 0x44020, 0x7d0, 0xfef9a000, 0xfef79400), at 0xfd3034a4
          [17] java_start(0xc5c00, 0x80379, 0xfef1e708, 0xa8c00, 0x4, 0x0), at 0xfdcc89f0

              jmasa Jon Masamitsu (Inactive)
              ysr Y. Ramakrishna
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: