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

CDS dynamic dump asserts in ArchivePtrBitmapCleaner::do_bit

XMLWordPrintable

    • b16

      When testing JDK-8240839 (CDS hangs when dumping shared archive for Kitchensink) with a debug VM, the following assert happened:

      # Internal Error (src/hotspot/share/memory/archiveUtils.cpp:90), pid=2026, tid=2306
      # assert(_relocatable_base <= ptr_value && ptr_value < _relocatable_end) failed: do not point to arbitrary locations!
      #
      # JRE version: Java(TM) SE Runtime Environment (15.0) (slowdebug build 15-internal+0-adhoc.iklam.open)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (slowdebug 15-internal+0-adhoc.iklam.open, mixed mode, sharing, tiered, compressed oops, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0xd61411] ArchivePtrBitmapCleaner::do_bit(unsigned long)+0x5f
      #
      [...]
      #5 0x00007ffff653c145 in report_vm_error (file=0x7ffff57b4250 "src/hotspot/share/memory/archiveUtils.cpp", line=90,
          error_msg=0x7ffff57b43b8 "assert(_relocatable_base <= ptr_value && ptr_value < _relocatable_end) failed", detail_fmt=0x7ffff57b4390 "do not point to arbitrary locations!")
          at src/hotspot/share/utilities/debug.cpp:264
      #6 0x00007ffff6270438 in ArchivePtrBitmapCleaner::do_bit (this=0x7fffaf67c260, offset=126369) at src/hotspot/share/memory/archiveUtils.cpp:90
      #7 0x00007ffff62e9191 in BitMap::iterate (this=0x7fffaf67c400, blk=0x7fffaf67c260, leftOffset=0, rightOffset=3146938)
          at src/hotspot/share/utilities/bitMap.cpp:639
      #8 0x00007ffff627026d in BitMap::iterate (this=0x7fffaf67c400, blk=0x7fffaf67c260) at src/hotspot/share/utilities/bitMap.hpp:290
      #9 0x00007ffff6270047 in ArchivePtrMarker::compact (relocatable_base=0x800000000 "I\272", relocatable_end=0x801caaa08 "")
          at src/hotspot/share/memory/archiveUtils.cpp:108
      #10 0x00007ffff6615457 in DynamicArchiveBuilder::relocate_buffer_to_target (this=0x7ffff7fa72c0) at src/hotspot/share/memory/dynamicArchive.cpp:968
      #11 0x00007ffff6618aa7 in DynamicArchiveBuilder::doit (this=0x7ffff7fa72c0) at src/hotspot/share/memory/dynamicArchive.cpp:668
      #12 0x00007ffff6618ed7 in VM_PopulateDynamicDumpSharedSpace::doit (this=0x7ffff7fa7290) at src/hotspot/share/memory/dynamicArchive.cpp:1059
      #13 0x00007ffff6f29dae in VM_Operation::evaluate (this=0x7ffff7fa7290) at src/hotspot/share/runtime/vmOperations.cpp:67
      #14 0x00007ffff6f60c0a in VMThread::evaluate_operation (this=0x7ffff05bf800, op=0x7ffff7fa7290) at src/hotspot/share/runtime/vmThread.cpp:374
      [...]

      (gdb) frame 6
      #6 0x00007ffff6270438 in ArchivePtrBitmapCleaner::do_bit (this=0x7fffaf67c260, offset=126369) at src/hotspot/share/memory/archiveUtils.cpp:90
      90 assert(_relocatable_base <= ptr_value && ptr_value < _relocatable_end, "do not point to arbitrary locations!");
      (gdb) p _relocatable_base
      $2 = (address) 0x800000000
      (gdb) p _relocatable_end
      $3 = (address) 0x801caaa08
      (gdb) p ptr_value
      $4 = (address) 0x7ffba5534ca0
      (gdb) p ptr_loc
      $5 = (address *) 0x7fff1054cd08
      (gdb) call find(0x7ffba5534ca0)

      "Executing find"
      {method} {0x00007ffba5534ca0} 'toString' '()Ljava/lang/String;' in 'java/lang/Throwable'

      (gdb) x/gx ptr_loc
      0x7fff1054cd08: 0x00007ffba5534ca0
      (gdb)
      0x7fff1054cd10: 0x00000008000077b8
      (gdb)
      0x7fff1054cd18: 0x0000000800007830
      (gdb)
      0x7fff1054cd20: 0x00007ffba55344d0
      (gdb)
      0x7fff1054cd28: 0x00007ffba55345a0
      (gdb)
      0x7fff1054cd30: 0x00007ffba5534670
      (gdb) call find(0x00007ffba55344d0)

      "Executing find"
      {method} {0x00007ffba55344d0} 'printStackTrace' '()V' in 'java/lang/Throwable'
      (gdb) call find(0x00007ffba55345a0)

      "Executing find"
      {method} {0x00007ffba55345a0} 'printStackTrace' '(Ljava/io/PrintStream;)V' in 'java/lang/Throwable'

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

              Created:
              Updated:
              Resolved: