Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8195578 | 11 | Markus Grönlund | P2 | Resolved | Fixed | b01 |
JDK-8197719 | 10u-cpu | Markus Grönlund | P2 | Resolved | Fixed | master |
JDK-8200989 | 10.0.2 | Unassigned | P2 | Resolved | Fixed | b01 |
JDK-8195929 | 10.0.1 | Markus Grönlund | P2 | Resolved | Fixed | b01 |
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.
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.
- backported by
-
JDK-8195578 Export ClassLoaderData claim state to support interleaved object traversal
- Resolved
-
JDK-8195929 Export ClassLoaderData claim state to support interleaved object traversal
- Resolved
-
JDK-8197719 Export ClassLoaderData claim state to support interleaved object traversal
- Resolved
-
JDK-8200989 Export ClassLoaderData claim state to support interleaved object traversal
- Resolved