Summary: | Attempting to share via email when there are no suitable email clients installed causes the calling app to crash in Purpose::EmailJob::start() | ||
---|---|---|---|
Product: | [Frameworks and Libraries] frameworks-purpose | Reporter: | Kalzi <kalzwayed> |
Component: | general | Assignee: | Aleix Pol <aleixpol> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | bharadwaj.raju777, nate, sbmichael |
Priority: | NOR | Keywords: | usability |
Version: | 5.87.0 | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/frameworks/purpose/commit/eb8e6026ae2d87c29041f949176dfc0ad5c5d5da | Version Fixed In: | 5.88 |
Attachments: | crash backtrace |
Description
Kalzi
2021-10-15 14:00:04 UTC
Created attachment 142478 [details]
crash backtrace
Forgot to mention I reproduced this bug on KDE Neon Testing edition with Frameworks 5.88.0 Sorry for piling another comment (this bugtracker really should have a feature to edit comments) but I also just confirmed that this issue happens as Kalzi described not only with desktop files or folders but with any file or folder when using the Dolphin share-by-email sub-menu leading to Dolphin crashing. It is reproducible 100% of the time. Thanks, that backtrace is helpful. Pasting the relevant part inline: #5 KService::desktopEntryName (this=0x0) at ./src/services/kservice.cpp:930 #6 0x00007f3fcda02222 in (anonymous namespace)::EmailJob::start (this=0x5597d3c16d00) at ./src/plugins/email/emailplugin.cpp:40 #7 0x00007f3fcdbb18df in Purpose::JobController::startJob (this=0x5597d80eef70) at ./src/jobcontroller.cpp:45 #8 0x00007f3fcdbb1950 in Purpose::JobController::configure (this=<optimized out>) at ./src/jobcontroller.cpp:22 #9 0x00007f3fcdba63f6 in Purpose::JobController::qt_static_metacall (_o=_o@entry=0x5597d80eef70, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=5, _a=_a@entry=0x7fffcb46f680) at ./obj-x86_64-linux-gnu/src/KF5Purpose_autogen/EWIEGA46WW/moc_jobcontroller.cpp:148 #10 0x00007f3fcdba7073 in Purpose::JobController::qt_metacall (this=0x5597d80eef70, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0x7fffcb46f680) at ./obj-x86_64-linux-gnu/src/KF5Purpose_autogen/EWIEGA46WW/moc_jobcontroller.cpp:257 Looks like it's not handling the case of zero email apps, so it passes a blank string or a nullptr to kservice, which crashes. A possibly relevant merge request was started @ https://invent.kde.org/frameworks/purpose/-/merge_requests/41 This is an absolutely useless comment, but yaaay, this is my first official contribution to KDE Plasma that has been confirmed and assigned. 🥳 cheers! and to many more! Git commit eb8e6026ae2d87c29041f949176dfc0ad5c5d5da by Aleix Pol Gonzalez, on behalf of Aleix Pol. Committed on 17/10/2021 at 20:24. Pushed by apol into branch 'master'. email: Ensure we don't crash when there's no mailto preferredService M +1 -1 src/plugins/email/emailplugin.cpp https://invent.kde.org/frameworks/purpose/commit/eb8e6026ae2d87c29041f949176dfc0ad5c5d5da |