Hi,
I like to report a bug. I am posting this to the list first as requested allthough I'm pretty sure it is a bug and has not been fixed yet.
I checked out trunk/eclipse/core to check.
The problem lies within org.tigris.subversion.core.SVNProjectSetCapability in the method private IProject[] checkout(IProject[] projects, Map infoMap, IProgressMonitor monitor) throws TeamException
In 1.1.3 a change was introduce where the JobManager is now called like this:
ISchedulingRule rule = projects[0].getWorkspace().getRuleFactory().modifyRule(projects[0]);
Platform.getJobManager().beginRule(rule, monitor);
The problem is that the beginRule call must be followed by an endRule call. This is not happening in case of an Exception in the code.
It currently looks like this:
} finally {
monitor.done();
}
Platform.getJobManager().endRule(rule);
This fixes the problem:
} finally {
Platform.getJobManager().endRule(rule);
monitor.done();
}
The whole thing causes eclipse 3.2.1 to lockup completely when an Exception occurs in the checkout method.
I checked for other occurrences of the beginRule calls and found these:
CheckoutAsProjectOperation#execute
RepositoryProviderOperation#execute
Both use the finally block to call endRule so I believe this should be just a problem local to SVNProjectSetCapability#checkout.
Regards,
Thomas
Received on Wed Oct 11 11:17:10 2006