Some crashes with the new diagnostic filter changes
Not sure what exactly is causing this, but here's how I can repro it:
- Open Kate
- Open new empty session
- Open a folder with a project in it
- Open a file that has warnings
- Click on diagnostics panel
- Kate crashes
I have had various kinds of crashes with this, I think some diagnostic provider is not set up correctly or something?
However, if no session is opened, either "new session" or old session from session list, the crash does not happen.
Backtraces provided by kcrash
Application: Kate (kate), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = 0x0}
[KCrash Handler]
#5 0x00007fccb2cd9230 in QVariant::QVariant(QString const&) () from /lib64/libQt5Core.so.5
#6 0x00007fccb5b4ae63 in ProviderListModel::data (this=0x1719ec0, index=..., role=0) at /home/akseli/Repositories/kde/src/kate/apps/lib/diagnostics/diagnosticview.cpp:62
#7 0x00007fccb3ab76c9 in QComboBoxPrivate::itemText(QModelIndex const&) const () from /lib64/libQt5Widgets.so.5
#8 0x00007fccb3aba6ac in QComboBox::itemText(int) const () from /lib64/libQt5Widgets.so.5
#9 0x00007fccb3abadd9 in QComboBoxPrivate::recomputeSizeHint(QSize&) const () from /lib64/libQt5Widgets.so.5
#10 0x00007fccb39d3136 in QWidgetItemV2::updateCacheIfNecessary() const () from /lib64/libQt5Widgets.so.5
#11 0x00007fccb39d3525 in QWidgetItemV2::maximumSize() const () from /lib64/libQt5Widgets.so.5
#12 0x00007fccb39c6a94 in QBoxLayoutPrivate::setupGeom() [clone .part.0] () from /lib64/libQt5Widgets.so.5
#13 0x00007fccb39c7a28 in non-virtual thunk to QBoxLayout::maximumSize() const () from /lib64/libQt5Widgets.so.5
#14 0x00007fccb39c6a94 in QBoxLayoutPrivate::setupGeom() [clone .part.0] () from /lib64/libQt5Widgets.so.5
#15 0x00007fccb39c8230 in QBoxLayout::setGeometry(QRect const&) () from /lib64/libQt5Widgets.so.5
#16 0x00007fccb39ce978 in QLayoutPrivate::doResize() () from /lib64/libQt5Widgets.so.5
#17 0x00007fccb39cfe07 in QLayout::activate() () from /lib64/libQt5Widgets.so.5
#18 0x00007fccb39aed47 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#19 0x00007fccb2c9d4e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#20 0x00007fccb2ca0854 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib64/libQt5Core.so.5
#21 0x00007fccb2ceeb07 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5Core.so.5
#22 0x00007fccb0d18c7f in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#23 0x00007fccb0d6f118 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
#24 0x00007fccb0d15f00 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#25 0x00007fccb2cee5fa in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#26 0x00007fccb2c9bf3a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#27 0x00007fccb2ca4002 in QCoreApplication::exec() () from /lib64/libQt5Core.so.5
#28 0x000000000040dfbf in main (argc=1, argv=0x7ffc26384dd8) at /home/akseli/Repositories/kde/src/kate/apps/kate/main.cpp:608
[Inferior 1 (process 351964) detached]
Application: Kate (kate), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = 0x0}
[KCrash Handler]
#5 0x00007fd01ad6f660 in QtPrivate::isRightToLeft(QStringView) () from /lib64/libQt5Core.so.5
#6 0x00007fd01b630383 in QTextEngine::itemize() const () from /lib64/libQt5Gui.so.5
#7 0x00007fd01b6180fc in QFontMetrics::boundingRect(QString const&) const () from /lib64/libQt5Gui.so.5
#8 0x00007fd01bebade6 in QComboBoxPrivate::recomputeSizeHint(QSize&) const () from /lib64/libQt5Widgets.so.5
#9 0x00007fd01bdd3136 in QWidgetItemV2::updateCacheIfNecessary() const () from /lib64/libQt5Widgets.so.5
#10 0x00007fd01bdd3525 in QWidgetItemV2::maximumSize() const () from /lib64/libQt5Widgets.so.5
#11 0x00007fd01bdc6a94 in QBoxLayoutPrivate::setupGeom() [clone .part.0] () from /lib64/libQt5Widgets.so.5
#12 0x00007fd01bdc7a28 in non-virtual thunk to QBoxLayout::maximumSize() const () from /lib64/libQt5Widgets.so.5
#13 0x00007fd01bdc6a94 in QBoxLayoutPrivate::setupGeom() [clone .part.0] () from /lib64/libQt5Widgets.so.5
#14 0x00007fd01bdc8230 in QBoxLayout::setGeometry(QRect const&) () from /lib64/libQt5Widgets.so.5
#15 0x00007fd01bdce978 in QLayoutPrivate::doResize() () from /lib64/libQt5Widgets.so.5
#16 0x00007fd01bdcfe07 in QLayout::activate() () from /lib64/libQt5Widgets.so.5
#17 0x00007fd01bdaed47 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#18 0x00007fd01ae9d4e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#19 0x00007fd01bde8608 in QWidgetPrivate::setGeometry_sys(int, int, int, int, bool) () from /lib64/libQt5Widgets.so.5
#20 0x00007fd01bde9601 in QWidget::setGeometry(QRect const&) () from /lib64/libQt5Widgets.so.5
#21 0x00007fd01bdd263f in QWidgetItem::setGeometry(QRect const&) () from /lib64/libQt5Widgets.so.5
#22 0x00007fd01bdc8091 in QBoxLayout::setGeometry(QRect const&) () from /lib64/libQt5Widgets.so.5
#23 0x00007fd01bdce978 in QLayoutPrivate::doResize() () from /lib64/libQt5Widgets.so.5
#24 0x00007fd01bdaed47 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#25 0x00007fd01ae9d4e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#26 0x00007fd01bde8608 in QWidgetPrivate::setGeometry_sys(int, int, int, int, bool) () from /lib64/libQt5Widgets.so.5
#27 0x00007fd01bde9601 in QWidget::setGeometry(QRect const&) () from /lib64/libQt5Widgets.so.5
#28 0x00007fd01bdce978 in QLayoutPrivate::doResize() () from /lib64/libQt5Widgets.so.5
#29 0x00007fd01bdaed47 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#30 0x00007fd01ae9d4e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#31 0x00007fd01bde8608 in QWidgetPrivate::setGeometry_sys(int, int, int, int, bool) () from /lib64/libQt5Widgets.so.5
#32 0x00007fd01bde9601 in QWidget::setGeometry(QRect const&) () from /lib64/libQt5Widgets.so.5
#33 0x00007fd01bf65cb7 in QSplitterPrivate::setGeo(QSplitterLayoutStruct*, int, int, bool) () from /lib64/libQt5Widgets.so.5
#34 0x00007fd01bf68541 in QSplitterPrivate::doResize() () from /lib64/libQt5Widgets.so.5
#35 0x00007fd01bdf2433 in QWidget::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#36 0x00007fd01be9e682 in QFrame::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#37 0x00007fd01bdaed62 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#38 0x00007fd01ae9d4e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#39 0x00007fd01bde8608 in QWidgetPrivate::setGeometry_sys(int, int, int, int, bool) () from /lib64/libQt5Widgets.so.5
#40 0x00007fd01bde9601 in QWidget::setGeometry(QRect const&) () from /lib64/libQt5Widgets.so.5
#41 0x00007fd01bf65cb7 in QSplitterPrivate::setGeo(QSplitterLayoutStruct*, int, int, bool) () from /lib64/libQt5Widgets.so.5
#42 0x00007fd01bf68541 in QSplitterPrivate::doResize() () from /lib64/libQt5Widgets.so.5
#43 0x00007fd01bf68f67 in QSplitterPrivate::recalc(bool) () from /lib64/libQt5Widgets.so.5
#44 0x00007fd01bf69fe8 in QSplitter::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#45 0x00007fd01bdaed62 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#46 0x00007fd01ae9d4e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#47 0x00007fd01aea0854 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib64/libQt5Core.so.5
#48 0x00007fd01aeeeb07 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5Core.so.5
#49 0x00007fd019063c7f in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#50 0x00007fd0190ba118 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
#51 0x00007fd019060f00 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#52 0x00007fd01aeee5fa in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#53 0x00007fd01ae9bf3a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#54 0x00007fd01aea4002 in QCoreApplication::exec() () from /lib64/libQt5Core.so.5
#55 0x000000000040dfbf in main (argc=1, argv=0x7ffdad760348) at /home/akseli/Repositories/kde/src/kate/apps/kate/main.cpp:608
[Inferior 1 (process 353274) detached]
If I open an old session, Kate just crashes. KCrash doesnt give me any logs either. This is probably because I had the diagnostics panel open in that session so it immediately crashes when trying to open it, or any other panel (project, build, etc.) in that session.
~ ❯ kdesrc-run kate -b 22s
################################################################################
kdesrc-run
Module: kate
Program: kate
Revision: e56d1d45b80b9866cd831f80eca6652ff39d3c9a
Arguments: -b
################################################################################
qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
47 -- exe=/home/akseli/Repositories/kde/usr/bin/kate
17 -- platform=wayland
13 -- appname=kate
46 -- apppath=/home/akseli/Repositories/kde/usr/bin
10 -- signal=11
11 -- pid=353946
20 -- appversion=23.07.70
17 -- programname=Kate
31 -- bugaddress=submit@bugs.kde.org
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = kate path = /home/akseli/Repositories/kde/usr/bin pid = 353946
KCrash: Arguments: /home/akseli/Repositories/kde/usr/bin/kate -b
The Wayland connection experienced a fatal error: Bad file descriptor
Edited by Akseli Lahtinen