Bug 470633

Summary: If you edit an application so that it cannot run, then try to edit it again, it will crash plasma.
Product: [Plasma] plasmashell Reporter: randomnes037
Component: Application Menu (Kicker)Assignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED WORKSFORME    
Severity: crash CC: nate
Priority: NOR    
Version: 5.27.5   
Target Milestone: 1.0   
Platform: Manjaro   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description randomnes037 2023-06-04 16:12:50 UTC
SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***


STEPS TO REPRODUCE
1. open the application menu (kicker)
2. right click any app and click "edit application"
3. change "application" field to a random string that won't work

OBSERVED RESULT
trying to edit the application again causes plasma to crash

EXPECTED RESULT
editing the application working normally

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: Manjaro/Plasma
(available in About System)
KDE Plasma Version: 5.27.5
KDE Frameworks Version: 5.106.0
Qt Version: 5.15.9

ADDITIONAL INFORMATION

crashed process viewer shows that xdg-desktop-portal-kde crashed: 
```
           PID: 3354 (xdg-desktop-por)
           UID: 967 (sddm)
           GID: 967 (sddm)
        Signal: 6 (ABRT)
     Timestamp: Sun 2023-06-04 19:06:01 +04 (1h 2min ago)
  Command Line: /usr/lib/xdg-desktop-portal-kde
    Executable: /usr/lib/xdg-desktop-portal-kde
 Control Group: /user.slice/user-967.slice/user@967.service/session.slice/plasma-xdg-desktop-portal-kde.service
          Unit: user@967.service
     User Unit: plasma-xdg-desktop-portal-kde.service
         Slice: user-967.slice
     Owner UID: 967 (sddm)
       Boot ID: a25aca3f74fc4fce95d7f0dbe6cc0d40
    Machine ID: 3b383363c087464e94d59ec35386ae90
      Hostname: randomLaptop.device.com
       Storage: /var/lib/systemd/coredump/core.xdg-desktop-por.967.a25aca3f74fc4fce95d7f0dbe6cc0d40.3354.1685891161000000.zst (inaccessible)
       Message: Process 3354 (xdg-desktop-por) of user 967 dumped core.
                
                Stack trace of thread 3354:
                #0  0x00007f720a09f26c n/a (libc.so.6 + 0x8926c)
                #1  0x00007f720a04fa08 raise (libc.so.6 + 0x39a08)
                #2  0x00007f720a038538 abort (libc.so.6 + 0x22538)
                #3  0x00007f720a6a0098 _ZNK14QMessageLogger5fatalEPKcz (libQt5Core.so.5 + 0xa0098)
                #4  0x00007f720ad3ecb2 _ZN22QGuiApplicationPrivate25createPlatformIntegrationEv (libQt5Gui.so.5 + 0x13ecb2)
                #5  0x00007f720ad3f349 _ZN22QGuiApplicationPrivate21createEventDispatcherEv (libQt5Gui.so.5 + 0x13f349)
                #6  0x00007f720a89a5b5 _ZN23QCoreApplicationPrivate4initEv (libQt5Core.so.5 + 0x29a5b5)
                #7  0x00007f720ad3f3f6 _ZN22QGuiApplicationPrivate4initEv (libQt5Gui.so.5 + 0x13f3f6)
                #8  0x00007f720c375b9e _ZN19QApplicationPrivate4initEv (libQt5Widgets.so.5 + 0x175b9e)
                #9  0x000055695c06e0f4 n/a (xdg-desktop-portal-kde + 0x250f4)
                #10 0x00007f720a039850 n/a (libc.so.6 + 0x23850)
                #11 0x00007f720a03990a __libc_start_main (libc.so.6 + 0x2390a)
                #12 0x000055695c06f595 n/a (xdg-desktop-portal-kde + 0x26595)
                
                Stack trace of thread 3360:
                #0  0x00007f720a113c0f __poll (libc.so.6 + 0xfdc0f)
                #1  0x00007f7208f6da9f n/a (libglib-2.0.so.0 + 0xb7a9f)
                #2  0x00007f7208f0e032 g_main_context_iteration (libglib-2.0.so.0 + 0x58032)
                #3  0x00007f720a8e9f0c _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5 + 0x2e9f0c)
                #4  0x00007f720a899824 _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5 + 0x299824)
                #5  0x00007f720a6f6eb6 _ZN7QThread4execEv (libQt5Core.so.5 + 0xf6eb6)
                #6  0x00007f720b4a069a n/a (libQt5DBus.so.5 + 0x2469a)
                #7  0x00007f720a6f30da n/a (libQt5Core.so.5 + 0xf30da)
                #8  0x00007f720a09d44b n/a (libc.so.6 + 0x8744b)
                #9  0x00007f720a120e40 n/a (libc.so.6 + 0x10ae40)
                ELF object binary architecture: AMD x86-64
```
Comment 1 Nate Graham 2023-06-05 15:49:58 UTC
Cannot reproduce the issue with those steps and the backtrace is missing debug symbols and de-mangling that would help us investigate it. Can you follow the instructions at https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl *exactly* to get a better backtrace, and then paste it in here? Thanks!
Comment 2 randomnes037 2023-06-05 18:09:44 UTC
(In reply to Nate Graham from comment #1)
> Cannot reproduce the issue with those steps and the backtrace is missing
> debug symbols and de-mangling that would help us investigate it. Can you
> follow the instructions at
> https://community.kde.org/Guidelines_and_HOWTOs/Debugging/
> How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl
> *exactly* to get a better backtrace, and then paste it in here? Thanks!

I followed the steps for Arch linux, this is the backtrace I got:

#0  0x00007f5caa4a43c8 in pthread_sigmask () at /usr/lib/libc.so.6
#1  0x00007f5caa44fcad in sigprocmask () at /usr/lib/libc.so.6
#2  0x00007f5cacd2420b in KCrash::setCrashHandler(void (*)(int)) ()
    at /usr/lib/libKF5Crash.so.5
#3  0x00007f5cacd26816 in KCrash::defaultCrashHandler(int) () at /usr/lib/libKF5Crash.so.5
#4  0x00007f5caa44fab0 in <signal handler called> () at /usr/lib/libc.so.6
#5  0x00007f5caa49f26c in  () at /usr/lib/libc.so.6
#6  0x00007f5caa44fa08 in raise () at /usr/lib/libc.so.6
#7  0x00007f5caa438538 in abort () at /usr/lib/libc.so.6
#8  0x00007f5caa4392db in  () at /usr/lib/libc.so.6
#9  0x00007f5caa4a91b7 in  () at /usr/lib/libc.so.6
#10 0x00007f5caa4ab048 in  () at /usr/lib/libc.so.6
#11 0x00007f5caa4adcb3 in free () at /usr/lib/libc.so.6
#12 0x00007f5cabab7030 in QWidgetLineControl::internalSetText(QString const&, int, bool) ()
    at /usr/lib/libQt5Widgets.so.5
#13 0x00007f5ca9f81894 in  () at /usr/lib/libKF5KIOWidgets.so.5
#14 0x00007f5ca9f6ce36 in  () at /usr/lib/libKF5KIOWidgets.so.5
#15 0x00007f5ca9f6f529 in  () at /usr/lib/libKF5KIOWidgets.so.5
#16 0x00007f5ca9f6ffaf in KPropertiesDialog::KPropertiesDialog(QUrl const&, QWidget*) ()
    at /usr/lib/libKF5KIOWidgets.so.5
#17 0x00007f5ca9f70073 in KPropertiesDialog::showDialog(QUrl const&, QWidget*, bool) ()
    at /usr/lib/libKF5KIOWidgets.so.5
#18 0x00007f5c577dd74c in  ()
    at /usr/lib/qt/qml/org/kde/plasma/private/kicker/libkickerplugin.so
#19 0x00007f5c577a81bf in  ()
    at /usr/lib/qt/qml/org/kde/plasma/private/kicker/libkickerplugin.so
#20 0x00007f5c577aee31 in  ()
Comment 3 randomnes037 2023-06-05 18:18:20 UTC
(In reply to Nate Graham from comment #1)
> Cannot reproduce the issue with those steps and the backtrace is missing
> debug symbols and de-mangling that would help us investigate it. Can you
> follow the instructions at
> https://community.kde.org/Guidelines_and_HOWTOs/Debugging/
> How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl
> *exactly* to get a better backtrace, and then paste it in here? Thanks!

sorry there was more:

#0  0x00007f5caa4a43c8 in pthread_sigmask () at /usr/lib/libc.so.6
#1  0x00007f5caa44fcad in sigprocmask () at /usr/lib/libc.so.6
#2  0x00007f5cacd2420b in KCrash::setCrashHandler(void (*)(int)) ()
    at /usr/lib/libKF5Crash.so.5
#3  0x00007f5cacd26816 in KCrash::defaultCrashHandler(int) () at /usr/lib/libKF5Crash.so.5
#4  0x00007f5caa44fab0 in <signal handler called> () at /usr/lib/libc.so.6
#5  0x00007f5caa49f26c in  () at /usr/lib/libc.so.6
#6  0x00007f5caa44fa08 in raise () at /usr/lib/libc.so.6
#7  0x00007f5caa438538 in abort () at /usr/lib/libc.so.6
#8  0x00007f5caa4392db in  () at /usr/lib/libc.so.6
#9  0x00007f5caa4a91b7 in  () at /usr/lib/libc.so.6
#10 0x00007f5caa4ab048 in  () at /usr/lib/libc.so.6
#11 0x00007f5caa4adcb3 in free () at /usr/lib/libc.so.6
#12 0x00007f5cabab7030 in QWidgetLineControl::internalSetText(QString const&, int, bool) ()
    at /usr/lib/libQt5Widgets.so.5
#13 0x00007f5ca9f81894 in  () at /usr/lib/libKF5KIOWidgets.so.5
#14 0x00007f5ca9f6ce36 in  () at /usr/lib/libKF5KIOWidgets.so.5
#15 0x00007f5ca9f6f529 in  () at /usr/lib/libKF5KIOWidgets.so.5
#16 0x00007f5ca9f6ffaf in KPropertiesDialog::KPropertiesDialog(QUrl const&, QWidget*) ()
    at /usr/lib/libKF5KIOWidgets.so.5
#17 0x00007f5ca9f70073 in KPropertiesDialog::showDialog(QUrl const&, QWidget*, bool) ()
    at /usr/lib/libKF5KIOWidgets.so.5
#18 0x00007f5c577dd74c in  ()
    at /usr/lib/qt/qml/org/kde/plasma/private/kicker/libkickerplugin.so
#19 0x00007f5c577a81bf in  ()
    at /usr/lib/qt/qml/org/kde/plasma/private/kicker/libkickerplugin.so
#20 0x00007f5c577aee31 in  ()
--Type <RET> for more, q to quit, c to continue without paging--
    at /usr/lib/qt/qml/org/kde/plasma/private/kicker/libkickerplugin.so
#21 0x00007f5c5779fe27 in  ()
    at /usr/lib/qt/qml/org/kde/plasma/private/kicker/libkickerplugin.so
#22 0x00007f5c577a302b in  ()
    at /usr/lib/qt/qml/org/kde/plasma/private/kicker/libkickerplugin.so
#23 0x00007f5cac278174 in  () at /usr/lib/libQt5Qml.so.5
#24 0x00007f5cac178671 in  () at /usr/lib/libQt5Qml.so.5
#25 0x00007f5cac17da96 in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () at /usr/lib/libQt5Qml.so.5
#26 0x00007f5cac18fc67 in  () at /usr/lib/libQt5Qml.so.5
#27 0x00007f5cac1956c4 in  () at /usr/lib/libQt5Qml.so.5
#28 0x00007f5cac136e30 in  () at /usr/lib/libQt5Qml.so.5
#29 0x00007f5cac18fc67 in  () at /usr/lib/libQt5Qml.so.5
#30 0x00007f5cac1956c4 in  () at /usr/lib/libQt5Qml.so.5
#31 0x00007f5cac13702a in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) () at /usr/lib/libQt5Qml.so.5
#32 0x00007f5cac29935d in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) ()
    at /usr/lib/libQt5Qml.so.5
#33 0x00007f5cac255811 in QQmlBoundSignalExpression::evaluate(void**) ()
    at /usr/lib/libQt5Qml.so.5
#34 0x00007f5cac255d0c in  () at /usr/lib/libQt5Qml.so.5
#35 0x00007f5cac278095 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) ()
    at /usr/lib/libQt5Qml.so.5
#36 0x00007f5caaccf8d0 in  () at /usr/lib/libQt5Core.so.5
#37 0x00007f5cac233b15 in QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) () at /usr/lib/libQt5Qml.so.5
#38 0x00007f5cac278174 in  () at /usr/lib/libQt5Qml.so.5
--Type <RET> for more, q to quit, c to continue without paging--
#39 0x00007f5cac178671 in  () at /usr/lib/libQt5Qml.so.5
#40 0x00007f5cac17da96 in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () at /usr/lib/libQt5Qml.so.5
#41 0x00007f5cac18fc67 in  () at /usr/lib/libQt5Qml.so.5
#42 0x00007f5cac1956c4 in  () at /usr/lib/libQt5Qml.so.5
#43 0x00007f5cac13702a in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) () at /usr/lib/libQt5Qml.so.5
#44 0x00007f5cac29935d in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) ()
    at /usr/lib/libQt5Qml.so.5
#45 0x00007f5cac255811 in QQmlBoundSignalExpression::evaluate(void**) ()
    at /usr/lib/libQt5Qml.so.5
#46 0x00007f5cac255d0c in  () at /usr/lib/libQt5Qml.so.5
#47 0x00007f5cac278095 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) ()
    at /usr/lib/libQt5Qml.so.5
#48 0x00007f5caaccf8d0 in  () at /usr/lib/libQt5Core.so.5
#49 0x00007f5cac233b15 in QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) () at /usr/lib/libQt5Qml.so.5
#50 0x00007f5cac278174 in  () at /usr/lib/libQt5Qml.so.5
#51 0x00007f5cac178671 in  () at /usr/lib/libQt5Qml.so.5
#52 0x00007f5cac17da96 in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () at /usr/lib/libQt5Qml.so.5
#53 0x00007f5cac18fc67 in  () at /usr/lib/libQt5Qml.so.5
#54 0x00007f5cac1956c4 in  () at /usr/lib/libQt5Qml.so.5
#55 0x00007f5cac13702a in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) () at /usr/lib/libQt5Qml.so.5
#56 0x00007f5cac29935d in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) ()
    at /usr/lib/libQt5Qml.so.5
--Type <RET> for more, q to quit, c to continue without paging--
#57 0x00007f5cac255811 in QQmlBoundSignalExpression::evaluate(void**) ()
    at /usr/lib/libQt5Qml.so.5
#58 0x00007f5cac255d0c in  () at /usr/lib/libQt5Qml.so.5
#59 0x00007f5cac278095 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) ()
    at /usr/lib/libQt5Qml.so.5
#60 0x00007f5caaccf8d0 in  () at /usr/lib/libQt5Core.so.5
#61 0x00007f5caaccffe7 in  () at /usr/lib/libQt5Core.so.5
#62 0x00007f5cab96bbb7 in QAction::triggered(bool) () at /usr/lib/libQt5Widgets.so.5
#63 0x00007f5cab97160b in QAction::activate(QAction::ActionEvent) ()
    at /usr/lib/libQt5Widgets.so.5
#64 0x00007f5cabaf3b4b in  () at /usr/lib/libQt5Widgets.so.5
#65 0x00007f5cabaf3c6d in  () at /usr/lib/libQt5Widgets.so.5
#66 0x00007f5cab9af1e1 in QWidget::event(QEvent*) () at /usr/lib/libQt5Widgets.so.5
#67 0x00007f5cab97893f in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
    at /usr/lib/libQt5Widgets.so.5
#68 0x00007f5cab97ddef in QApplication::notify(QObject*, QEvent*) ()
    at /usr/lib/libQt5Widgets.so.5
#69 0x00007f5caac9ab18 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
    at /usr/lib/libQt5Core.so.5
#70 0x00007f5cab97c12a in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /usr/lib/libQt5Widgets.so.5
#71 0x00007f5cab9cd9d4 in  () at /usr/lib/libQt5Widgets.so.5
#72 0x00007f5cab9cec27 in  () at /usr/lib/libQt5Widgets.so.5
#73 0x00007f5cab97893f in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
    at /usr/lib/libQt5Widgets.so.5
#74 0x00007f5caac9ab18 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
    at /usr/lib/libQt5Core.so.5
--Type <RET> for more, q to quit, c to continue without paging--
#75 0x00007f5cab14121c in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/libQt5Gui.so.5
#76 0x00007f5cab12a955 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Gui.so.5
#77 0x00007f5cac55e8d5 in  () at /usr/lib/libQt5WaylandClient.so.5
#78 0x00007f5ca9901981 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#79 0x00007f5ca995eb39 in  () at /usr/lib/libglib-2.0.so.0
#80 0x00007f5ca98ff032 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#81 0x00007f5caace9f0c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#82 0x00007f5caac99824 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /usr/lib/libQt5Core.so.5
#83 0x00007f5caac9acc3 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#84 0x00005604aca6916c in  ()
#85 0x00007f5caa439850 in  () at /usr/lib/libc.so.6
#86 0x00007f5caa43990a in __libc_start_main () at /usr/lib/libc.so.6
#87 0x00005604aca69515 in  ()
Comment 4 Nate Graham 2023-06-06 15:45:14 UTC
Thanks But we also need debug symbols for KIO and Plasma, because these lines are missing most symbols:

#13 0x00007f5ca9f81894 in  () at /usr/lib/libKF5KIOWidgets.so.5
#14 0x00007f5ca9f6ce36 in  () at /usr/lib/libKF5KIOWidgets.so.5
#15 0x00007f5ca9f6f529 in  () at /usr/lib/libKF5KIOWidgets.so.5
#16 0x00007f5ca9f6ffaf in KPropertiesDialog::KPropertiesDialog(QUrl const&, QWidget*) ()
    at /usr/lib/libKF5KIOWidgets.so.5
#17 0x00007f5ca9f70073 in KPropertiesDialog::showDialog(QUrl const&, QWidget*, bool) ()
    at /usr/lib/libKF5KIOWidgets.so.5
#18 0x00007f5c577dd74c in  ()
    at /usr/lib/qt/qml/org/kde/plasma/private/kicker/libkickerplugin.so
#19 0x00007f5c577a81bf in  ()
    at /usr/lib/qt/qml/org/kde/plasma/private/kicker/libkickerplugin.so
#20 0x00007f5c577aee31 in  ()
--Type <RET> for more, q to quit, c to continue without paging--
    at /usr/lib/qt/qml/org/kde/plasma/private/kicker/libkickerplugin.so
#21 0x00007f5c5779fe27 in  ()
    at /usr/lib/qt/qml/org/kde/plasma/private/kicker/libkickerplugin.so
#22 0x00007f5c577a302b in  ()
    at /usr/lib/qt/qml/org/kde/plasma/private/kicker/libkickerplugin.so
Comment 5 Bug Janitor Service 2023-06-21 03:45:12 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 6 Bug Janitor Service 2023-07-06 03:45:24 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!