Community
Participate
Working Groups
I20080603-2000 JavaProject.resolveClasspath(PerProjectInfo) has a potential race condition: if the raw classpath is changed while we are computing the resolved classpath, we will overwrite the new raw classpath with the previous one when setting the resolved classpath.
Created attachment 103712 [details] Proposed fix for 3.4.1 This fix consists in checking that the raw classpath has not changed before we set the resolved classpath. If it has changed, let the resolved classpath to null. Callers are already protected against this case (they will use a temporary PerProjectInfo to compute the resolved classpath)
Do we have the same issue in 3.3?
(In reply to comment #2) > Do we have the same issue in 3.3? Yes we do. Do you want the proposed fix to be backported to 3.3.x?
+1 for backport to 3.3.x
Created attachment 103730 [details] Proposed fix for 3.3 maintenance
Fix released in R3_3_maintenance branch
Created attachment 103734 [details] Proposed fix for 3.5 Introduces synchronized methods (instead of synchronized blocks) + uses a timestamp to check if the raw classpath has changed
Fix from comment 1 released for 3.4.1
Fix from comment 7 released for 3.5M1
*** Bug 238448 has been marked as a duplicate of this bug. ***
Verified for 3.5M1 using I20080805-1307
Reopen to include the bug in the 3.4.1 verification process
.
Verified for 3.4.1 using build M20080827-2000.