Summary: | Deadlock due to Resource Listener waiting for workspace lock | ||||||
---|---|---|---|---|---|---|---|
Product: | [WebTools] WTP Java EE Tools | Reporter: | Chuck Bridgham <cbridgha> | ||||
Component: | jst.j2ee | Assignee: | Chuck Bridgham <cbridgha> | ||||
Status: | RESOLVED FIXED | QA Contact: | Chuck Bridgham <cbridgha> | ||||
Severity: | major | ||||||
Priority: | P3 | CC: | blurryrunner, ccc, remy.suen | ||||
Version: | 3.4 | Flags: | ccc:
review+
|
||||
Target Milestone: | 3.4.2 P | ||||||
Hardware: | PC | ||||||
OS: | Windows 7 | ||||||
Whiteboard: | |||||||
Bug Depends on: | |||||||
Bug Blocks: | 425051 | ||||||
Attachments: |
|
Description
Chuck Bridgham
2013-09-11 14:43:30 EDT
I'm guessing it's not practical to lock the file that StructureEdit needs before acquiring the lock on StructureEdit? Created attachment 236042 [details]
Patch adding new job to prevent deadlock
Added patch that moves the processing for J2EEComponentClasspathUpdater.findNode() into a job with workspace root as the rule, so will prevent deadlocks in this instance. Committed to R3_4_2_patches I'm not sure that this fix solved the problems here. I'm trying to figure out how to reproduce this and what causes it, but I often get my workspace into a state where Eclipse is constantly running this new "Find Node Job". When I start with a new workspace, I am fine. After working a while, eclipse will get into a state where it constantly spawns new "Find Node Job" and basically prevents any other task from completing. Restarting the workspace won't fix it. My only recourse is to delete the server and recreate it. I apologize I don't have more relevant information at this time on this. I'm only vaguely familiar with the code here and found this bug because of the "Find Node Job" string in the patch. My best guess is that the chain of events is resource changes -> Find Node Job runs -> finds changes -> copies changes -> resource changes (rinse, wash, repeat). |