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

Shenandoah: after updaterefs verification reports confusing error message

XMLWordPrintable

    • gc

      After updating references, verifier should run before cset is destroyed. Otherwise, verifier may output some confusing message, e.g.


      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/home/zgu/ws/jdk/src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp:91), pid=3813852, tid=3813887
      # Error: After Updating References, Reachable; Object should be in active region

      Referenced from:
        interior location: 0x00000000d0d64028
        0x00000000d0d63ea8 - klass 0x00000008000362f8 jdk.internal.vm.StackChunk
              allocated after mark start
              after update watermark
              marked strong
              marked weak
          not in collection set
        mark: mark(is_neutral no_hash age=0)
        region: | 53|R |BTE d0d40000, d0d80000, d0d80000|TAMS d0d40000|UWM d0d40000|U 256K|T 256K|G 0B|S 0B|L 0B|CP 0

      Object:
        0x00000000e4ae56b0 - klass 0x0000000801001510 Skynet$Channel
          not allocated after mark start
          not after update watermark
              marked strong
          not marked weak
          not in collection set <==== this is confusing, since the object has legit forwardee
         mark: marked(0x00000000ffd6b82b)
        region: | 1323|T |BTE e4ac0000, e4b00000, e4b00000|TAMS e4b00000|UWM e4b00000|U 256K|T 256K|G 0B|S 0B|L 162K|CP 0

      Forwardee:
        0x00000000ffd6b828 - safe print, no details
        region: | 3061|R |BTE ffd40000, ffd80000, ffd80000|TAMS ffd40000|UWM ffd80000|U 256K|T 0B|G 256K|S 0B|L 0B|CP 0

      It shows that object is not in cset and has legit forwardee - confusing.

            Unassigned Unassigned
            zgu Zhengyu Gu
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: