| 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 First Reported In: | 5.17.90 | ||
| Target Milestone: | --- | ||
| Platform: | Ubuntu | ||
| OS: | Linux | ||
| Latest Commit: | https://commits.kde.org/kmenuedit/92bbc4735cbc7277610e48c82f3e41ac37e5773f | Version Fixed/Implemented 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. *** |