Summary: | kmenuedit crashes when creating a new item | ||
---|---|---|---|
Product: | [Applications] kmenuedit | Reporter: | Oded Arbel <oded> |
Component: | general | Assignee: | David Redondo <kde> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | bbilek, carlazz66, dlh164, esa1975, joe.khamis, rikmills, victorr2007, vortex |
Priority: | HI | Keywords: | drkonqi |
Version: | 5.17.90 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | https://commits.kde.org/kmenuedit/92bbc4735cbc7277610e48c82f3e41ac37e5773f | Version Fixed In: | 5.18.0 |
Sentry Crash Report: | |||
Attachments: |
kmenuedit-20200115-131212.kcrash.txt
kmenuedit-20200118-120549.kcrash.txt |
Description
Oded Arbel
2019-12-30 09:57:15 UTC
Created attachment 125141 [details]
kmenuedit-20200115-131212.kcrash.txt
Application: kmenuedit (5.17.80)
Qt Version: 5.14.0
Frameworks Version: 5.66.0
Operating System: Linux 5.4.12-nrj-desktop-1rosa-x86_64 x86_64
Windowing system: X11
Distribution: ROSA Desktop Fresh R11 EE 2016.1 Desktop
The crash can be reproduced every time.
I can confirm this behavior using the Kubuntu beta PPA on 19.10. Operating System: Kubuntu 19.10 KDE Plasma Version: 5.17.90 KDE Frameworks Version: 5.66.0 Qt Version: 5.12.4 Kernel Version: 5.3.0-26-generic OS Type: 64-bit Processors: 12 × Intel® Core™ i7-8750H CPU @ 2.20GHz Memory: 15.4 GiB of RAM Created attachment 125227 [details]
kmenuedit-20200118-120549.kcrash.txt
Possibly no different than the other reporter but I thought it might be helpful.
Application: kmenuedit (5.17.90) Qt Version: 5.12.5 Frameworks Version: 5.66.0 Distribution: Ubuntu 20.04 Thread 1 "kmenuedit" received signal SIGSEGV, Segmentation fault. KService::desktopEntryName (this=0x0) at ./src/services/kservice.cpp:909 909 ./src/services/kservice.cpp: No such file or directory. (gdb) bt #0 KService::desktopEntryName (this=0x0) at ./src/services/kservice.cpp:909 #1 0x00007ffff7fa0b79 in GlobalAccel::getMenuEntryShortcut (storageId=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:88 #2 0x00007ffff7f9cab5 in MenuEntryInfo::shortcut (this=this@entry=0x5555559928e0) at ./menuinfo.cpp:367 #3 0x00007ffff7f89e0d in BasicTab::setEntryInfo (this=0x555555684d00, entryInfo=0x5555559928e0) at ./basictab.cpp:345 #4 0x00007ffff7f84a24 in BasicTab::qt_static_metacall (_o=<optimised out>, _id=<optimised out>, _a=<optimised out>, _c=<optimised out>) at ./obj-x86_64-linux-gnu/kdeinit_kmenuedit_autogen/EWIEGA46WW/moc_basictab.cpp:129 #5 0x00007ffff65736e8 in QMetaObject::activate (sender=0x555555625a90, signalOffset=<optimised out>, local_signal_index=<optimised out>, argv=<optimised out>) at kernel/qobject.cpp:3803 #6 0x00007ffff7f84836 in TreeView::entrySelected (this=<optimised out>, _t1=<optimised out>) at ./obj-x86_64-linux-gnu/kdeinit_kmenuedit_autogen/EWIEGA46WW/moc_treeview.cpp:249 #7 0x00007ffff6573848 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffcca0, r=0x555555625a90, this=0x555555669ed0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394 #8 QMetaObject::activate (sender=0x555555625a90, signalOffset=<optimised out>, local_signal_index=<optimised out>, argv=<optimised out>) at kernel/qobject.cpp:3783 #9 0x00007ffff738bbe2 in QTreeWidget::currentItemChanged (this=<optimised out>, _t1=<optimised out>, _t2=<optimised out>) at .moc/moc_qtreewidget.cpp:444 #10 0x00007ffff738d622 in QTreeWidgetPrivate::_q_emitCurrentItemChanged (this=<optimised out>, current=..., previous=...) at itemviews/qtreewidget.cpp:2342 #11 0x00007ffff73947cf in QTreeWidget::qt_static_metacall (_o=<optimised out>, _c=<optimised out>, _id=<optimised out>, _a=<optimised out>) at itemviews/qtreewidget.h:381 #12 0x00007ffff65736e8 in QMetaObject::activate (sender=0x7fffec005500, signalOffset=<optimised out>, local_signal_index=<optimised out>, argv=<optimised out>) at kernel/qobject.cpp:3803 #13 0x00007ffff65033d7 in QItemSelectionModel::currentChanged (this=this@entry=0x7fffec005500, _t1=..., _t2=...) at .moc/moc_qitemselectionmodel.cpp:465 #14 0x00007ffff65056a0 in QItemSelectionModel::setCurrentIndex (this=0x7fffec005500, index=..., command=...) at itemmodels/qitemselectionmodel.cpp:1414 #15 0x00007ffff730d45d in QAbstractItemView::setCurrentIndex (this=this@entry=0x555555625a90, index=...) at /usr/include/c++/9/bits/atomic_base.h:413 #16 0x00007ffff738dade in QTreeWidget::setCurrentItem (this=this@entry=0x555555625a90, item=0x555555953240, column=column@entry=0) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:499 #17 0x00007ffff738db0b in QTreeWidget::setCurrentItem (this=this@entry=0x555555625a90, item=<optimised out>) at itemviews/qtreewidget.cpp:2840 #18 0x00007ffff7f953e8 in TreeView::newitem (this=0x555555625a90) at ./treeview.cpp:1145 #19 0x00007ffff6573848 in QtPrivate::QSlotObjectBase::call (a=0x7fffffffd0e0, r=0x555555625a90, this=0x55555566d300) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394 #20 QMetaObject::activate (sender=0x555555637440, signalOffset=<optimised out>, local_signal_index=<optimised out>, argv=<optimised out>) at kernel/qobject.cpp:3783 #21 0x00007ffff709f3e6 in QAction::triggered (this=this@entry=0x555555637440, _t1=<optimised out>) at .moc/moc_qaction.cpp:380 #22 0x00007ffff70a1aa2 in QAction::activate (this=0x555555637440, event=<optimised out>) at kernel/qaction.cpp:1166 #23 0x00007ffff719bc30 in QAbstractButtonPrivate::click (this=0x55555582bfb0) at widgets/qabstractbutton.cpp:397 #24 0x00007ffff719be55 in QAbstractButton::mouseReleaseEvent (this=0x5555556dff60, e=0x7fffffffd680) at widgets/qabstractbutton.cpp:1011 #25 0x00007ffff728f3ce in QToolButton::mouseReleaseEvent (this=<optimised out>, e=<optimised out>) at widgets/qtoolbutton.cpp:622 #26 0x00007ffff70e82de in QWidget::event (this=0x5555556dff60, event=0x7fffffffd680) at kernel/qwidget.cpp:8965 #27 0x00007ffff719d093 in QAbstractButton::event (this=this@entry=0x5555556dff60, e=e@entry=0x7fffffffd680) at widgets/qabstractbutton.cpp:968 #28 0x00007ffff728f478 in QToolButton::event (this=0x5555556dff60, event=0x7fffffffd680) at widgets/qtoolbutton.cpp:1001 #29 0x00007ffff70a5a66 in QApplicationPrivate::notify_helper (this=this@entry=0x55555556ce80, receiver=receiver@entry=0x5555556dff60, e=e@entry=0x7fffffffd680) at kernel/qapplication.cpp:3700 #30 0x00007ffff70af333 in QApplication::notify (this=<optimised out>, receiver=0x5555556dff60, e=0x7fffffffd680) at kernel/qapplication.cpp:3160 #31 0x00007ffff6547d1a in QCoreApplication::notifyInternal2 (receiver=0x5555556dff60, event=0x7fffffffd680) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:142 #32 0x00007ffff70ae447 in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x5555556dff60, event=event@entry=0x7fffffffd680, alienWidget=alienWidget@entry=0x5555556dff60, nativeWidget=0x5555555f76c0, buttonDown=buttonDown@entry=0x7ffff75d58d0 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2646 #33 0x00007ffff71042bd in QWidgetWindow::handleMouseEvent (this=0x55555577af50, event=0x7fffffffdb00) at /usr/include/c++/9/bits/atomic_base.h:413 #34 0x00007ffff710714c in QWidgetWindow::event (event=0x7fffffffdb00, this=0x55555577af50) at kernel/qwidgetwindow.cpp:281 #35 QWidgetWindow::event (this=0x55555577af50, event=0x7fffffffdb00) at kernel/qwidgetwindow.cpp:224 #36 0x00007ffff70a5a66 in QApplicationPrivate::notify_helper (this=this@entry=0x55555556ce80, receiver=receiver@entry=0x55555577af50, e=e@entry=0x7fffffffdb00) at kernel/qapplication.cpp:3700 #37 0x00007ffff70af0e0 in QApplication::notify (this=0x7fffffffdf80, receiver=0x55555577af50, e=0x7fffffffdb00) at kernel/qapplication.cpp:3446 #38 0x00007ffff6547d1a in QCoreApplication::notifyInternal2 (receiver=0x55555577af50, event=0x7fffffffdb00) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:142 #39 0x00007ffff6a786d3 in QGuiApplicationPrivate::processMouseEvent (e=e@entry=0x55555592ddd0) at kernel/qguiapplication.cpp:2107 #40 0x00007ffff6a79f4b in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x55555592ddd0) at kernel/qguiapplication.cpp:1842 #41 0x00007ffff6a542ab in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1151 #42 0x00007ffff292f25e in xcbSourceDispatch (source=<optimised out>) at qxcbeventdispatcher.cpp:105 #43 0x00007ffff5076edd in g_main_dispatch (context=0x7fffec005010) at ../../../glib/gmain.c:3272 #44 g_main_context_dispatch (context=context@entry=0x7fffec005010) at ../../../glib/gmain.c:3937 #45 0x00007ffff5077160 in g_main_context_iterate (context=context@entry=0x7fffec005010, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimised out>) at ../../../glib/gmain.c:4010 #46 0x00007ffff5077203 in g_main_context_iteration (context=0x7fffec005010, may_block=may_block@entry=1) at ../../../glib/gmain.c:4071 #47 0x00007ffff659f925 in QEventDispatcherGlib::processEvents (this=0x5555555e11d0, flags=...) at kernel/qeventdispatcher_glib.cpp:422 #48 0x00007ffff65468bb in QEventLoop::exec (this=this@entry=0x7fffffffdea0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #49 0x00007ffff654e626 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #50 0x00007ffff6a6d8d0 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1784 #51 0x00007ffff70a59d9 in QApplication::exec () at kernel/qapplication.cpp:2856 #52 0x00007ffff7f86376 in kdemain (argc=<optimised out>, argv=<optimised out>) at ./main.cpp:93 #53 0x00007ffff7da11e3 in __libc_start_main (main=0x555555555060 <main>, argc=1, argv=0x7fffffffe0c8, init=<optimised out>, fini=<optimised out>, rtld_fini=<optimised out>, stack_end=0x7fffffffe0b8) at ../csu/libc-start.c:308 #54 0x000055555555509e in _start () Also the same crash on: Application: kmenuedit (5.17.90) Qt Version: 5.13.2 Frameworks Version: 5.67.0 (git master) Distribution: Neon Testing edition DOES NOT CRASH on: Application: kmenuedit (5.17.5) Qt Version: 5.13.2 Frameworks Version: 5.66.0 Distribution: Neon User edition Git commit e6f5adb584547be63a48bd03610032eec2162455 by David Redondo. Committed on 20/01/2020 at 13:54. Pushed by davidre into branch 'master'. Correctly save shortcuts of new Items Summary: When saving first all changes are saved before updating syscoca. This lead to a crash because serviceByStorageId failed. We can just change the API to directly to take KService::Ptr's. FIXED-IN: 5.18.0 Test Plan: Correctly created a new item and set a shortcut for it Reviewers: #plasma, rikmills, davidedmundson Reviewed By: #plasma, davidedmundson Subscribers: plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D26765 M +2 -4 globalaccel.cpp M +3 -3 globalaccel.h M +1 -1 kconf_update/globalaccel.cpp M +3 -3 menuinfo.cpp https://commits.kde.org/kmenuedit/e6f5adb584547be63a48bd03610032eec2162455 Git commit 92bbc4735cbc7277610e48c82f3e41ac37e5773f by David Redondo. Committed on 20/01/2020 at 14:12. Pushed by davidre into branch 'Plasma/5.18'. Correctly save shortcuts of new Items Summary: When saving first all changes are saved before updating syscoca. This lead to a crash because serviceByStorageId failed. We can just change the API to directly to take KService::Ptr's. FIXED-IN: 5.18.0 Test Plan: Correctly created a new item and set a shortcut for it Reviewers: #plasma, rikmills, davidedmundson Reviewed By: #plasma, davidedmundson Subscribers: plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D26765 M +2 -4 globalaccel.cpp M +3 -3 globalaccel.h M +1 -1 kconf_update/globalaccel.cpp M +3 -3 menuinfo.cpp https://commits.kde.org/kmenuedit/92bbc4735cbc7277610e48c82f3e41ac37e5773f *** Bug 416486 has been marked as a duplicate of this bug. *** *** Bug 417173 has been marked as a duplicate of this bug. *** *** Bug 417097 has been marked as a duplicate of this bug. *** |