Review Request: Crash when browsing a category [@ CollectionTreeItem::row]

Ralf Engels ralf-engels at gmx.de
Sun May 15 13:21:57 CEST 2011


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/100723/#review3333
-----------------------------------------------------------


I am sorry,
I think I fixed the bug myself without being aware that there is an outstanding review request.

When a node is deleted I go recursive through all the children now to check if one of then still has a running query. No MultiHash needed.

I also have a branch somewhere doing more CollectionTreeItem cleaning if someone is interested.

Anyway, If I understood everything right, then we can discard this request, right?

- Ralf


On Feb. 25, 2011, 1:16 p.m., Wolfgang Lorenz wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/100723/
> -----------------------------------------------------------
> 
> (Updated Feb. 25, 2011, 1:16 p.m.)
> 
> 
> Review request for Amarok.
> 
> 
> Summary
> -------
> 
> patch for https://bugs.kde.org/show_bug.cgi?id=233170
> 
> When a query is started the Collections::QueryMaker* is stored in
>     QHash<CollectionTreeItem*, Collections::QueryMaker*> runningQueries.
> 
> Now, when CollectionTreeItemModelBase::populateChildren deletes items
>     CollectionTreeItemModelBase::itemAboutToBeDeleted
> is called, which in turn stops, disconnects and deletes the queryMaker associated with the item.
> 
> The problem occurs, if there is more than one queryMaker for the item, as will happen, when
>     CollectionTreeItemModelBase::handleCompilations
> is called. In this case itemAboutToBeDeleted deletes only one queryMaker. The other one finishes normally, calls
>     CollectionTreeItemModelBase::queryDone,
> which in turn calls 
>     CollectionTreeItem::row
> of a deleted item and Amarok crashes with a segfault.
> 
> The patch changes the runningQueries buffer to QMultiHash. So all queryMakers are kept and itemAboutToBeDeleted can stop them all.
> 
> 
> This addresses bug 233170.
>     https://bugs.kde.org/show_bug.cgi?id=233170
> 
> 
> Diffs
> -----
> 
>   src/browsers/CollectionTreeItemModelBase.h df260d6 
>   src/browsers/CollectionTreeItemModelBase.cpp 9e5a50d 
> 
> Diff: http://git.reviewboard.kde.org/r/100723/diff
> 
> 
> Testing
> -------
> 
> Sometimes Amarok still crashed, when entering a search. Unfortunately, the backtrace was always empty in these cases. I don't know why. This could be another bug.
> 
> 
> Thanks,
> 
> Wolfgang
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/amarok-devel/attachments/20110515/4651cfa9/attachment.htm 


More information about the Amarok-devel mailing list