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

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.

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

                Created:
                Updated:
                Resolved: