If the workspace builder is executing and the SwitchYard project meta-data has not been loaded, a deadlock can occur. It appears the condition occurs primarily during workspace startup if a file in a SwitchYard project is open for editing and "link with editor" is enabled. The SwitchYard navigator extension tries to load meta-data, but can't acquire the workspace lock. In the mean time, the builder can't load the meta-data because the navigator extension holds the lock for the SwitchYardProject.
I have a patch that tries to acquire the workspace lock before trying to load the meda-data. This ensures that the write lock for the meta-data load is only attempted when it also holds the workspace lock (i.e. the write lock is bound to the workspace lock).
|