Bug 453795 - Kate crashed when opening settings
Summary: Kate crashed when opening settings
Status: RESOLVED FIXED
Alias: None
Product: kate
Classification: Applications
Component: general (show other bugs)
Version: 22.04.1
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: KWrite Developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2022-05-14 17:57 UTC by luizmiguellorentz2
Modified: 2022-07-04 23:57 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 22.04.2


Attachments
New crash information added by DrKonqi (9.61 KB, text/plain)
2022-05-16 17:31 UTC, Cristiano Kieling
Details
New crash information added by DrKonqi (6.95 KB, text/plain)
2022-05-28 07:31 UTC, İsmail
Details
New crash information added by DrKonqi (4.67 KB, text/plain)
2022-07-04 23:57 UTC, Techokami
Details

Note You need to log in before you can comment on or make changes to this bug.
Description luizmiguellorentz2 2022-05-14 17:57:15 UTC
Application: kate (22.04.1)

Qt Version: 5.15.3
Frameworks Version: 5.93.0
Operating System: Linux 5.17.7-arch1-1 x86_64
Windowing System: X11
Distribution: Arch Linux
DrKonqi: 5.24.5 [KCrashBackend]

-- Information about the crash:
- What I was doing when the application crashed:
nothing, i wanted to change the font family but i can't open settings.

- Custom settings of the application:
none, but i wanted to add custom settings.

The crash can be reproduced every time.

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

[KCrash Handler]
#4  0x00007faf1b048a18 in ?? () from /usr/lib/libKF5ConfigCore.so.5
#5  0x00007faf1b052d65 in KConfigGroup::readEntry(char const*, QString const&) const () from /usr/lib/libKF5ConfigCore.so.5
#6  0x00007faf1b052f93 in KConfigGroup::readEntry(char const*, char const*) const () from /usr/lib/libKF5ConfigCore.so.5
#7  0x00007faf14095b23 in KDirOperator::readConfig(KConfigGroup const&) () from /usr/lib/libKF5KIOFileWidgets.so.5
#8  0x00007faf0e825670 in ?? () from /usr/lib/qt/plugins/ktexteditor/katefilebrowserplugin.so
#9  0x00007faf0e82901c in ?? () from /usr/lib/qt/plugins/ktexteditor/katefilebrowserplugin.so
#10 0x00007faf0e829c15 in ?? () from /usr/lib/qt/plugins/ktexteditor/katefilebrowserplugin.so
#11 0x000055a1d5bad12f in ?? ()
#12 0x000055a1d5b6811a in ?? ()
#13 0x00007faf19dc84af in ?? () from /usr/lib/libQt5Core.so.5
#14 0x00007faf1a83f517 in QAction::triggered(bool) () from /usr/lib/libQt5Widgets.so.5
#15 0x00007faf1a844fe0 in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQt5Widgets.so.5
#16 0x00007faf1a9c7c13 in ?? () from /usr/lib/libQt5Widgets.so.5
#17 0x00007faf1a9c7cf1 in ?? () from /usr/lib/libQt5Widgets.so.5
#18 0x00007faf1a882446 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
#19 0x00007faf1a84c2c6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#20 0x00007faf1a8510f7 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#21 0x00007faf19d975aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#22 0x00007faf1a84fabf in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /usr/lib/libQt5Widgets.so.5
#23 0x00007faf1a8a1443 in ?? () from /usr/lib/libQt5Widgets.so.5
#24 0x00007faf1a8a24dc in ?? () from /usr/lib/libQt5Widgets.so.5
#25 0x00007faf1a84c2c6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#26 0x00007faf19d975aa in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#27 0x00007faf1a16afd0 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/libQt5Gui.so.5
#28 0x00007faf1a1556f5 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5
#29 0x00007faf14ad5f60 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#30 0x00007faf18083163 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#31 0x00007faf180d99e9 in ?? () from /usr/lib/libglib-2.0.so.0
#32 0x00007faf180806c5 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#33 0x00007faf19de357a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#34 0x00007faf19d8f88b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#35 0x00007faf19d9afd7 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#36 0x000055a1d5b4d7da in ?? ()
#37 0x00007faf196ee290 in ?? () from /usr/lib/libc.so.6
#38 0x00007faf196ee34a in __libc_start_main () from /usr/lib/libc.so.6
#39 0x000055a1d5b4fc45 in ?? ()
[Inferior 1 (process 18323) detached]

Possible duplicates by query: bug 453454, bug 453234, bug 453152, bug 452282, bug 452051.

Reported using DrKonqi
Comment 1 Waqar Ahmed 2022-05-14 18:39:43 UTC

*** This bug has been marked as a duplicate of bug 453234 ***
Comment 2 Cristiano Kieling 2022-05-16 17:31:43 UTC
Created attachment 148886 [details]
New crash information added by DrKonqi

kate (22.04.1) using Qt 5.15.3

- What I was doing when the application crashed:
Just opened Settings after fresh install of KDE Neon. Before instaling Kate, i just updated everything with pkcon refresh and update e instaled kate with pkcon install kate. After opening the program, first thing i clicked was settings (configure kate) and everytime de program closes.

-- Backtrace (Reduced):
#4  0x00007fb402208c98 in QFlags<KEntryMap::SearchFlag>::operator|= (other=<optimized out>, this=<optimized out>) at ./src/core/kconfig.cpp:1045
#5  KConfigPrivate::lookupData (this=this@entry=0x200030002, group=..., key=key@entry=0x7fb3fb36ab26 "View Style", flags=flags@entry=..., expand=expand@entry=0x7ffeee87abd7) at ./src/core/kconfig.cpp:1046
#6  0x00007fb40221ba04 in KConfigGroup::readEntry (this=this@entry=0x557fbf15b9b0, key=key@entry=0x7fb3fb36ab26 "View Style", aDefault=...) at /usr/include/c++/9/bits/atomic_base.h:326
#7  0x00007fb40221bc40 in KConfigGroup::readEntry (this=0x557fbf15b9b0, key=0x7fb3fb36ab26 "View Style", aDefault=0x7fb3fb36ab1b "DetailTree") at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:706
#8  0x00007fb3fb2f4021 in KDirOperator::readConfig(KConfigGroup const&) () from /lib/x86_64-linux-gnu/libKF5KIOFileWidgets.so.5
Comment 3 Christoph Cullmann 2022-05-16 17:40:38 UTC
Hmm, that is strange, my commit should be in 22.04.1 :(

Perhaps that was still not good enough and the KConfigGroup is just not valid there.

I will remove the whole delaying, if one has the file browser active, one better pays for the loading of the config instead of having some crash.
Comment 4 Christoph Cullmann 2022-05-16 17:53:24 UTC
Git commit e002696b0673dff7ec9584e00b1546d2f850121c by Christoph Cullmann.
Committed on 16/05/2022 at 17:47.
Pushed by cullmann into branch 'release/22.04'.

Revert "fix crash on file browser activation"

This reverts commit a28624c877cfe6db6ae6ab257f95af36213b25e0.

=> this fix is not enough, the KConfigGroup is just not valid anymore here
in some cases

M  +3    -6    addons/filebrowser/katefilebrowserplugin.cpp

https://invent.kde.org/utilities/kate/commit/e002696b0673dff7ec9584e00b1546d2f850121c
Comment 5 Christoph Cullmann 2022-05-16 17:53:32 UTC
Git commit 36ede44fc7bef479e94f76121309a900bee2b29f by Christoph Cullmann.
Committed on 16/05/2022 at 17:49.
Pushed by cullmann into branch 'release/22.04'.

Revert "Create filebrowser on demand"

This reverts commit 7caed2681d18d9ea08c35f160e88fb44a2e52769.

revert full lazy loading, doesn't work this way

M  +0    -2    addons/filebrowser/katefilebrowser.cpp
M  +11   -30   addons/filebrowser/katefilebrowserplugin.cpp
M  +7    -7    addons/filebrowser/katefilebrowserplugin.h

https://invent.kde.org/utilities/kate/commit/36ede44fc7bef479e94f76121309a900bee2b29f
Comment 6 Christoph Cullmann 2022-05-16 17:55:09 UTC
Reverted in 22.04 and master.

Better pay price on startup then having random crashes.

I am not able to reproduce the crash after my previous fix, but I guess the point is just that we can't ensure the KConfigGroup is still usable given we have no idea if the base KConfig object it relies on is still around and kicking.
Comment 7 İsmail 2022-05-28 07:31:34 UTC
Created attachment 149281 [details]
New crash information added by DrKonqi

kate (22.04.1) using Qt 5.15.2

- What I was doing when the application crashed:
I clicked "Configure Kate Application" from the "Settings" menu.

But here is an important detail. This crash happens only when I create
new user and try to open configuraton of Kate while in the newly created
user's session. Interestingly this is not happening in the session of the user
which is created in system installation. Hope this detail help you to catch
the bug.

-- Backtrace (Reduced):
#4  QFlags<KEntryMap::SearchFlag>::operator|= (other=<optimized out>, this=<optimized out>) at /usr/src/debug/kconfig-5.94.0-1.1.x86_64/src/core/kconfig.cpp:1058
#5  KConfigPrivate::lookupData (this=0x30008000b, group=..., key=0x7ff8df855f7b "View Style", flags=..., expand=0x7fffd7aeed67) at /usr/src/debug/kconfig-5.94.0-1.1.x86_64/src/core/kconfig.cpp:1059
#6  0x00007ff8e641a7a1 in KConfigGroup::readEntry (this=this@entry=0x560980715240, key=key@entry=0x7ff8df855f7b "View Style", aDefault=...) at /usr/src/debug/kconfig-5.94.0-1.1.x86_64/src/core/kconfiggroup.cpp:674
#7  0x00007ff8e641a9bb in KConfigGroup::readEntry (this=this@entry=0x560980715240, key=key@entry=0x7ff8df855f7b "View Style", aDefault=aDefault@entry=0x7ff8df855f70 "DetailTree") at /usr/src/debug/kconfig-5.94.0-1.1.x86_64/src/core/kconfiggroup.cpp:659
#8  0x00007ff8df7efd5e in KDirOperator::readConfig (this=0x56098321d3a0, configGroup=...) at /usr/src/debug/kio-5.94.0-1.1.x86_64/src/filewidgets/kdiroperator.cpp:2436
Comment 8 Techokami 2022-07-04 23:57:31 UTC
Created attachment 150400 [details]
New crash information added by DrKonqi

kate (22.04.1) using Qt 5.15.3

- What I was doing when the application crashed:
I was simply going to the Settings menu, and the application completely crashed and took my work with it.

-- Backtrace (Reduced):
#4  0x00007ff57da5fdae in QMapData<KEntryKey, KEntry>::findNode(KEntryKey const&) const () from /lib64/libKF5ConfigCore.so.5
#6  0x00007ff57da5f7e2 in KConfigPrivate::lookupData(QByteArray const&, char const*, QFlags<KEntryMap::SearchFlag>, bool*) const () from /lib64/libKF5ConfigCore.so.5
#7  0x00007ff57da6bf95 in KConfigGroup::readEntry(char const*, QString const&) const () from /lib64/libKF5ConfigCore.so.5
#8  0x00007ff57da6c1af in KConfigGroup::readEntry(char const*, char const*) const () from /lib64/libKF5ConfigCore.so.5
#9  0x00007ff569abd212 in KDirOperator::readConfig(KConfigGroup const&) () from /lib64/libKF5KIOFileWidgets.so.5