Deadlock when switching working-sets while a project is being parsed

Andreas Pakulat apaku at gmx.de
Tue Jun 16 22:13:15 UTC 2009


On 17.06.09 00:05:13, David Nolden wrote:
> Am Dienstag 16 Juni 2009 22:06:36 schrieb Andreas Pakulat:
> > On 16.06.09 21:43:04, Andreas Pakulat wrote:
> > > Hi,
> > >
> > > just managed to deadlock kdevelop (probably only for a while, still
> > > pretty bad IMHO) by simply clicking onto the workingset button in the
> > > Debug tab that I have here, while KDevelop was parsing the files from
> > > kdevplatform project.
> > >
> > > Backtrace shows that there's a writeLock being acquired when a document
> > > is activated, not sure wether thats avoidable, but would be good if it
> > > could be.
> >
> > In fact it was a deadlock and at some point the duchainlock timeout just
> > aborted kdevelop
>
> I cannot see a real deadlock here. One of the threads seems to be working 
> while the others wait for locks. I have replaced the write-lock with a read-
> lock as that was not needed.

Saw that, I'll try to reproduce tomorrow.

> Maybe you just have to reduce the count of parsing-threads, as they seem to 
> block each other a lot in your case. Maybe they block each other so much that 
> everything slows down, leading to the timeout.

I only have 5 configured for the background parser. But I guess in this
case there's more because KDevelop also loaded a project in the
background.
 
And that was the first time I've encountered the problem, never seen any
lockups or slowdowns before.

-- 
You shall be rewarded for a dastardly deed.




More information about the KDevelop-devel mailing list