https://bugs.kde.org/show_bug.cgi?id=474436

            Bug ID: 474436
           Summary: lspclient: shrink selection crashes kate
    Classification: Applications
           Product: kate
           Version: 23.08.0
          Platform: Archlinux
                OS: Linux
            Status: REPORTED
          Keywords: drkonqi
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: kwrite-bugs-n...@kde.org
          Reporter: knd...@outlook.com
  Target Milestone: ---

Application: kate (23.08.0)

Qt Version: 5.15.10
Frameworks Version: 5.109.0
Operating System: Linux 6.4.12-arch1-1 x86_64
Windowing System: Wayland
Distribution: Arch Linux
DrKonqi: 5.27.7 [KCrashBackend]

-- Information about the crash:
I was using haskell language server when I tried to expand selection (Ctrl+2)
and then shrink it (Ctrl+Shift+2). Kate crashed during the shrinking

The crash does not seem to be reproducible.

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

[KCrash Handler]
#4  std::__shared_ptr<LSPSelectionRange, (__gnu_cxx::_Lock_policy)2>::operator
bool() const (this=0x0) at /usr/include/c++/13.2.1/bits/shared_ptr_base.h:1669
#5 
LSPClientPluginViewImpl::changeSelection(bool)::{lambda(QList<std::shared_ptr<LSPSelectionRange>
> const&)#1}::operator()(QList<std::shared_ptr<LSPSelectionRange> > const&)
const (reply=..., __closure=0x55c58c6d38b0) at
/usr/src/debug/kate/kate-23.08.0/addons/lspclient/lspclientpluginview.cpp:1958
#6  std::__invoke_impl<void,
LSPClientPluginViewImpl::changeSelection(bool)::{lambda(QList<std::shared_ptr<LSPSelectionRange>
> const&)#1}&, QList<std::shared_ptr<LSPSelectionRange> >
const&>(std::__invoke_other,
LSPClientPluginViewImpl::changeSelection(bool)::{lambda(QList<std::shared_ptr<LSPSelectionRange>
> const&)#1}&, QList<std::shared_ptr<LSPSelectionRange> > const&) (__f=...) at
/usr/include/c++/13.2.1/bits/invoke.h:61
#7  std::__invoke_r<void,
LSPClientPluginViewImpl::changeSelection(bool)::{lambda(QList<std::shared_ptr<LSPSelectionRange>
> const&)#1}&, QList<std::shared_ptr<LSPSelectionRange> >
const&>(LSPClientPluginViewImpl::changeSelection(bool)::{lambda(QList<std::shared_ptr<LSPSelectionRange>
> const&)#1}&, QList<std::shared_ptr<LSPSelectionRange> > const&) (__fn=...) at
/usr/include/c++/13.2.1/bits/invoke.h:111
#8  std::_Function_handler<void (QList<std::shared_ptr<LSPSelectionRange> >
const&),
LSPClientPluginViewImpl::changeSelection(bool)::{lambda(QList<std::shared_ptr<LSPSelectionRange>
> const&)#1}>::_M_invoke(std::_Any_data const&,
QList<std::shared_ptr<LSPSelectionRange> > const&) (__functor=<optimized out>,
__args#0=...) at /usr/include/c++/13.2.1/bits/std_function.h:290
#9  0x00007fab4d320f5e in std::function<void (LSPApplyWorkspaceEditResponse
const&)>::operator()(LSPApplyWorkspaceEditResponse const&) const (__args#0=...,
this=0x55c58d811d80) at /usr/include/c++/13.2.1/bits/std_function.h:591
#10 operator() (m=<optimized out>, __closure=0x55c58d811d70) at
/usr/src/debug/kate/kate-23.08.0/addons/lspclient/lspclientserver.cpp:1835
#11 std::__invoke_impl<void,
make_handler<QList<std::shared_ptr<LSPSelectionRange> >
>(ReplyHandler<QList<std::shared_ptr<LSPSelectionRange> > >&, const QObject*,
utils::identity<std::function<QList<std::shared_ptr<LSPSelectionRange> >(const
QJsonValue&)> >::type)::<lambda(const GenericReplyType&)>&, const QJsonValue&>
(__f=...) at /usr/include/c++/13.2.1/bits/invoke.h:61
#12 std::__invoke_r<void, make_handler<QList<std::shared_ptr<LSPSelectionRange>
> >(ReplyHandler<QList<std::shared_ptr<LSPSelectionRange> > >&, const QObject*,
utils::identity<std::function<QList<std::shared_ptr<LSPSelectionRange> >(const
QJsonValue&)> >::type)::<lambda(const GenericReplyType&)>&, const QJsonValue&>
(__fn=...) at /usr/include/c++/13.2.1/bits/invoke.h:111
#13 std::_Function_handler<void(const QJsonValue&),
make_handler<QList<std::shared_ptr<LSPSelectionRange> >
>(ReplyHandler<QList<std::shared_ptr<LSPSelectionRange> > >&, const QObject*,
utils::identity<std::function<QList<std::shared_ptr<LSPSelectionRange> >(const
QJsonValue&)> >::type)::<lambda(const GenericReplyType&)> >::_M_invoke(const
std::_Any_data &, const QJsonValue &) (__functor=<optimized out>,
__args#0=<optimized out>) at /usr/include/c++/13.2.1/bits/std_function.h:290
#14 0x00007fab4d31b4e8 in
LSPClientServer::LSPClientServerPrivate::readStandardOutput()
(this=0x55c58d43ff10) at
/usr/src/debug/kate/kate-23.08.0/addons/lspclient/lspclientserver.cpp:1311
#15 0x00007fab62ed1637 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=0x7fffc25e13c0, r=<optimized out>, this=0x55c58d451320, this=<optimized
out>, r=<optimized out>, a=<optimized out>) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#16 doActivate<false>(QObject*, int, void**) (sender=0x55c58d43ff80,
signal_index=15, argv=0x7fffc25e13c0) at kernel/qobject.cpp:3925
#17 0x00007fab62e29062 in
QProcess::readyReadStandardOutput(QProcess::QPrivateSignal) (this=<optimized
out>, _t1=...) at .moc/moc_qprocess.cpp:367
#18 0x00007fab62e22c4e in
QProcessPrivate::tryReadFromChannel(QProcessPrivate::Channel*)
(this=0x55c58d451d90, channel=0x55c58d451ea0) at io/qprocess.cpp:1073
#19 0x00007fab62e2976d in QProcessPrivate::_q_canReadStandardError()
(this=<optimized out>) at io/qprocess.cpp:1092
#20 QProcess::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)
(_o=<optimized out>, _c=<optimized out>, _id=<optimized out>,
_a=0x7fffc25e1570) at .moc/moc_qprocess.cpp:210
#21 0x00007fab62ed17f3 in doActivate<false>(QObject*, int, void**)
(sender=0x55c58d4531e0, signal_index=3, argv=0x7fffc25e1570) at
kernel/qobject.cpp:3937
#22 0x00007fab62ed2e34 in QSocketNotifier::activated(QSocketDescriptor,
QSocketNotifier::Type, QSocketNotifier::QPrivateSignal)
(this=this@entry=0x55c58d4531e0, _t1=..., _t2=<optimized out>, _t3=...) at
.moc/moc_qsocketnotifier.cpp:178
#23 0x00007fab62ed2f78 in QSocketNotifier::event(QEvent*) (this=0x55c58d4531e0,
e=<optimized out>) at kernel/qsocketnotifier.cpp:302
#24 0x00007fab63b7893f in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=<optimized out>, receiver=0x55c58d4531e0, e=0x7fffc25e1690) at
kernel/qapplication.cpp:3640
#25 0x00007fab62e9c6f8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(receiver=0x55c58d4531e0, event=0x7fffc25e1690) at
kernel/qcoreapplication.cpp:1064
#26 0x00007fab62eea276 in socketNotifierSourceDispatch(GSource*, GSourceFunc,
gpointer) (source=0x55c58bd0f040) at kernel/qeventdispatcher_glib.cpp:107
#27 0x00007fab60b10aa1 in g_main_context_dispatch () at
/usr/lib/libglib-2.0.so.0
#28 0x00007fab60b6dc69 in  () at /usr/lib/libglib-2.0.so.0
#29 0x00007fab60b0e152 in g_main_context_iteration () at
/usr/lib/libglib-2.0.so.0
#30 0x00007fab62eeb51c in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x55c58bd10630, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#31 0x00007fab62e9b404 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7fffc25e1910, flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69
#32 0x00007fab62e9c8a3 in QCoreApplication::exec() () at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#33 0x00007fab6333bef2 in QGuiApplication::exec() () at
kernel/qguiapplication.cpp:1870
#34 0x00007fab63b76cda in QApplication::exec() () at
kernel/qapplication.cpp:2832
#35 0x000055c58bcb160e in main(int, char**) (argc=<optimized out>,
argv=<optimized out>) at
/usr/src/debug/kate/kate-23.08.0/apps/kate/main.cpp:609
[Inferior 1 (process 60896) detached]

Reported using DrKonqi

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to