Bug 423029

Summary: systemsettings5 crashes when switching away from Thunderbolt (kcm_bolt)
Product: [Applications] systemsettings Reporter: Markus Lohse <mlohse>
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: kde, nate
Priority: NOR    
Version: 5.19.0   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In: 5.19.1
Attachments: running systemsettings5 with valgrind

Description Markus Lohse 2020-06-15 21:41:01 UTC
Created attachment 129397 [details]
running systemsettings5 with valgrind

STEPS TO REPRODUCE
1. Open system settings
2. Select "Thunderbolt"
3. Try to switch to any other item, e.g. "System Information"

OBSERVED RESULT
systemsettings5 crashes with signal 6 (SIGABRT) - always reproducible.

EXPECTED RESULT
systemsettings5 should not crash, but show "System Information"

SOFTWARE/OS VERSIONS
Linux: 5.7.2-arch1-1 #1 SMP PREEMPT Wed, 10 Jun 2020 20:36:24 +0000 x86_64 GNU/Linux
KDE Plasma Version: 5.19.0
KDE Frameworks Version: 5.7.2-arch1-1
Qt Version: 5.15.0

ADDITIONAL INFORMATION
see attachment for console output (running systemsettings5 with valgrind)
Comment 1 David Edmundson 2020-06-15 22:41:11 UTC
Thanks.

https://invent.kde.org/plasma/plasma-thunderbolt/-/merge_requests/1
Comment 2 David Edmundson 2020-06-16 08:48:43 UTC
Git commit 8363502d2289524e5336a1928637fb316282163a by David Edmundson.
Committed on 15/06/2020 at 22:39.
Pushed by davidedmundson into branch 'Plasma/5.19'.

Don't set a parent on sharedpointer mangaed object

Device follows a pattern of being managed in QSharedPointers
At this point having a parent for the purposes of memory management
doesn't help.

The kded class can keep a reference to the device in pendingDevices,
this owns the manager so will drop it's reference after the manager is
gone.

M  +6    -6    src/lib/device.cpp
M  +4    -5    src/lib/device.h
M  +2    -2    src/lib/manager.cpp

https://invent.kde.org/plasma/plasma-thunderbolt/commit/8363502d2289524e5336a1928637fb316282163a