Bug 482152 - When starting the LSP, Kate crashes.
Summary: When starting the LSP, Kate crashes.
Status: RESOLVED FIXED
Alias: None
Product: kate
Classification: Applications
Component: application (show other bugs)
Version: 24.02.0
Platform: Arch Linux Linux
: VHI crash
Target Milestone: ---
Assignee: KWrite Developers
URL:
Keywords: qt6
: 482084 482158 482206 482248 482558 482561 482595 482601 482656 482660 482678 482697 482728 482777 482786 (view as bug list)
Depends on:
Blocks:
 
Reported: 2024-03-01 13:23 UTC by Mike Benton
Modified: 2024-03-11 07:00 UTC (History)
22 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
new crash dump (53.22 KB, text/vnd.kde.kcrash-report)
2024-03-07 21:37 UTC, rjx_
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Benton 2024-03-01 13:23:18 UTC
SUMMARY
***
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007ffff5eab393 in __pthread_kill_internal (signo=11, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007ffff5e5a6c8 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x00007ffff7aea43f in KCrash::defaultCrashHandler (sig=11) at /usr/src/debug/kcrash/kcrash-6.0.0/src/kcrash.cpp:586
#4  0x00007ffff5e5a770 in <signal handler called> () at /usr/lib/libc.so.6
#5  0x00007ffff5a93c6a in operator== (p2=..., p1=...) at /usr/include/qt6/QtCore/qshareddata.h:202
#6  Kate::TextRange::setAttribute (this=0x555556d6ef20, attribute=gdb.MemoryError: Cannot access memory at address 0x1

#7  0x00007ffff7ece55f in DiagnosticsView::addMarks (item=0x555556d5c700, doc=0x5555569c66e0, this=0x55555644f790)
    at /usr/src/debug/kate/kate-24.02.0/apps/lib/diagnostics/diagnosticview.cpp:1044
#8  DiagnosticsView::addMarksRec (this=this@entry=0x55555644f790, doc=doc@entry=0x5555569c66e0, item=0x555556d5c700)
    at /usr/src/debug/kate/kate-24.02.0/apps/lib/diagnostics/diagnosticview.cpp:1088
#9  0x00007ffff7ece1aa in DiagnosticsView::addMarksRec (this=this@entry=0x55555644f790, doc=doc@entry=0x5555569c66e0, item=<optimized out>)
    at /usr/src/debug/kate/kate-24.02.0/apps/lib/diagnostics/diagnosticview.cpp:1090
#10 0x00007ffff7ece1aa in DiagnosticsView::addMarksRec (this=this@entry=0x55555644f790, doc=doc@entry=0x5555569c66e0, item=<optimized out>)
    at /usr/src/debug/kate/kate-24.02.0/apps/lib/diagnostics/diagnosticview.cpp:1090
#11 0x00007ffff7ed0e01 in DiagnosticsView::addMarks (doc=0x5555569c66e0, this=0x55555644f790)
    at /usr/src/debug/kate/kate-24.02.0/apps/lib/diagnostics/diagnosticview.cpp:1100
#12 DiagnosticsView::updateMarks (this=this@entry=0x55555644f790, urls=std::vector of length 1, capacity 1 = {...})
    at /usr/src/debug/kate/kate-24.02.0/apps/lib/diagnostics/diagnosticview.cpp:1143
#13 0x00007ffff7ed14b5 in DiagnosticsView::updateDiagnosticsState (this=0x55555644f790, topItem=<optimized out>)
    at /usr/src/debug/kate/kate-24.02.0/apps/lib/diagnostics/diagnosticview.cpp:1189
#14 0x00007ffff7ec7d05 in DiagnosticsView::onDiagnosticsAdded (this=0x55555644f790, diagnostics=<optimized out>)
    at /usr/src/debug/kate/kate-24.02.0/apps/lib/diagnostics/diagnosticview.cpp:862
#15 0x00007ffff6590ca9 in QtPrivate::QSlotObjectBase::call
    (a=0x7fffffffc900, r=0x55555644f790, this=0x55555661afc0, this=<optimized out>, r=<optimized out>, a=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobjectdefs_impl.h:433
#16 doActivate<false> (sender=0x55555661b638, signal_index=3, argv=0x7fffffffc900) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobject.cpp:4039
#17 0x00007ffff7ecc9e7 in DiagnosticsProvider::diagnosticsAdded (this=<optimized out>, _t1=<optimized out>)
    at /usr/src/debug/kate/build/apps/lib/kateprivate_autogen/include/moc_diagnosticview.cpp:300
#18 0x00007ffff6590ca9 in QtPrivate::QSlotObjectBase::call
    (a=0x7fffffffceb0, r=0x55555661b100, this=0x5555569750e0, this=<optimized out>, r=<optimized out>, a=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobjectdefs_impl.h:433
#19 doActivate<false> (sender=0x555556dcdb40, signal_index=6, argv=0x7fffffffceb0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobject.cpp:4039
#20 0x00007fffec1ca883 in LSPClientServer::publishDiagnostics (_t1=..., this=0x555556dcdb40)
    at /usr/src/debug/kate/build/addons/lspclient/lspclientplugin_autogen/include/moc_lspclientserver.cpp:391
#21 LSPClientServer::LSPClientServerPrivate::processNotification (msg=..., this=<optimized out>)
    at /usr/src/debug/kate/kate-24.02.0/addons/lspclient/lspclientserver.cpp:1977
#22 LSPClientServer::LSPClientServerPrivate::readStandardOutput (this=0x555556dd00b0) at /usr/src/debug/kate/kate-24.02.0/addons/lspclient/lspclientserver.cpp:1495
#23 0x00007ffff6590ca9 in QtPrivate::QSlotObjectBase::call
    (a=0x7fffffffd080, r=0x555556dd0190, this=0x555556dcfe10, this=<optimized out>, r=<optimized out>, a=<optimized out>)
--Type <RET> for more, q to quit, c to continue without paging--c
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobjectdefs_impl.h:433
#24 doActivate<false> (sender=0x555556dd0190, signal_index=14, argv=0x7fffffffd080)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobject.cpp:4039
#25 0x00007ffff66f642f in QProcess::readyReadStandardOutput (_t1=..., this=<optimized out>)
    at /usr/src/debug/qt6-base/build/src/corelib/Core_autogen/include/moc_qprocess.cpp:523
#26 QProcessPrivate::tryReadFromChannel (this=0x555556dc9ae0, channel=0x555556dc9ca0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/io/qprocess.cpp:1152
#27 0x00007ffff66fdb35 in QProcessPrivate::_q_canReadStandardError (this=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/io/qprocess.cpp:1171
#28 QProcess::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=0x7fffffffd250)
    at /usr/src/debug/qt6-base/build/src/corelib/Core_autogen/include/moc_qprocess.cpp:405
#29 0x00007ffff6590fab in doActivate<false> (sender=0x555556dd19a0, signal_index=3, argv=0x7fffffffd250)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qobject.cpp:4051
#30 0x00007ffff6598530 in QSocketNotifier::activated (_t3=..., _t2=<optimized out>, _t1=..., this=0x555556dd19a0)
    at /usr/src/debug/qt6-base/build/src/corelib/Core_autogen/include/moc_qsocketnotifier.cpp:231
#31 QSocketNotifier::event (this=0x555556dd19a0, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qsocketnotifier.cpp:326
#32 0x00007ffff74f438b in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x555556dd19a0, e=0x7fffffffd350)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/widgets/kernel/qapplication.cpp:3296
#33 0x00007ffff6539818 in QCoreApplication::notifyInternal2 (receiver=0x555556dd19a0, event=0x7fffffffd350)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1121
#34 0x00007ffff67754d1 in QCoreApplication::sendEvent (event=0x7fffffffd350, receiver=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1539
#35 socketNotifierSourceDispatch (source=0x5555555fde80) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventdispatcher_glib.cpp:73
#36 0x00007ffff48bdf69 in g_main_dispatch (context=0x7fffe8000ef0) at ../glib/glib/gmain.c:3476
#37 0x00007ffff491c3a7 in g_main_context_dispatch_unlocked (context=0x7fffe8000ef0) at ../glib/glib/gmain.c:4284
#38 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7fffe8000ef0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at ../glib/glib/gmain.c:4349
#39 0x00007ffff48bc162 in g_main_context_iteration (context=0x7fffe8000ef0, may_block=1) at ../glib/glib/gmain.c:4414
#40 0x00007ffff67739c4 in QEventDispatcherGlib::processEvents (this=0x5555555f75b0, flags=...)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventdispatcher_glib.cpp:393
#41 0x00007ffff6543d6e in QEventLoop::processEvents (flags=..., this=0x7fffffffd5f0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventloop.cpp:100
#42 QEventLoop::exec (this=0x7fffffffd5f0, flags=...) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventloop.cpp:182
#43 0x00007ffff653c2b8 in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/global/qflags.h:74
#44 0x00007ffff74f0f0a in QApplication::exec () at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/widgets/kernel/qapplication.cpp:2574
#45 0x000055555555ceb4 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kate/kate-24.02.0/apps/kate/main.cpp:529

***


STEPS TO REPRODUCE
1.  Start Kate (with LSP Client enabled)
2.  Open a C file
3. When prompted, say yes to enable /usr/bin/clangd -log=error --background-index --limit-result=500 ==completion-style=bundeled
4. Kate crash.

A workaround is not to use the LSP above (un-select in LSP Client->Allowed & Blocked Servers).

OBSERVED RESULT
Kate crash--just closes.

EXPECTED RESULT
LSP runs

SOFTWARE/OS VERSIONS
Running in DWM, I did reproduce in Plasma 6.
KDE Frameworks Version: 6.0.0
Qt Version: 6.6.2

ADDITIONAL INFORMATION
Comment 1 Jens Ramke 2024-03-01 14:11:53 UTC
*** Bug 482158 has been marked as a duplicate of this bug. ***
Comment 2 Christoph Cullmann 2024-03-03 17:41:45 UTC
*** Bug 482206 has been marked as a duplicate of this bug. ***
Comment 3 Waqar Ahmed 2024-03-04 09:48:10 UTC
should be fixed with 24.02.1 when a new build is created.
Comment 4 Waqar Ahmed 2024-03-04 09:50:44 UTC
*** Bug 482248 has been marked as a duplicate of this bug. ***
Comment 5 Waqar Ahmed 2024-03-04 09:50:56 UTC
*** Bug 482084 has been marked as a duplicate of this bug. ***
Comment 6 Dashon 2024-03-05 12:30:09 UTC
I'm also having this issue. Doesn't seem to matter what language you use. It crashes when trying to start any lsp server.
Comment 7 Waqar Ahmed 2024-03-06 18:24:59 UTC
*** Bug 482561 has been marked as a duplicate of this bug. ***
Comment 8 Antonio Rojas 2024-03-06 22:10:38 UTC
*** Bug 482558 has been marked as a duplicate of this bug. ***
Comment 9 Waqar Ahmed 2024-03-07 05:24:58 UTC
*** Bug 482595 has been marked as a duplicate of this bug. ***
Comment 10 Waqar Ahmed 2024-03-07 14:05:12 UTC
*** Bug 482656 has been marked as a duplicate of this bug. ***
Comment 11 Waqar Ahmed 2024-03-07 14:05:40 UTC
*** Bug 482601 has been marked as a duplicate of this bug. ***
Comment 12 Waqar Ahmed 2024-03-07 14:06:41 UTC
*** Bug 482660 has been marked as a duplicate of this bug. ***
Comment 13 Waqar Ahmed 2024-03-07 14:07:30 UTC
*** Bug 482678 has been marked as a duplicate of this bug. ***
Comment 14 Waqar Ahmed 2024-03-07 14:08:06 UTC
*** Bug 482697 has been marked as a duplicate of this bug. ***
Comment 15 Antonio Rojas 2024-03-07 14:36:06 UTC
(In reply to Waqar Ahmed from comment #3)
> should be fixed with 24.02.1 when a new build is created.

could you please specify where the fix is so distros can backport it?
Comment 16 Weihao Jiang 2024-03-07 16:11:58 UTC
*** Bug 482728 has been marked as a duplicate of this bug. ***
Comment 17 Waqar Ahmed 2024-03-07 16:43:22 UTC
(In reply to Antonio Rojas from comment #15)
> (In reply to Waqar Ahmed from comment #3)
> > should be fixed with 24.02.1 when a new build is created.
> 
> could you please specify where the fix is so distros can backport it?

There is no fix per se as it seems like an abi issue. I think just a rebuild of Kate against frameworks 6.0 should fix this issue.
Comment 18 Buovjaga 2024-03-07 18:18:41 UTC
(In reply to Waqar Ahmed from comment #17)
> (In reply to Antonio Rojas from comment #15)
> > (In reply to Waqar Ahmed from comment #3)
> > > should be fixed with 24.02.1 when a new build is created.
> > 
> > could you please specify where the fix is so distros can backport it?
> 
> There is no fix per se as it seems like an abi issue. I think just a rebuild
> of Kate against frameworks 6.0 should fix this issue.

Yes, Arch Linux pushed a new release 24.02.0-2 today and the crash is gone!
Comment 19 Christoph Cullmann 2024-03-07 19:50:36 UTC
Yes, sorry for that, we did miss to poke the right people after the KTextEditor respin that broke the ABI.
Comment 20 rjx_ 2024-03-07 21:37:55 UTC
Created attachment 166640 [details]
new crash dump

> Yes, Arch Linux pushed a new release 24.02.0-2 today and the crash is gone!
I am afraid the LSP crashes are *not* gone for me after the update, see the new crash dump.
Comment 21 Dashon 2024-03-07 21:52:24 UTC
Also seems to be working for me now as well on arch.
Comment 22 Christoph Cullmann 2024-03-07 22:00:57 UTC
Git commit 39ae329b7bd9d2e20ab12c10b612fe6ff142ed1b by Christoph Cullmann.
Committed on 07/03/2024 at 22:00.
Pushed by cullmann into branch 'master'.

improve safefty, don't crash on non arrays

M  +5    -3    addons/lspclient/lspclientserver.cpp

https://invent.kde.org/utilities/kate/-/commit/39ae329b7bd9d2e20ab12c10b612fe6ff142ed1b
Comment 23 Christoph Cullmann 2024-03-07 22:03:35 UTC
Git commit 1eb6fea0a5482910014b5799ecb354b6e237b76b by Christoph Cullmann.
Committed on 07/03/2024 at 22:03.
Pushed by cullmann into branch 'release/24.02'.

improve safefty, don't crash on non arrays


(cherry picked from commit 39ae329b7bd9d2e20ab12c10b612fe6ff142ed1b)

M  +5    -3    addons/lspclient/lspclientserver.cpp

https://invent.kde.org/utilities/kate/-/commit/1eb6fea0a5482910014b5799ecb354b6e237b76b
Comment 24 Christoph Cullmann 2024-03-07 22:05:21 UTC
(In reply to rjx_ from comment #20)
> Created attachment 166640 [details]
> new crash dump
> 
> > Yes, Arch Linux pushed a new release 24.02.0-2 today and the crash is gone!
> I am afraid the LSP crashes are *not* gone for me after the update, see the
> new crash dump.

true, that was a different thing, see last commits
Comment 25 Christoph Cullmann 2024-03-07 22:09:04 UTC
*** Bug 482777 has been marked as a duplicate of this bug. ***
Comment 26 rjx_ 2024-03-08 18:32:40 UTC
(In reply to Christoph Cullmann from comment #24)
> (In reply to rjx_ from comment #20)
> > Created attachment 166640 [details]
> > new crash dump
> > 
> > > Yes, Arch Linux pushed a new release 24.02.0-2 today and the crash is gone!
> > I am afraid the LSP crashes are *not* gone for me after the update, see the
> > new crash dump.
> 
> true, that was a different thing, see last commits

Thank you, that stopped the crashing!
Comment 27 Christoph Cullmann 2024-03-08 19:04:17 UTC
(In reply to rjx_ from comment #26)
> (In reply to Christoph Cullmann from comment #24)
> > (In reply to rjx_ from comment #20)
> > > Created attachment 166640 [details]
> > > new crash dump
> > > 
> > > > Yes, Arch Linux pushed a new release 24.02.0-2 today and the crash is gone!
> > > I am afraid the LSP crashes are *not* gone for me after the update, see the
> > > new crash dump.
> > 
> > true, that was a different thing, see last commits
> 
> Thank you, that stopped the crashing!

Thanks for reporting that :)
Always better to be conservative in such cases in the code.
Comment 28 Daniel 2024-03-09 15:17:04 UTC
*** Bug 482786 has been marked as a duplicate of this bug. ***