Bug 456486 - Kate crashes when I press Ctrl Alt i to bring up the HUD menu
Summary: Kate crashes when I press Ctrl Alt i to bring up the HUD menu
Status: REOPENED
Alias: None
Product: frameworks-kconfigwidgets
Classification: Frameworks and Libraries
Component: general (other bugs)
Version First Reported In: 6.8.0
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2022-07-08 18:19 UTC by kndevl
Modified: 2024-12-08 21:06 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description kndevl 2022-07-08 18:19:09 UTC
Application: kate (22.04.2)

Qt Version: 5.15.5
Frameworks Version: 5.95.0
Operating System: Linux 5.18.6-arch1-1 x86_64
Windowing System: X11
Distribution: Arch Linux
DrKonqi: 5.25.1 [KCrashBackend]

-- Information about the crash:
I am not sure if this is a race condition because I don't see it often.

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: Kate (kate), signal: Segmentation fault

[KCrash Handler]
#4  0x00007ff3dff5a0d4 in QKeySequence::QKeySequence(QKeySequence const&) () from /usr/lib/libQt5Gui.so.5
#5  0x00007ff3e076ca79 in QAction::shortcut() const () from /usr/lib/libQt5Widgets.so.5
#6  0x00007ff3e130a212 in ?? () from /usr/lib/libKF5ConfigWidgets.so.5
#7  0x00007ff3dfa664a1 in QSortFilterProxyModel::data(QModelIndex const&, int) const () from /usr/lib/libQt5Core.so.5
#8  0x00007ff3e1302f0d in ?? () from /usr/lib/libKF5ConfigWidgets.so.5
#9  0x00007ff3e0a493da in QTreeViewPrivate::widthHintForIndex(QModelIndex const&, int, QStyleOptionViewItem const&, int) const () from /usr/lib/libQt5Widgets.so.5
#10 0x00007ff3e0a52f53 in QTreeView::sizeHintForColumn(int) const () from /usr/lib/libQt5Widgets.so.5
#11 0x00007ff3e09ef666 in ?? () from /usr/lib/libQt5Widgets.so.5
#12 0x00007ff3e09efccb in QHeaderView::sectionSize(int) const () from /usr/lib/libQt5Widgets.so.5
#13 0x00007ff3e0a55a97 in QTreeViewPrivate::updateScrollBars() () from /usr/lib/libQt5Widgets.so.5
#14 0x00007ff3e0a55e88 in QTreeView::updateGeometries() () from /usr/lib/libQt5Widgets.so.5
#15 0x00007ff3e0a4c7c9 in QTreeView::timerEvent(QTimerEvent*) () from /usr/lib/libQt5Widgets.so.5
#16 0x00007ff3dfab07d6 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#17 0x00007ff3e0853e23 in QFrame::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#18 0x00007ff3e0778abc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#19 0x00007ff3dfa8cf38 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#20 0x00007ff3dfad6e93 in QTimerInfoList::activateTimers() () from /usr/lib/libQt5Core.so.5
#21 0x00007ff3dfad748a in ?? () from /usr/lib/libQt5Core.so.5
#22 0x00007ff3de06fc6b in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#23 0x00007ff3de0c6001 in ?? () from /usr/lib/libglib-2.0.so.0
#24 0x00007ff3de06d392 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#25 0x00007ff3dfad764c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#26 0x00007ff3dfa856ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#27 0x00007ff3e08fb508 in ?? () from /usr/lib/libQt5Widgets.so.5
#28 0x00007ff3e08fb623 in QMenu::exec(QPoint const&, QAction*) () from /usr/lib/libQt5Widgets.so.5
#29 0x00007ff3e08fb694 in QMenu::exec() () from /usr/lib/libQt5Widgets.so.5
#30 0x00007ff3e13d4104 in ?? () from /usr/lib/libKF5XmlGui.so.5
#31 0x00007ff3dfabd621 in ?? () from /usr/lib/libQt5Core.so.5
#32 0x00007ff3e076be47 in QAction::triggered(bool) () from /usr/lib/libQt5Widgets.so.5
#33 0x00007ff3e0771857 in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQt5Widgets.so.5
#34 0x00007ff3e077191e in QAction::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#35 0x00007ff3e0778abc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#36 0x00007ff3dfa8cf38 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#37 0x00007ff3dff717dd in QShortcutMap::dispatchEvent(QKeyEvent*) () from /usr/lib/libQt5Gui.so.5
#38 0x00007ff3dff71b77 in QShortcutMap::tryShortcut(QKeyEvent*) () from /usr/lib/libQt5Gui.so.5
#39 0x00007ff3dff2a198 in QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short) () from /usr/lib/libQt5Gui.so.5
#40 0x00007ff3dff3f932 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () from /usr/lib/libQt5Gui.so.5
#41 0x00007ff3dff289c5 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5
#42 0x00007ff3dae52ce0 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#43 0x00007ff3de06fc6b in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#44 0x00007ff3de0c6001 in ?? () from /usr/lib/libglib-2.0.so.0
#45 0x00007ff3de06d392 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#46 0x00007ff3dfad764c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#47 0x00007ff3dfa856ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#48 0x00007ff3dfa901e9 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#49 0x000055e812bb17da in ?? ()
#50 0x00007ff3df029290 in ?? () from /usr/lib/libc.so.6
#51 0x00007ff3df02934a in __libc_start_main () from /usr/lib/libc.so.6
#52 0x000055e812bb3c45 in ?? ()
[Inferior 1 (process 11062) detached]

Reported using DrKonqi
Comment 1 Christoph Cullmann 2022-07-12 18:53:36 UTC
This seems to be some issue in the KCommandBar.

Perhaps we need to ensure we handle actions that get deleted during the execution of the KCommandBar?
Comment 2 Christoph Cullmann 2024-12-08 19:30:51 UTC
Can not reproduce this.

Please retry this with a Qt6 based version, thanks!
Comment 3 kndevl 2024-12-08 20:59:43 UTC
I noticed another HUD crash a few days earlier. While I'm not sure if this has the same root cause as the original issue I reported, both seem to be from bringing up the HUD in Kate. This is with Qt 6.8.0-1. The stacktrace from coredumpctl is attached below

#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007209de2a5463 in __pthread_kill_internal (threadid=<optimized out>, signo=11) at pthread_kill.c:78
#2  0x00007209de24c120 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x00007209dff372a1 in KCrash::defaultCrashHandler (sig=11) at /usr/src/debug/kcrash/kcrash-6.8.0/src/kcrash.cpp:596
#4  <signal handler called>
#5  0x00007209df3654db in QAction::shortcut() const () from /usr/lib/libQt6Gui.so.6
#6  0x00007209ddc10f3e in KCommandBarModel::data (this=<optimized out>, index=..., role=<optimized out>) at /usr/src/debug/kconfigwidgets/kconfigwidgets-6.8.0/src/kcommandbarmodel_p.cpp:130
#7  0x00007209deb98bd5 in QSortFilterProxyModel::data(QModelIndex const&, int) const () from /usr/lib/libQt6Core.so.6
#8  0x00007209ddc16d20 in QModelIndex::data (this=0x7fffd11623f0, arole=0) at /usr/include/qt6/QtCore/qabstractitemmodel.h:518
#9  ShortcutStyleDelegate::sizeHint (this=0x63e4ff72eba0, option=..., index=...) at /usr/src/debug/kconfigwidgets/kconfigwidgets-6.8.0/src/kcommandbar.cpp:372
#10 0x00007209dfc7d3f2 in QTreeViewPrivate::widthHintForIndex(QModelIndex const&, int, QStyleOptionViewItem const&, int) const () from /usr/lib/libQt6Widgets.so.6
#11 0x00007209dfc853a5 in QTreeView::sizeHintForColumn(int) const () from /usr/lib/libQt6Widgets.so.6
#12 0x00007209dfc1fd3e in ?? () from /usr/lib/libQt6Widgets.so.6
#13 0x00007209dfc169a8 in QHeaderView::viewportEvent(QEvent*) () from /usr/lib/libQt6Widgets.so.6
#14 0x00007209de955508 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQt6Core.so.6
#15 0x00007209df8fe30a in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt6Widgets.so.6
#16 0x00007209de9585a8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt6Core.so.6
#17 0x00007209df94a184 in QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool) () from /usr/lib/libQt6Widgets.so.6
#18 0x00007209df94a0d9 in QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool) () from /usr/lib/libQt6Widgets.so.6
#19 0x00007209df94a0d9 in QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool) () from /usr/lib/libQt6Widgets.so.6
#20 0x00007209df94a0d9 in QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool) () from /usr/lib/libQt6Widgets.so.6
#21 0x00007209df94a0d9 in QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool) () from /usr/lib/libQt6Widgets.so.6
#22 0x00007209df93ff4f in QWidgetPrivate::prepareToRender(QRegion const&, QFlags<QWidget::RenderFlag>) () from /usr/lib/libQt6Widgets.so.6
#23 0x00007209df943d37 in QWidget::render(QPainter*, QPoint const&, QRegion const&, QFlags<QWidget::RenderFlag>) () from /usr/lib/libQt6Widgets.so.6
#24 0x00007209df944c63 in ?? () from /usr/lib/libQt6Widgets.so.6
#25 0x00007209df9f47ea in QGraphicsEffectSource::pixmap(Qt::CoordinateSystem, QPoint*, QGraphicsEffect::PixmapPadMode) const () from /usr/lib/libQt6Widgets.so.6
#26 0x00007209df9f8899 in QGraphicsDropShadowEffect::draw(QPainter*) () from /usr/lib/libQt6Widgets.so.6
#27 0x00007209df94361f in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /usr/lib/libQt6Widgets.so.6
#28 0x00007209df9455a9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /usr/lib/libQt6Widgets.so.6
#29 0x00007209df942d85 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) () from /usr/lib/libQt6Widgets.so.6
#30 0x00007209df9656df in QWidgetRepaintManager::paintAndFlush() () from /usr/lib/libQt6Widgets.so.6
#31 0x00007209df950a68 in QWidget::event(QEvent*) () from /usr/lib/libQt6Widgets.so.6
#32 0x00007209ddd59871 in KXmlGuiWindow::event (this=0x63e4fd8c3540, ev=0x63e4ff218470) at /usr/src/debug/kxmlgui/kxmlgui-6.8.0/src/kxmlguiwindow.cpp:221
#33 0x00007209df8fe31a in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt6Widgets.so.6
#34 0x00007209de9585a8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt6Core.so.6
#35 0x00007209de959035 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt6Core.so.6
#36 0x00007209debc23fc in ?? () from /usr/lib/libQt6Core.so.6
#37 0x00007209dd44d559 in g_main_dispatch (context=0x7209d0000f30) at ../glib/glib/gmain.c:3357
#38 0x00007209dd4b0157 in g_main_context_dispatch_unlocked (context=0x7209d0000f30) at ../glib/glib/gmain.c:4208
#39 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7209d0000f30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4273
#40 0x00007209dd44ca55 in g_main_context_iteration (context=0x7209d0000f30, may_block=1) at ../glib/glib/gmain.c:4338
#41 0x00007209debbf71d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt6Core.so.6
#42 0x00007209de964566 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt6Core.so.6
#43 0x00007209de959a2f in QCoreApplication::exec() () from /usr/lib/libQt6Core.so.6
#44 0x000063e4cb4f88a0 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kate/kate-24.08.3/apps/kate/main.cpp:537
Comment 4 Christoph Cullmann 2024-12-08 21:01:42 UTC
Ok, then let us re-open this.