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

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

    XMLWordPrintable

    Details

    • Subcomponent:
    • Resolved In Build:
      b09

      Backports

        Description

        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.

          Attachments

            Issue Links

              Activity

                People

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

                  Dates

                  Created:
                  Updated:
                  Resolved: