Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 4845095
Votes 0
Synopsis Problems in EVM inspired by issues in H/S JVM_Clone (Bug# 4839641)
Category java:jvm_exact
Reported Against 1.2.2_15
Release Fixed 1.2.2_16
State 10-Fix Delivered, bug
Priority: 3-Medium
Related Bugs 4840070 , 4839641
Submit Date 08-APR-2003
Description
It came initially out of some problems
Peter Kessler found in HotSpot's clone code. This led me to
review EVM's code where I found that we were violating a 
hand-shake concurrent collectors were expecting (setting 
nearClass to NULL initially, and only setting nearClass
to appropriate value after the rest of the  customer  is initialized).
To make sure that would work, I also checked the three cases
where concurrent activity looks at objects (marking, sweeping,
and concurrent refinement). I quickly realised there was a
simple race between the concurrent refinement thread and 
the allocating of memory in the CMS generation. Then, I couldn't
see how refinement is blocked during sweeping and I started
noticing more apparent races. :-( I've got scenarios now that
either lead to walking corrupt objects or directly summarizing
bad reference locations if sweeping is allowed while performing
concurrent refinement. :-( I don't think this happens in practice
because most problematic allocations occur in the young generation
and not in the older generation; however, under low memory situations
and under rare occurances of large- customer  allocation in the CMS
generation, these races appear to be present. 

                               -- Alex
Work Around
N/A
Evaluation
See comments and suggested fix.

  xxxxx@xxxxx   2003-04-08
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang