"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