Summary: | Crash when searching collection [CollectionTreeItem::row] | ||
---|---|---|---|
Product: | [Applications] amarok | Reporter: | Ondrej Vana <vana.ondrej> |
Component: | general | Assignee: | Amarok Developers <amarok-bugs-dist> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | andreas.privatadresse, bjoern, id1402, kde, kdebugs, kuehnel.b.kdebugs, tuomas, vortex |
Priority: | NOR | Keywords: | drkonqi |
Version First Reported In: | 2.9.71 | ||
Target Milestone: | kf5 | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
New crash information added by DrKonqi
New crash information added by DrKonqi New crash information added by DrKonqi |
Description
Ondrej Vana
2021-10-26 05:51:39 UTC
Created attachment 148001 [details]
New crash information added by DrKonqi
amarok (2.9.71) using Qt 5.15.2
- What I was doing when the application crashed:
Searched for music in my local collection
-- Backtrace (Reduced):
#6 0x00007f9fbb8b88ee in CollectionTreeItem::row() const (this=0x31) at /usr/src/debug/amarok-2.9.75git.20220224T114455~9300034c57-1.2.x86_64/src/browsers/CollectionTreeItem.cpp:224
#7 0x00007f9fbb8c72f0 in CollectionTreeItemModelBase::itemIndex(CollectionTreeItem*) const (item=0x31, this=0x5599274ab180) at /usr/src/debug/amarok-2.9.75git.20220224T114455~9300034c57-1.2.x86_64/src/browsers/CollectionTreeItemModelBase.cpp:582
#8 CollectionTreeItemModelBase::itemIndex(CollectionTreeItem*) const (this=0x5599274ab180, item=0x31) at /usr/src/debug/amarok-2.9.75git.20220224T114455~9300034c57-1.2.x86_64/src/browsers/CollectionTreeItemModelBase.cpp:577
#9 0x00007f9fbb8bcc00 in CollectionTreeItemModelBase::parent(QModelIndex const&) const (index=<optimized out>, this=<optimized out>) at /usr/src/debug/amarok-2.9.75git.20220224T114455~9300034c57-1.2.x86_64/src/browsers/CollectionTreeItemModelBase.cpp:447
#10 CollectionTreeItemModelBase::parent(QModelIndex const&) const (this=<optimized out>, index=<optimized out>) at /usr/src/debug/amarok-2.9.75git.20220224T114455~9300034c57-1.2.x86_64/src/browsers/CollectionTreeItemModelBase.cpp:439
Created attachment 153710 [details]
New crash information added by DrKonqi
amarok (2.9.71) using Qt 5.15.2
- What I was doing when the application crashed:
typing in the search application crashes
- Unusual behavior I noticed:
application is very slow during startup and while opening the tree
- Custom settings of the application:
I use a sql-Database on the main computer for the files that are stored on an NAS-Server for more than 45000 titles
-- Backtrace (Reduced):
#4 0x00007fd85d1ef340 in CollectionTreeItem::row() const () at /usr/lib64/libamaroklib.so.1
#5 0x00007fd85d1f6d70 in CollectionTreeItemModelBase::itemIndex(CollectionTreeItem*) const () at /usr/lib64/libamaroklib.so.1
#6 0x00007fd85d1f6df0 in CollectionTreeItemModelBase::parent(QModelIndex const&) const () at /usr/lib64/libamaroklib.so.1
[...]
#10 0x00007fd85ac8a7fc in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) () at /usr/lib64/libQt5Core.so.5
#11 0x00007fd85d1fa8d5 in CollectionTreeItemModelBase::tracksLoaded(AmarokSharedPointer<Meta::Album> const&, QModelIndex const&, QList<AmarokSharedPointer<Meta::Track> > const&) () at /usr/lib64/libamaroklib.so.1
Seems to happen at least when filtered results are found under both various artists and under single artists. Reading docs ( https://doc.qt.io/qt-5/qmodelindex.html ), "If you need to keep a model index over time use a QPersistentModelIndex." is probably relevant here. I didn't do too deep analysis on the paths leading here, but the crash is caused when the static_cast at row 444 of CollectionTreeItemModelBase.cpp is erroneous (parent.internalPointer() seems to be a non-QObject). So something causes a data-changing change when both kinds of results are in the filtering. Seems to be fixed by having a QPersistentModelIndex instead. A fix is submitted at https://invent.kde.org/multimedia/amarok/-/merge_requests/50 Created attachment 154974 [details]
New crash information added by DrKonqi
amarok (2.9.71) using Qt 5.15.7
- when searching the collection (either by typing search terms or by selecting them from the advanced dialog), after submitting / shortly waiting, the application crashes before results become visible (i.e. before the collection tree seems to be refreshed)
- crashes are always reproducible with the same (affected) search terms
- some search terms yield results without a crash
- using an external mariadb with a very large collection
-- Backtrace (Reduced):
#4 QListData::isEmpty() const (this=0x560ef5c59cb0) at /usr/include/qt5/QtCore/qlist.h:116
#5 QList<CollectionTreeItem*>::isEmpty() const (this=0x560ef5c59cb0) at /usr/include/qt5/QtCore/qlist.h:201
#6 CollectionTreeItem::row() const (this=this@entry=0x7f1b4fbf6cc0) at /var/tmp/portage/media-sound/amarok-9999/work/amarok-9999/src/browsers/CollectionTreeItem.cpp:227
#7 0x00007f1b512541c0 in CollectionTreeItemModelBase::itemIndex(CollectionTreeItem*) const (item=0x7f1b4fbf6cc0, this=0x560ef3e50a60) at /var/tmp/portage/media-sound/amarok-9999/work/amarok-9999/src/browsers/CollectionTreeItemModelBase.cpp:582
#8 CollectionTreeItemModelBase::itemIndex(CollectionTreeItem*) const (this=0x560ef3e50a60, item=0x7f1b4fbf6cc0) at /var/tmp/portage/media-sound/amarok-9999/work/amarok-9999/src/browsers/CollectionTreeItemModelBase.cpp:577
Somewhy the automatic closing of a bug by a commit didn't kick in here. Anyway, this should be now fixed in current git head (since 7th Feb 2023) with https://invent.kde.org/multimedia/amarok/-/commit/2b1f73b0f6f3c3e63097b0820da4f6d12e5c377c?merge_request_iid=50 *** Bug 466401 has been marked as a duplicate of this bug. *** OpenSUSE Leap 15.5 amarok-2.9.75git.20221114T020258~457db492b4-bp155.1.12.x86_64 Bug not yet fixed. (In reply to Nihin Dula from comment #7) > OpenSUSE Leap 15.5 > amarok-2.9.75git.20221114T020258~457db492b4-bp155.1.12.x86_64 > > Bug not yet fixed. The version number "2.9.75git.20221114T" suggests that your version is built from sources dating November 2022 (hence 202211) git sources. Git states since February 2023 contain the fix, (e.g. 2.9.27git.2023048T114133 in Tumbleweed repo-oss and 2.9.27git.20230608T015352 in KDE:Unstable:Extra are available in my OpenSUSE repositories) *** Bug 465602 has been marked as a duplicate of this bug. *** *** Bug 481384 has been marked as a duplicate of this bug. *** |