Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 349327 - Types sometimes considered "not compatible" when using project cycles
Summary: Types sometimes considered "not compatible" when using project cycles
Status: CLOSED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: EDT (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Justin Spadea CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-14 10:48 EDT by Justin Spadea CLA
Modified: 2017-02-23 14:14 EST (History)
0 users

See Also:


Attachments
Projects with a cycle (4.68 KB, application/zip)
2011-06-14 10:48 EDT, Justin Spadea CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Justin Spadea CLA 2011-06-14 10:48:33 EDT
Created attachment 197957 [details]
Projects with a cycle

This was originally found and fixed in RBD. EDT doesn't support project cycles yet, but it's probably going to be added at some point so we should put this fix in before we forget about it.

To reproduce: modify EGLVAGCompatibilitySetting.isVAGCompatibility() to return true (this allows the cycle), then set BuildManager.MAX_PART_CHANGE to 1 (will force a full build), and import the attachment into the runtime workspace.

The problem has to do with the builder clearing caches, then rebuilding a project that was already rebuilt because of the project cycle. The binding in project 2 has a reference to the original binding from project 1, but when project 1 is rebuilt it gets new instances of the bindings. An identity check is used on the bindings during validation, so it fails on the assignment statement, thinking they're different. The fix is to stop dumping the binding caches on incremental builds and forced full builds.
Comment 1 Justin Spadea CLA 2011-06-14 10:54:19 EDT
Modified Builder.java to stop clearing the project's binding cache when not cleaning the project.
Comment 2 Justin Spadea CLA 2011-07-05 14:57:53 EDT
Verified in latest CVS