Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] FYI, merged in a bunch of changes

James,
thanks for pointing out that the change to PDOMManager#addProject
is wrong, it would reintroduce
https://bugs.eclipse.org/bugs/show_bug.cgi?id=179644.
I have reverted the change.

Markus.

> -----Original Message-----
> From: cdt-dev-bounces@xxxxxxxxxxx 
> [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of James Blackburn
> Sent: Wednesday, May 12, 2010 10:42 AM
> To: CDT General developers list.
> Subject: Re: [cdt-dev] FYI, merged in a bunch of changes
> Importance: Low
> 
> On 11 May 2010 23:55, Chris Recoskie <recoskie@xxxxxxxxxx> wrote:
> > - Reworked the resulting concurrency fixes - indexing and scanner 
> > discovery now synchronize on the project root as a scheduling rule. 
> > Original HEAD behaviour was to synch on the project's 
> .settings folder 
> > for indexing, but that deadlocked with scanner discovery. 
> James, you 
> > will probably want to take a look at what I did there and make sure 
> > you are comfortable with it, as I know you have been trying 
> to relax 
> > the scheduling rules as much as possible. If you think it 
> needs some rework let me know.
> 
> I had a quick look, would it be possible for you to attach 
> thread-dumps to a bug so we can better see where this is going wrong?
> I haven't encountered any lock-ups in CDT 6/7.  (We use 
> ILocks to lock the project model, which have the benefit of 
> deadlock detection / resolution, and I know Toni and I have 
> both fixed a couple ordering issues here...)
> 
> The scheduling rule change in PDOMManager#addProject doesn't 
> look right to me.  Instead of asking the rule factory for a 
> base rule it's now fixed the at Project. Looking at Markus' 
> logic, the MutliRule created should always contain the 
> project, and as more pessimistic Team providers (e.g. CCRC) 
> might return different scheduling rules for refresh, it seems 
> wrong not to involve them.
> 
> In CfgDiscoveredPathManager, you've replace the synchronized 
> with a project scoped sched rule.  This is to work around a 
> deadlock in CDT 5, right? If we're just trying to enforce 
> mutual exclusion, then ILock would be better here (as done in 
> SelectionListenerWithASTManager).
> That way you still have deadlock detection/protection without 
> the need to know what rules the client code called requires, 
> and without checking into the workspace.
> 
> I'm a big one for collecting thread-dumps of lock-ups, it's a 
> good reminder / reference of how complicated the system is. 
> Please do attach them to bugs as and when you hit them!
> 
> Cheers,
> James
> 
> 
> > - Fixed remote indexing. Changes on HEAD that deprecated CodeReader 
> > broke the ability for remote translation units to provide 
> the path to 
> > load the file content from. Added API to ITranslationUnit 
> for this purpose.
> >
> > The tests all pass, but let me know if you run into any problems, 
> > particularly if you encounter any concurrency issues.
> >
> > FYI error parsing seems broken for remote projects. I 
> intend to start 
> > looking into that tomorrow.
> >
> > ===========================
> > Chris Recoskie
> > Team Lead, IBM CDT and RDT
> > IBM Toronto
> >
> > _______________________________________________
> > cdt-dev mailing list
> > cdt-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> >
> >
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev
> 


Back to the top