United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-4940739 : placeholder isn't removed by the site that adds it during classloading

Details
Type:
Bug
Submit Date:
2003-10-21
Status:
Closed
Updated Date:
2012-10-08
Project Name:
JDK
Resolved Date:
2005-09-08
Component:
hotspot
OS:
solaris_8
Sub-Component:
runtime
CPU:
sparc
Priority:
P4
Resolution:
Fixed
Affected Versions:
5.0
Fixed Versions:

Related Reports
Relates:

Sub Tasks

Description
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.

                                    

Comments
EVALUATION

It appears very unlikely that we could throw a circularity error
because of this race condition (as noted in the description, the
placeholders for each class in the chain would have to be removed).

However, it seems likely we could get a heap verification error, as
we'll violate the invariant that all klasses in the heap are either
in the system dictionary or placeholder tables.

This bug needs to be examined at the same time 4699981 is looked at,
and when we look at class loading to see if it can be made more parallel.

###@###.### 2003-10-27
                                     
2003-10-27



Hardware and Software, Engineered to Work Together