Invalid assert(HeapBaseMinAddress > 0) in ReservedHeapSpace::initialize_compressed_heap

XMLWordPrintable

    • b09

        See http://hg.openjdk.java.net/jdk/jdk/file/2e928420389d/src/hotspot/share/memory/virtualspace.cpp#l493

        void ReservedHeapSpace::initialize_compressed_heap(const size_t size, size_t alignment, bool large) {
        ...
          assert(HeapBaseMinAddress > 0, "sanity"); //<<<< HERE

        ==========

        # This is OK
        $ java -XX:HeapBaseMinAddress=0 -version

        # This crashes with a fastdebug JVM
        $ java -Xmx1024m -XX:HeapBaseMinAddress=0

        # To suppress the following error report, specify this argument
        # after -XX: or in .hotspotrc: SuppressErrorAt=/virtualspace.cpp:493
        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (/home/iklam/jdk/abe/open/src/hotspot/share/memory/virtualspace.cpp:493), pid=20182, tid=20183
        # assert(HeapBaseMinAddress > 0) failed: sanity

        ==========

        http://hg.openjdk.java.net/jdk/jdk/file/2e928420389d/src/hotspot/share/runtime/arguments.cpp#l1768

        There is code that ensures HeapBaseMinAddress >= DefaultHeapBaseMinAddress, but that happens only when MaxHeapSize is default, so the assert doesn't match the existing behavior.

        The JVM works just fine if we remove the assert.

              Assignee:
              Ioi Lam
              Reporter:
              Ioi Lam
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: