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

Shenandoah: Don't race with conc-weak-in-progress flag in weak-LRB

XMLWordPrintable

    • gc
    • b28
    • generic
    • generic

      The weak-LRB code is currently subject to a race. Consider this sequence of events between a Java thread and GC threads:
      During conc-weak-root-in-progress:
      - Java: Load referent out of Reference, it is unreachable but not-yet-cleared
      - GC: Clears referent
      - GC: Concurrently turn off conc-weak-root-in-progress
      - Java: Checks conc-weak-root-in-progress, sees that it's false, continues to use/evac it -> successfully resurrected unreachable object. This must not happen.

      AFAICT, this also affects conc-class-unloading and weak-roots.

            zgu Zhengyu Gu
            rkennke Roman Kennke
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: