Bug 432902 - Amarok crashes when changing Media Source [BrowserCategory::clearAdditionalItems() ]
Summary: Amarok crashes when changing Media Source [BrowserCategory::clearAdditionalIt...
Status: RESOLVED DOWNSTREAM
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: 2.9.71
Platform: openSUSE Linux
: NOR crash
Target Milestone: kf5
Assignee: Amarok Developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2021-02-13 22:04 UTC by Vojtěch Zeisek
Modified: 2021-05-07 11:01 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
amarok --debug (129.59 KB, text/x-log)
2021-02-18 20:23 UTC, Vojtěch Zeisek
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vojtěch Zeisek 2021-02-13 22:04:40 UTC
Application: amarok (2.9.70)

Qt Version: 5.15.2
Frameworks Version: 5.78.0
Operating System: Linux 5.10.12-1-default x86_64
Windowing system: X11
Distribution: "openSUSE Tumbleweed"

-- Information about the crash:
When I try to change Media Source by clicking on Media Source Home icon and changing from Files to whatever, Amarok crashes.

The crash can be reproduced every time.

-- Backtrace:
Application: Amarok (amarok), signal: Segmentation fault

[KCrash Handler]
#4  0x00007ff8fbb79347 in QMutex::lock() () at /usr/lib64/libQt5Core.so.5
#5  0x00007ff8fbd5c154 in QCoreApplicationPrivate::lockThreadPostEventList(QObject*) () at /usr/lib64/libQt5Core.so.5
#6  0x00007ff8fbd5d239 in QCoreApplication::postEvent(QObject*, QEvent*, int) () at /usr/lib64/libQt5Core.so.5
#7  0x00007ff8fd28f7e6 in BrowserCategory::clearAdditionalItems() (this=0x5555df685bf0) at /usr/src/debug/amarok-2.9.70git.20201222T022603~89d13c15ad-142.5.x86_64/src/browsers/BrowserCategory.cpp:168
#8  0x00007ff8fd28fbca in BrowserCategoryList::setActiveCategory(BrowserCategory*) (this=0x5555dfbb39c0, category=category@entry=0x5555df397820) at /usr/src/debug/amarok-2.9.70git.20201222T022603~89d13c15ad-142.5.x86_64/src/browsers/BrowserCategoryList.cpp:202
#9  0x00007ff8fd28fc8c in BrowserCategory::activate() (this=0x5555df397820) at /usr/src/debug/amarok-2.9.70git.20201222T022603~89d13c15ad-142.5.x86_64/src/browsers/BrowserCategory.cpp:135
#10 0x00007ff8fbd908c6 in  () at /usr/lib64/libQt5Core.so.5
#11 0x00007ff8fc903f12 in QAction::triggered(bool) () at /usr/lib64/libQt5Widgets.so.5
#12 0x00007ff8fc906751 in QAction::activate(QAction::ActionEvent) () at /usr/lib64/libQt5Widgets.so.5
#13 0x00007ff8fca80aaa in  () at /usr/lib64/libQt5Widgets.so.5
#14 0x00007ff8fca881e2 in  () at /usr/lib64/libQt5Widgets.so.5
#15 0x00007ff8fc94a35e in QWidget::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#16 0x00007ff8fc90a50f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#17 0x00007ff8fc9113fb in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#18 0x00007ff8fbd5a2ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#19 0x00007ff8fc910426 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /usr/lib64/libQt5Widgets.so.5
#20 0x00007ff8fc962933 in  () at /usr/lib64/libQt5Widgets.so.5
#21 0x00007ff8fc9658ce in  () at /usr/lib64/libQt5Widgets.so.5
#22 0x00007ff8fc90a50f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#23 0x00007ff8fbd5a2ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#24 0x00007ff8fc1c6b73 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib64/libQt5Gui.so.5
#25 0x00007ff8fc19cc5c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Gui.so.5
#26 0x00007ff8e84e0fea in  () at /usr/lib64/libQt5XcbQpa.so.5
#27 0x00007ff8f1753e57 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#28 0x00007ff8f17541d8 in  () at /usr/lib64/libglib-2.0.so.0
#29 0x00007ff8f175428f in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#30 0x00007ff8fbdb183f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#31 0x00007ff8fbd58cab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#32 0x00007ff8fca85c0c in  () at /usr/lib64/libQt5Widgets.so.5
#33 0x00007ff8fca85d3f in QMenu::exec(QPoint const&, QAction*) () at /usr/lib64/libQt5Widgets.so.5
#34 0x00007ff8fca971ea in  () at /usr/lib64/libQt5Widgets.so.5
#35 0x00007ff8fbd90900 in  () at /usr/lib64/libQt5Core.so.5
#36 0x00007ff8fc9f7e5d in  () at /usr/lib64/libQt5Widgets.so.5
#37 0x00007ff8fc9f8136 in QAbstractButton::mousePressEvent(QMouseEvent*) () at /usr/lib64/libQt5Widgets.so.5
#38 0x00007ff8fc94a35e in QWidget::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#39 0x00007ff8fc90a50f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#40 0x00007ff8fc9113fb in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#41 0x00007ff8fbd5a2ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#42 0x00007ff8fc910426 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /usr/lib64/libQt5Widgets.so.5
#43 0x00007ff8fc9623c1 in  () at /usr/lib64/libQt5Widgets.so.5
#44 0x00007ff8fc9658ce in  () at /usr/lib64/libQt5Widgets.so.5
#45 0x00007ff8fc90a50f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#46 0x00007ff8fbd5a2ea in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#47 0x00007ff8fc1c6b73 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib64/libQt5Gui.so.5
#48 0x00007ff8fc19cc5c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Gui.so.5
#49 0x00007ff8e84e0fea in  () at /usr/lib64/libQt5XcbQpa.so.5
#50 0x00007ff8f1753e57 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#51 0x00007ff8f17541d8 in  () at /usr/lib64/libglib-2.0.so.0
#52 0x00007ff8f175428f in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#53 0x00007ff8fbdb183f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#54 0x00007ff8fbd58cab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#55 0x00007ff8fbd60f20 in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5
#56 0x00005555dd5940d8 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/amarok-2.9.70git.20201222T022603~89d13c15ad-142.5.x86_64/src/main.cpp:397
[Inferior 1 (process 22769) detached]

Possible duplicates by query: bug 418277, bug 415991, bug 414009, bug 410266, bug 409782.

Reported using DrKonqi
Comment 1 Myriam Schweingruber 2021-02-16 16:34:41 UTC
Thank you for your crash report. Unfortunately you do not have debugging symbols enabled. If you can reliably reproduce this crash, please install debugging symbols and provide a better backtrace. Se also https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
Comment 2 Vojtěch Zeisek 2021-02-18 20:23:14 UTC
Created attachment 135870 [details]
amarok --debug

Hello, I have packages amarok, amarok-debuginfo and amarok-lang, version 2.9.70git.20201222T022603~89d13c15ad-142.6, openSUSE Tumbleweed. I can reproduce the bug every time on two computers. See attached log.
Comment 3 Myriam Schweingruber 2021-02-20 01:35:34 UTC
Amarok --debug is not what we need...

You need to install debugging symbols for Amarok and its dependencies, then get a new backtrace. Please read the instructions on how to install those for your distribution in the wiki page I gave you.
Comment 4 Vojtěch Zeisek 2021-02-22 08:57:38 UTC
I'm sorry, but when submitting the first report, package "amarok-debuginfo" was already installed, as suggested by DrKonqi. From list "zypper info --requires amarok" I tried to install all matching "-debuginfo" packages, and got only "libtag-extras1-debuginfo, kirigami2-debuginfo, libmtp-debuginfo, libphonon4qt5-debuginfo, libqt5-qtquickcontrols-debuginfo" (I have debug repository enabled). When invoking the behavior in Amarok I get:

Application: Amarok (amarok), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f52c6e273e7 in QMutex::lock() () at /usr/lib64/libQt5Core.so.5
#5  0x00007f52c700a194 in QCoreApplicationPrivate::lockThreadPostEventList(QObject*) () at /usr/lib64/libQt5Core.so.5
#6  0x00007f52c700b279 in QCoreApplication::postEvent(QObject*, QEvent*, int) () at /usr/lib64/libQt5Core.so.5
#7  0x00007f52c853f7e6 in BrowserCategory::clearAdditionalItems() (this=0x560813ecbf40) at /usr/src/debug/amarok-2.9.70git.20201222T022603~89d13c15ad-142.6.x86_64/src/browsers/BrowserCategory.cpp:168
#8  0x00007f52c853fbca in BrowserCategoryList::setActiveCategory(BrowserCategory*) (this=0x560813bb91d0, category=category@entry=0x560813edbf70) at /usr/src/debug/amarok-2.9.70git.20201222T022603~89d13c15ad-142.6.x86_64/src/browsers/BrowserCategoryList.cpp:202
#9  0x00007f52c853fc8c in BrowserCategory::activate() (this=0x560813edbf70) at /usr/src/debug/amarok-2.9.70git.20201222T022603~89d13c15ad-142.6.x86_64/src/browsers/BrowserCategory.cpp:135
#10 0x00007f52c703e946 in  () at /usr/lib64/libQt5Core.so.5
#11 0x00007f52c7bb2f02 in QAction::triggered(bool) () at /usr/lib64/libQt5Widgets.so.5
#12 0x00007f52c7bb5741 in QAction::activate(QAction::ActionEvent) () at /usr/lib64/libQt5Widgets.so.5
#13 0x00007f52c7d2fa9a in  () at /usr/lib64/libQt5Widgets.so.5
#14 0x00007f52c7d371d2 in  () at /usr/lib64/libQt5Widgets.so.5
#15 0x00007f52c7bf934e in QWidget::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#16 0x00007f52c7bb94ff in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#17 0x00007f52c7bc03eb in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#18 0x00007f52c700832a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#19 0x00007f52c7bbf416 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /usr/lib64/libQt5Widgets.so.5
#20 0x00007f52c7c11923 in  () at /usr/lib64/libQt5Widgets.so.5
#21 0x00007f52c7c148be in  () at /usr/lib64/libQt5Widgets.so.5
#22 0x00007f52c7bb94ff in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#23 0x00007f52c700832a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#24 0x00007f52c7474d03 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib64/libQt5Gui.so.5
#25 0x00007f52c744ac5c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Gui.so.5
#26 0x00007f52b3762faa in  () at /usr/lib64/libQt5XcbQpa.so.5
#27 0x00007f52bc9d6f57 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#28 0x00007f52bc9d72d8 in  () at /usr/lib64/libglib-2.0.so.0
#29 0x00007f52bc9d738f in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#30 0x00007f52c705f8bf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#31 0x00007f52c7006ceb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#32 0x00007f52c7d34bfc in  () at /usr/lib64/libQt5Widgets.so.5
#33 0x00007f52c7d34d2f in QMenu::exec(QPoint const&, QAction*) () at /usr/lib64/libQt5Widgets.so.5
#34 0x00007f52c7d461da in  () at /usr/lib64/libQt5Widgets.so.5
#35 0x00007f52c703e980 in  () at /usr/lib64/libQt5Core.so.5
#36 0x00007f52c7ca6e4d in  () at /usr/lib64/libQt5Widgets.so.5
#37 0x00007f52c7ca7126 in QAbstractButton::mousePressEvent(QMouseEvent*) () at /usr/lib64/libQt5Widgets.so.5
#38 0x00007f52c7bf934e in QWidget::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#39 0x00007f52c7bb94ff in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#40 0x00007f52c7bc03eb in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#41 0x00007f52c700832a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#42 0x00007f52c7bbf416 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /usr/lib64/libQt5Widgets.so.5
#43 0x00007f52c7c113b1 in  () at /usr/lib64/libQt5Widgets.so.5
#44 0x00007f52c7c148be in  () at /usr/lib64/libQt5Widgets.so.5
#45 0x00007f52c7bb94ff in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#46 0x00007f52c700832a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#47 0x00007f52c7474d03 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib64/libQt5Gui.so.5
#48 0x00007f52c744ac5c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Gui.so.5
#49 0x00007f52b3762faa in  () at /usr/lib64/libQt5XcbQpa.so.5
#50 0x00007f52bc9d6f57 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#51 0x00007f52bc9d72d8 in  () at /usr/lib64/libglib-2.0.so.0
#52 0x00007f52bc9d738f in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#53 0x00007f52c705f8bf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#54 0x00007f52c7006ceb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#55 0x00007f52c700ef60 in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5
#56 0x00005608112520d8 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/amarok-2.9.70git.20201222T022603~89d13c15ad-142.6.x86_64/src/main.cpp:397
[Inferior 1 (process 652) detached]

I'm sorry, I really don't know where to get more debug output. Some more system/kdelibs packages...?
Comment 5 Myriam Schweingruber 2021-02-22 19:41:06 UTC
Sorry, my bad, I didn't scan beyond the first lines with missing symbols.

You should ask your distribution to upgrade to the now released Amarok 2.9.71 and see if this still happens.
Comment 6 Vojtěch Zeisek 2021-02-25 20:32:38 UTC
It's same on latest Git version (b94c362c1d).
Comment 7 Myriam Schweingruber 2021-02-26 13:33:14 UTC
Setting correct version
Comment 8 Vojtěch Zeisek 2021-05-07 08:40:18 UTC
The crash was caused by whatever problem in "Czech Radio (Ceska Radia)" https://store.kde.org/p/1135783/ script. After uninstalling, Amarok doesn't crash anymore. The script is normally installable and otherwise id doesn't produce any error. I'm not sure if whatever error in external script should cause crash of whole application... Might be such problematic scripts should be removed from the KDE store...?
Comment 9 Myriam Schweingruber 2021-05-07 11:01:40 UTC
We have no control over third-party scripts in the KDE Store. The scripting
interface has changed a lot between Amarok 2.9 and the current git version.
Please report this to the script author.