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

Export ClassLoaderData claim state to support interleaved object traversal

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P2
    • 10
    • 10
    • hotspot
    • None
    • 10
    • b40

    Backports

      Description

        We have a closed component that uses ClassLoaderDataGraph::clear_claimed_marks() to get a set of fresh claiming bits for object traversal.

        This interferes with the concurrent marking GCs, that are using this information to determine if a CLD has been marked through our not.

        The effect is that there's a possibility that some class loaders won't get marked and classes might be prematurely unloaded, which would lead to crashes.

        We probably would want to redesign the CLDG claiming, to allow multiple claim sets. But in the meantime, a work around could be that the closed component introduce a mechanism that will save and restore the original claim bits.

        In order to add this save/restore mechanism, we would need to publicly export the ClassLoaderData "claim" set of member functions.

        Attachments

          Issue Links

            Activity

              People

                mgronlun Markus Grönlund
                mgronlun Markus Grönlund
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: