Application: kate (22.12.1) Qt Version: 5.15.8 Frameworks Version: 5.101.0 Operating System: Linux 6.1.4-zen2-1-zen x86_64 Windowing System: Wayland Distribution: "Arch Linux" DrKonqi: 5.26.5 [KCrashBackend] -- Information about the crash: When working in session with several git project files opened, Kate is crashing when switching branches (which affects opened files existence) from terminal. It also crashes when changing branches via git plugin, but that I didn't use that often, so it's not tested much. The crash can be reproduced sometimes. -- Backtrace: Application: Kate (kate), signal: Segmentation fault Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>} [KCrash Handler] #6 0x00007fc859c580f4 in KateMwModOnHdDialog::slotSelectionChanged (this=<optimized out>, current=0x5600afe6a2c0) at /usr/src/debug/kate/kate-22.12.1/apps/lib/katemwmodonhddialog.cpp:240 #7 0x00007fc8586bda91 in QtPrivate::QSlotObjectBase::call (a=<optimized out>, r=<optimized out>, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #8 doActivate<false> (sender=0x5600b0959000, signal_index=24, argv=0x7ffeca70c190) at kernel/qobject.cpp:3923 #9 0x00007fc85965a3fc in QTreeWidget::currentItemChanged (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>) at .moc/moc_qtreewidget.cpp:445 #10 0x00007fc8586bdc40 in doActivate<false> (sender=0x5600b07772d0, signal_index=4, argv=0x7ffeca70c290) at kernel/qobject.cpp:3935 #11 0x00007fc8586515bf in QItemSelectionModel::currentChanged (this=this@entry=0x5600b07772d0, _t1=..., _t2=...) at .moc/moc_qitemselectionmodel.cpp:482 #12 0x00007fc858653983 in QItemSelectionModel::setCurrentIndex (this=0x5600b07772d0, index=..., command=...) at itemmodels/qitemselectionmodel.cpp:1416 #13 0x00007fc8595daca8 in QAbstractItemView::focusInEvent (this=0x5600b0959000, event=0x7ffeca70c500) at itemviews/qabstractitemview.cpp:2251 #14 0x00007fc8593af464 in QWidget::event (this=0x5600b0959000, event=0x7ffeca70c500) at kernel/qwidget.cpp:8788 #15 0x00007fc85945dac3 in QFrame::event (this=0x5600b0959000, e=0x7ffeca70c500) at widgets/qframe.cpp:550 #16 0x00007fc859378b5c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5600b0959000, e=0x7ffeca70c500) at kernel/qapplication.cpp:3640 #17 0x00007fc85868cf98 in QCoreApplication::notifyInternal2 (receiver=0x5600b0959000, event=0x7ffeca70c500) at kernel/qcoreapplication.cpp:1064 #18 0x00007fc859374bec in QApplicationPrivate::setFocusWidget (reason=<optimized out>, focus=<optimized out>) at kernel/qapplication.cpp:1726 #19 QApplicationPrivate::setFocusWidget (focus=0x5600b0959000, reason=<optimized out>) at kernel/qapplication.cpp:1680 #20 0x00007fc8593a97f7 in QWidget::setFocus (reason=Qt::ActiveWindowFocusReason, this=0x5600b0959000) at kernel/qwidget.cpp:6349 #21 QWidget::setFocus (this=0x5600b0959000, reason=Qt::ActiveWindowFocusReason) at kernel/qwidget.cpp:6296 #22 0x00007fc859376350 in QApplication::setActiveWindow (act=act@entry=0x7fc844007ab0) at kernel/qapplication.cpp:2055 #23 0x00007fc859376530 in QApplicationPrivate::notifyActiveWindowChange (this=<optimized out>, previous=<optimized out>) at kernel/qapplication.cpp:2101 #24 0x00007fc858b3ffa5 in QGuiApplicationPrivate::processActivatedEvent (e=<optimized out>) at kernel/qguiapplication.cpp:2518 #25 0x00007fc858b28885 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:1169 #26 0x00007fc8536c3a55 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib/libQt5WaylandClient.so.5 #27 0x00007fc85651687b in g_main_dispatch (context=0x7fc84c005010) at ../glib/glib/gmain.c:3454 #28 g_main_context_dispatch (context=0x7fc84c005010) at ../glib/glib/gmain.c:4172 #29 0x00007fc85656dc89 in g_main_context_iterate.constprop.0 (context=0x7fc84c005010, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4248 #30 0x00007fc856515132 in g_main_context_iteration (context=0x7fc84c005010, may_block=1) at ../glib/glib/gmain.c:4313 #31 0x00007fc8586d7c8c in QEventDispatcherGlib::processEvents (this=0x5600ae4135a0, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #32 0x00007fc85868574c in QEventLoop::exec (this=this@entry=0x7ffeca70c9f0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #33 0x00007fc859573a4b in QDialog::exec (this=0x7fc844007ab0) at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #34 0x00007fc859c93c3e in operator() (__closure=<optimized out>) at /usr/src/debug/kate/kate-22.12.1/apps/lib/katemainwindow.cpp:1346 #35 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KateMainWindow::event(QEvent*)::<lambda()> >::call (arg=<optimized out>, f=...) at /usr/include/qt/QtCore/qobjectdefs_impl.h:146 #36 QtPrivate::Functor<KateMainWindow::event(QEvent*)::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=...) at /usr/include/qt/QtCore/qobjectdefs_impl.h:256 #37 QtPrivate::QFunctorSlotObject<KateMainWindow::event(QEvent*)::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443 #38 0x00007fc8586c03a7 in QtPrivate::QSlotObjectBase::call (a=<optimized out>, r=<optimized out>, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #39 QSingleShotTimer::timerEvent (this=0x5600b077a340) at kernel/qtimer.cpp:320 #40 0x00007fc8586b0b76 in QObject::event (this=0x5600b077a340, e=0x7ffeca70cbd0) at kernel/qobject.cpp:1324 #41 0x00007fc859378b5c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5600b077a340, e=0x7ffeca70cbd0) at kernel/qapplication.cpp:3640 #42 0x00007fc85868cf98 in QCoreApplication::notifyInternal2 (receiver=0x5600b077a340, event=0x7ffeca70cbd0) at kernel/qcoreapplication.cpp:1064 #43 0x00007fc8586d74d3 in QTimerInfoList::activateTimers (this=0x5600ae413a50) at kernel/qtimerinfo_unix.cpp:643 #44 0x00007fc8586d7aca in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:183 #45 0x00007fc85651687b in g_main_dispatch (context=0x7fc84c005010) at ../glib/glib/gmain.c:3454 #46 g_main_context_dispatch (context=0x7fc84c005010) at ../glib/glib/gmain.c:4172 #47 0x00007fc85656dc89 in g_main_context_iterate.constprop.0 (context=0x7fc84c005010, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4248 #48 0x00007fc856515132 in g_main_context_iteration (context=0x7fc84c005010, may_block=1) at ../glib/glib/gmain.c:4313 #49 0x00007fc8586d7c8c in QEventDispatcherGlib::processEvents (this=0x5600ae4135a0, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #50 0x00007fc85868574c in QEventLoop::exec (this=0x7ffeca70ce80, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #51 0x00007fc858690269 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #52 0x00007fc858b39fe2 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1870 #53 0x00007fc859376f2a in QApplication::exec () at kernel/qapplication.cpp:2832 #54 0x00005600ad95e5d5 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kate/kate-22.12.1/apps/kate/main.cpp:603 [Inferior 1 (process 6823) detached] Reported using DrKonqi
A possibly relevant merge request was started @ https://invent.kde.org/utilities/kate/-/merge_requests/1164
Git commit 1e71ffeca3d8e0daa69a85cf22730c84dc457d02 by Christoph Cullmann, on behalf of Waqar Ahmed. Committed on 24/03/2023 at 17:37. Pushed by cullmann into branch 'master'. Cleanup/improve MWModOnHDDialog This commit is a clean up of Kate modified dialog to make it less crashy and easier to understand. - rename twDocuments to docsTreeWidget - Store doc as a QPointer inside QTreeWidgetItem - Check the doc for nullness everywhere - Check the docInfo for nullness everywhere (it can be null) M +2 -2 apps/lib/katemainwindow.cpp M +54 -37 apps/lib/katemwmodonhddialog.cpp M +6 -5 apps/lib/katemwmodonhddialog.h https://invent.kde.org/utilities/kate/commit/1e71ffeca3d8e0daa69a85cf22730c84dc457d02
Git commit e26a35346ac10d0f4bbe31c0259a253592ff37c3 by Waqar Ahmed. Committed on 29/03/2023 at 12:07. Pushed by waqar into branch 'release/23.04'. Cleanup/improve MWModOnHDDialog This commit is a clean up of Kate modified dialog to make it less crashy and easier to understand. - rename twDocuments to docsTreeWidget - Store doc as a QPointer inside QTreeWidgetItem - Check the doc for nullness everywhere - Check the docInfo for nullness everywhere (it can be null) (cherry picked from commit 1e71ffeca3d8e0daa69a85cf22730c84dc457d02) M +2 -2 apps/lib/katemainwindow.cpp M +54 -37 apps/lib/katemwmodonhddialog.cpp M +6 -5 apps/lib/katemwmodonhddialog.h https://invent.kde.org/utilities/kate/commit/e26a35346ac10d0f4bbe31c0259a253592ff37c3