https://bugs.kde.org/show_bug.cgi?id=504786
Bug ID: 504786 Summary: Segfault in Keyboard Shortcut Settings Classification: Applications Product: kolourpaint Version First 25.04.1 Reported In: Platform: Other OS: Other Status: REPORTED Severity: normal Priority: NOR Component: general Assignee: kolourpaint-supp...@lists.sourceforge.net Reporter: dillonotto...@gmail.com Target Milestone: --- SUMMARY Minimizing the overall dropdown in the keyboard shortcut menu can lead to a segfault when the individual menus are expanded. This seems like it may be a race condition, as it reproduces more frequently for me in an increased latency environment (i.e. on a VM with less resources). STEPS TO REPRODUCE 1. Settings > Configure Keyboard Shortcuts 2. Expand Add Row Drop Down 3. Minimize KolourPaint dropdown Note: If instead of minimizing the KolourPaint dropdown, you minimize the action dropdown, it leads to graphical glitches where the dropdowns are not closed cleanly. OBSERVED RESULT KolourPaint sometimes crashes with a segfault VIDEO https://youtu.be/ISs_mBWJWCw BACKTRACE Thread 1 "kolourpaint" received signal SIGSEGV, Segmentation fault. 0x00007ffff6a6f0ee in QAbstractItemView::model() const () from /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 (gdb) bt #0 0x00007ffff6a6f0ee in QAbstractItemView::model() const () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #1 0x00007ffff6b0d695 in QTreeWidgetItem::treeModel(QTreeWidget*) const () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #2 0x00007ffff6b0d6d0 in QTreeWidgetItem::executePendingSort() const () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #3 0x00007ffff6b0d906 in ??? () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #4 0x00007ffff7f4d956 in KShortcutsEditorDelegate::itemCollapsed (this=0x555556086550, index=...) at /home/guifuzz/kde/src/kxmlgui/src/kshortcutseditordelegate.cpp:207 #5 0x00007ffff53de038 in ??? () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6 #6 0x00007ffff6af4509 in QTreeView::collapsed(QModelIndex const&) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #7 0x00007ffff6afd7f5 in QTreeViewPrivate::collapse(int, bool) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #8 0x00007ffff6b012b2 in QTreeViewPrivate::expandOrCollapseItemAtPos(QPoint const&) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #9 0x00007ffff6b0668f in QTreeView::mousePressEvent(QMouseEvent*) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #10 0x00007ffff67efdce in QWidget::event(QEvent*) () --Type <RET> for more, q to quit, c to continue without paging--c at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #11 0x00007ffff6882426 in QFrame::event(QEvent*) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #12 0x00007ffff537b9c6 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6 #13 0x00007ffff67903e5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #14 0x00007ffff6799028 in QApplication::notify(QObject*, QEvent*) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #15 0x00007ffff537bcaa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6 #16 0x00007ffff679836d in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #17 0x00007ffff68037b7 in ??? () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #18 0x00007ffff6806473 in ??? () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #19 0x00007ffff67903f6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #20 0x00007ffff537bcaa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6 #21 0x00007ffff5be58b8 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Gui.so.6 #22 0x00007ffff5c48aac in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Gui.so.6 #23 0x00007fffecd9fb9e in ??? () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6XcbQpa.so.6 #24 0x00007ffff4519397 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #25 0x00007ffff4579dc7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #26 0x00007ffff45188b3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #27 0x00007ffff565591e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6 #28 0x00007ffff5388fe2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6 #29 0x00007ffff6a038e5 in QDialog::exec() () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #30 0x00007ffff7f45df3 in KShortcutsDialog::configure (this=<optimized out>, saveSettings=<optimized out>) at /home/guifuzz/kde/src/kxmlgui/src/kshortcutsdialog.cpp:218 #31 0x0000555555643c54 in kpMainWindow::slotKeyBindings (this=0x555555c4de30) at /home/guifuzz/kde/src/kolourpaint/mainWindow/kpMainWindow_Settings.cpp:131 #32 0x00007ffff53de403 in ??? () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6 #33 0x00007ffff6021066 in QAction::triggered(bool) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Gui.so.6 #34 0x00007ffff602402d in QAction::activate(QAction::ActionEvent) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Gui.so.6 #35 0x00007ffff6969df5 in ??? () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #36 0x00007ffff69720c3 in ??? () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #37 0x00007ffff67efdce in QWidget::event(QEvent*) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #38 0x00007ffff67903f6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #39 0x00007ffff6799028 in QApplication::notify(QObject*, QEvent*) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #40 0x00007ffff537bcaa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6 #41 0x00007ffff679836d in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #42 0x00007ffff680410a in ??? () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #43 0x00007ffff6806473 in ??? () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #44 0x00007ffff67903f6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6 #45 0x00007ffff537bcaa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6 #46 0x00007ffff5be58b8 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Gui.so.6 #47 0x00007ffff5c48aac in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Gui.so.6 #48 0x00007fffecd9fb9e in ??? () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6XcbQpa.so.6 #49 0x00007ffff4519397 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #50 0x00007ffff4579dc7 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #51 0x00007ffff45188b3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #52 0x00007ffff565591e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6 #53 0x00007ffff5388fe2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6 #54 0x00007ffff5385166 in QCoreApplication::exec() () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6 #55 0x0000555555602378 in main (argc=1, argv=<optimized out>) at /home/guifuzz/kde/src/kolourpaint/kolourpaint.cpp:126 VERSIONS This was reproduced on the latest version built from source and the current snap. -- You are receiving this mail because: You are watching all bug changes.