"Thomas M. Hofmann" <email@thomashofmann.com> wrote on 10/11/2006 05:08:41
AM:
> 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.
Thanks for the thorough analysis. Committed your change in r2788
Mark
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subclipse.tigris.org
For additional commands, e-mail: users-help@subclipse.tigris.org
Received on Wed Oct 11 14:52:47 2006