Bug 396907

Summary: Amarok crashes when user clicks on Help ---> Diagnostics, while running under Wayland
Product: [Applications] amarok Reporter: Sandeep <sandy.8925>
Component: generalAssignee: Amarok Bugs <amarok-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: notuxius, sandy.8925
Priority: NOR    
Version First Reported In: kf5   
Target Milestone: kf5   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Sandeep 2018-07-27 14:42:51 UTC
Happens on Amarok master branch, atleast at commit 453aa79e03fc512abcca5b2109a2aecce6dab314 (and most likely older).

I did a little digging, and found that it crashes specifically at this line.

DiagnosticDialog.cpp  - Line 127

aPhononBackend->property( "X-KDE-PhononBackendInfo-Version", QVariant::String ).toString(), // & Backend
Comment 1 Alexander Mentyu 2018-07-29 08:28:12 UTC
Can reproduce in Amarok git version

Distribution: Netrunner Rolling
Kernel: 4.18.0-1-MANJARO
Plasma: 5.13.3
Apps: 18.04.3
Qt: 5.11.1
Frameworks: 5.48.0
Wayland: 1.15.0
Graphics:  Card-1: Intel Haswell-ULT Integrated Graphics 
           driver: i915 v: kernel bus ID: 00:02.0 
           chip ID: 8086:0a16 
           Display: x11 server: X.Org 1.20.0 
           driver: intel unloaded: modesetting alternate: fbdev,vesa 
           compositor: kwin x11 tty: N/A 
           OpenGL: renderer: Mesa DRI Intel Haswell Mobile 
           v:4.5 Mesa 18.1.4 compat-v: 3.0 direct render: Yes
Comment 2 Heiko Becker 2020-03-26 20:22:07 UTC
Git commit 4ae84cd433864f45b2130c27bca8a2c4c0ba0d5a by Heiko Becker.
Committed on 26/03/2020 at 20:21.
Pushed by heikobecker into branch 'master'.

Fix a crash when trying to open the DiagnosticDialog

The possibility to discover the preferred phonon backend is gone
since its qt5 port, causing
'KServiceTypeTrader::self()->preferredService( "PhononBackend" )' to
return a null pointer, which causes a crash later on.
Instead I borrowed some code from the old phonon kcm from
plasma-desktop and slightly modified it.

M  +1    -0    CMakeLists.txt
M  +83   -8    src/dialogs/DiagnosticDialog.cpp
M  +18   -0    src/dialogs/DiagnosticDialog.h

https://commits.kde.org/amarok/4ae84cd433864f45b2130c27bca8a2c4c0ba0d5a