When fixing 4927116, it's noticed that a placeholder can be removed from
a site different from the one that adds the placeholder. This might
create the following problems:
1) a ClassCircularityError might be missed. Although it also seems difficult
since that requires all the classes involved in the circle to have their
placeholders removed unexpectedly.
2) some current invariants may not be right, e.g. a class either has a
placeholder or is in the system dictionary.
This bug is to track the effort to find whether there is a better way
to remove placeholders and make sure all the invariants are still correct.
a site different from the one that adds the placeholder. This might
create the following problems:
1) a ClassCircularityError might be missed. Although it also seems difficult
since that requires all the classes involved in the circle to have their
placeholders removed unexpectedly.
2) some current invariants may not be right, e.g. a class either has a
placeholder or is in the system dictionary.
This bug is to track the effort to find whether there is a better way
to remove placeholders and make sure all the invariants are still correct.
- relates to
-
JDK-4699981 ClassCircularityError thrown without reason during class loading
- Closed