Bug 445494 - Opening "Projects TODOs" causes crash
Summary: Opening "Projects TODOs" causes crash
Status: RESOLVED FIXED
Alias: None
Product: kate
Classification: Applications
Component: application (show other bugs)
Version: 21.08.2
Platform: Manjaro Linux
: NOR normal
Target Milestone: ---
Assignee: KWrite Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-11-14 16:22 UTC by Jazz
Modified: 2021-12-13 08:57 UTC (History)
3 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jazz 2021-11-14 16:22:58 UTC
SUMMARY
Every time I open `Projects > Project TODOs`, Kate causes CPU/RAM/Swap to go on max. values and the application crashes. Kate is not able to generate the backtrace debugging report, therefore I'm not able to attach it.


STEPS TO REPRODUCE
1. Open Kate
2. Go to Projects > Project TODOs
3. Wait for a few seconds...

OBSERVED RESULT
Watch your CPU/RAM/Swap: all 3 goes to max. values in a very short time. Then the application crashes.

EXPECTED RESULT
Self explanatory.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 5.10.70-1-MANJARO
KDE Plasma Version:  5.22.5
KDE Frameworks Version: 5.87.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION
Each time after the application crashes, my system recovers from it and all 3 values (CPU/RAM/Swap) go down again to normal values (CPU: i7-8700K, RAM: 16GB, SWAP: 16GB).
Comment 1 Waqar Ahmed 2021-11-15 08:32:23 UTC
Hi,

When you click "Project TODOs", do you have a project open? Also, are there any warnings if you launched kate from terminal for example.
Comment 2 Waqar Ahmed 2021-11-15 09:10:53 UTC
You likely don't have a project open and your default folder in search is set to '/' i.e., root which causes massive files to be loaded and thus running out of memory.
Comment 3 Jazz 2021-11-15 20:37:35 UTC
(In reply to Waqar Ahmed from comment #1)
> When you click "Project TODOs", do you have a project open? Also, are there
> any warnings if you launched kate from terminal for example.

Nope. I just opened kate as a new session, without opening any documents/projects. I know that's not a highly important bug, but just a thing in mind to prevent users from accidentally crashing their GUI from e.g. missclicking a menu item.

Below is the output from terminal and kate crashed starting from the line:
"Qt Concurrent has caught an exception thrown from a worker thread."

$ kate
QApplication: invalid style override 'gtk' passed, ignoring it.
        Available styles: Breeze, kvantum-dark, kvantum, qt5ct-style, Windows, Fusion
kf.sonnet.core: No language dictionaries for the language: "C" trying to load en_US as default
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 626, resource id: 15079354, major code: 40 (TranslateCoords), minor code: 0
Qt: Session management error: networkIdsList argument is NULL
QApplication: invalid style override 'gtk' passed, ignoring it.
        Available styles: Breeze, kvantum-dark, kvantum, qt5ct-style, Windows, Fusion
3 is not a valid search place index
Qt Concurrent has caught an exception thrown from a worker thread.
This is not supported, exceptions thrown in worker threads must be
caught before control returns to Qt Concurrent.
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = kate path = /usr/bin pid = 15605
KCrash: Arguments: /usr/bin/kate 
KCrash: Attempting to start /usr/lib/drkonqi
QSocketNotifier: Invalid socket 6 and type 'Read', disabling...
QSocketNotifier: Invalid socket 9 and type 'Read', disabling...
QSocketNotifier: Invalid socket 12 and type 'Read', disabling...
QSocketNotifier: Invalid socket 15 and type 'Read', disabling...
QSocketNotifier: Invalid socket 16 and type 'Exception', disabling...
QSocketNotifier: Invalid socket 17 and type 'Read', disabling...
QSocketNotifier: Invalid socket 20 and type 'Read', disabling...
QSocketNotifier: Invalid socket 30 and type 'Read', disabling...
QSocketNotifier: Invalid socket 24 and type 'Read', disabling...
QSocketNotifier: Invalid socket 26 and type 'Read', disabling...
QSocketNotifier: Invalid socket 27 and type 'Read', disabling...
QSocketNotifier: Invalid socket 22 and type 'Read', disabling...
The X11 connection broke (error 1). Did the X11 server die?
QApplication: invalid style override 'gtk' passed, ignoring it.
        Available styles: Breeze, kvantum-dark, kvantum, qt5ct-style, Windows, Fusion

[1]+  Stopped                 kate
Comment 4 Jazz 2021-11-15 20:43:34 UTC
(In reply to Waqar Ahmed from comment #2)
> You likely don't have a project open and your default folder in search is
> set to '/' i.e., root which causes massive files to be loaded and thus
> running out of memory.

That's right, I didn't have any documents/projects open and I didn't even set the default project/search dir: it's not "/", but it's empty. Running out of memory is exactly what's happening and this is more like a semantic flaw/issue that should be prevented from happening, rather than a real bug.
Comment 5 Andreas 2021-11-29 20:56:24 UTC
Can reproduce.
Comment 6 Andreas 2021-11-29 20:59:27 UTC
Kate 21.08.3 on openSUSE Tumbleweed 20211128.
Comment 7 Christoph Cullmann 2021-12-03 19:37:35 UTC
Hi,

I will take care of enabling/disabling the actions properly.
Makes no sense to be able to trigger this if no project is around.
Same for most other of these actions.
Comment 8 Bug Janitor Service 2021-12-03 19:50:35 UTC
A possibly relevant merge request was started @ https://invent.kde.org/utilities/kate/-/merge_requests/523
Comment 9 Christoph Cullmann 2021-12-07 18:58:03 UTC
Git commit 406b67bf6e17416bebda5659c1701c357d7c5271 by Christoph Cullmann.
Committed on 07/12/2021 at 18:52.
Pushed by cullmann into branch 'master'.

enable/disable project actions

don't allow project actions to be triggered
if no project is active

M  +36   -10   addons/project/kateprojectpluginview.cpp
M  +11   -5    addons/project/kateprojectpluginview.h

https://invent.kde.org/utilities/kate/commit/406b67bf6e17416bebda5659c1701c357d7c5271
Comment 10 Waqar Ahmed 2021-12-13 08:57:24 UTC
Git commit ff63da89715db8f7beb3103cc6d343e8aef50fc1 by Waqar Ahmed, on behalf of Christoph Cullmann.
Committed on 13/12/2021 at 08:55.
Pushed by waqar into branch 'release/21.12'.

enable/disable project actions

don't allow project actions to be triggered
if no project is active
(cherry picked from commit 406b67bf6e17416bebda5659c1701c357d7c5271)

M  +36   -10   addons/project/kateprojectpluginview.cpp
M  +11   -5    addons/project/kateprojectpluginview.h

https://invent.kde.org/utilities/kate/commit/ff63da89715db8f7beb3103cc6d343e8aef50fc1