Concurrent checking in SystemDictionary::do_unloading() is racy and incorrect

XMLWordPrintable

    • Type: Bug
    • Resolution: Not an Issue
    • Priority: P3
    • None
    • Affects Version/s: 12, 13.0.1
    • Component/s: hotspot

      SystemDictionary::do_unloading() method checks if it is invoked concurrently, by checking if there is a safepoint in progress. However, it is racy and unsafe.

      If it is invoked by a concurrent GC thread, there may have a non-GC safepoint in progress, therefore, the answer is incorrect.

            Assignee:
            Coleen Phillimore
            Reporter:
            Zhengyu Gu
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: