Bug 59937 - Should not process saved state delta during startup
Summary: Should not process saved state delta during startup
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows 2000
: P3 normal (vote)
Target Milestone: 3.0 M9   Edit
Assignee: Jerome Lanneluc CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-04-26 09:49 EDT by Jerome Lanneluc CLA
Modified: 2004-05-18 12:57 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jerome Lanneluc CLA 2004-04-26 09:49:52 EDT
I20040422

JavaCore.startUp() is processing the saved state delta in the same thread. This 
could cause deadlocks. See bug 59852 for details.
Comment 1 John Arthorne CLA 2004-04-26 10:26:26 EDT
After thinking on this some more, I am also concerned that you may miss resource
deltas or receive deltas out of order, depending on when you install your
resource change listener. If you install your listener on startup, and then
process the save participant delta in a background thread, further changes could
occur to the workspace in between.  This would result in you receive deltas for
new changes before you get a chance to process the save participant delta.  I
think you need to install your listener and process deltas atomically (from the
indexer thread if possible), using  an IWorkspaceRunnable. This would ensure you
process deltas in correct order.
Comment 2 Jerome Lanneluc CLA 2004-04-26 10:46:32 EDT
Thanks John. I'll do that.
Comment 3 Jerome Lanneluc CLA 2004-04-26 10:51:20 EDT
Changed JavaCore.startUp() to post a job in the indexer and add a save 
participant and process the delta atomically.
Comment 4 Frederic Fusier CLA 2004-05-18 12:57:24 EDT
Verified for 3.0 M9 with build I200405180816.