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

            Bug ID: 474905
           Summary: Interacting with a popup crashes Kate on wayland
    Classification: Applications
           Product: kate
           Version: 23.08.1
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: kwrite-bugs-n...@kde.org
          Reporter: knd...@outlook.com
  Target Milestone: ---

When I hover over a symbol in Kate, the tooltip is provided by the LSP. When I
use the mouse button to double click the text and select it, Kate crashes. This
is not exactly consistently reproducible but the common theme is to create a
popup and then click on the popup or outside rapidly.

This has been reported to Qt as well
https://bugreports.qt.io/browse/QTBUG-117015 where you can find the backtrace
from all threads and a screenshot.

---

#0  operator<<(QDebug, QObject const*) (dbg=..., o=0x18) at
../../include/QtCore/../../src/corelib/io/qdebug.h:128

#1  0x00007fffc012588f in
QtWaylandClient::QWaylandXdgSurface::setGrabPopup(QtWaylandClient::QWaylandWindow*,
QtWaylandClient::QWaylandInputDevice*, int) (this=this@entry=0x5555568cecd0,
parent=parent@entry=0x555556987b10, device=0x555555598a60, serial=13260)

    at /usr/include/qt/QtCore/qdebug.h:117

#2  0x00007fffc0125d17 in
QtWaylandClient::QWaylandXdgSurface::QWaylandXdgSurface(QtWaylandClient::QWaylandXdgShell*,
xdg_surface*, QtWaylandClient::QWaylandWindow*)

    (this=0x5555568cecd0, shell=<optimized out>, surface=<optimized out>,
window=<optimized out>, this=<optimized out>, shell=<optimized out>,
surface=<optimized out>, window=<optimized out>)

    at
../../../../include/QtWaylandClient/5.15.10/QtWaylandClient/private/../../../../../../qtwayland/src/client/qwaylanddisplay_p.h:204

#3  0x00007fffc0126460 in
QtWaylandClient::QWaylandXdgShell::getXdgSurface(QtWaylandClient::QWaylandWindow*)
(this=0x555556a1c790, window=0x555556a0e510) at
/usr/src/debug/qt5-wayland/build/src/plugins/shellintegration/xdg-shell/wayland-xdg-shell-client-protocol.h:521

#4  0x00007ffff152bf16 in QtWaylandClient::QWaylandWindow::initWindow()
(this=this@entry=0x555556a0e510) at
/usr/src/debug/qt5-wayland/qtwayland/src/client/qwaylandwindow.cpp:141

#5  0x00007ffff152c276 in QtWaylandClient::QWaylandWindow::setVisible(bool)
(visible=<optimized out>, this=0x555556a0e510) at
/usr/src/debug/qt5-wayland/qtwayland/src/client/qwaylandwindow.cpp:429

#6  QtWaylandClient::QWaylandWindow::setVisible(bool) (this=0x555556a0e510,
visible=<optimized out>) at
/usr/src/debug/qt5-wayland/qtwayland/src/client/qwaylandwindow.cpp:421

#7  0x00007ffff75ab74f in QWidgetWindow::setNativeWindowVisibility(bool)
(visible=true, this=0x5555569a5b40) at kernel/qwidgetwindow.cpp:215

#8  QWidgetPrivate::show_sys() (this=this@entry=0x555555f7ac00) at
kernel/qwidget.cpp:7918

#9  0x00007ffff75addf9 in QWidgetPrivate::show_helper()
(this=this@entry=0x555555f7ac00) at kernel/qwidget.cpp:7841

#10 0x00007ffff75ae40d in QWidgetPrivate::setVisible(bool)
(this=0x555555f7ac00, visible=<optimized out>) at kernel/qwidget.cpp:8137

#11 0x00007ffff76f9e7c in QMenuPrivate::popup(QPoint const&, QAction*,
std::function<QPoint (QSize const&)>) (this=0x555555f7ac00, p=<optimized out>,
atAction=<optimized out>, positionFunction=...) at widgets/qmenu.cpp:2617

#12 0x00007ffff76fa4b2 in QMenu::popup(QPoint const&, QAction*)
(this=<optimized out>, p=<optimized out>, atAction=<optimized out>) at
widgets/qmenu.cpp:2354

#13 0x00007ffff77637f9 in QWidgetTextControl::processEvent(QEvent*, QTransform
const&, QWidget*) (this=<optimized out>, e=0x7fffffffd4c0, transform=...,
contextWidget=0x555556a18d00) at
../../include/QtGui/../../src/gui/kernel/qevent.h:565

#14 0x00007ffff775d2a0 in QWidgetTextControl::processEvent(QEvent*, QPointF
const&, QWidget*) (this=0x5555569a6350, e=0x7fffffffd4c0, coordinateOffset=...,
contextWidget=0x555556a18d00) at widgets/qwidgettextcontrol.cpp:1012

#15 0x00007ffff77374d4 in QTextEditPrivate::sendControlEvent(QEvent*)
(e=0x7fffffffd4c0, this=<optimized out>) at widgets/qtextedit_p.h:103

#16 QTextEdit::contextMenuEvent(QContextMenuEvent*) (this=<optimized out>,
e=0x7fffffffd4c0) at widgets/qtextedit.cpp:1745

#17 0x00007ffff75af789 in QWidget::event(QEvent*) (this=0x5555568d4620,
event=0x7fffffffd4c0) at kernel/qwidget.cpp:8849

#18 0x00007ffff765d703 in QFrame::event(QEvent*) (this=0x5555568d4620,
e=0x7fffffffd4c0) at widgets/qframe.cpp:550

#19 0x00007ffff6899702 in
QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*)
(receiver=receiver@entry=0x555556a18d00, event=event@entry=0x7fffffffd4c0) at
kernel/qcoreapplication.cpp:1190

#20 0x00007ffff757892f in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=this@entry=0x555555593d90, receiver=receiver@entry=0x555556a18d00,
e=e@entry=0x7fffffffd4c0) at kernel/qapplication.cpp:3634

#21 0x00007ffff757e2c4 in QApplication::notify(QObject*, QEvent*)
(this=<optimized out>, receiver=0x555556a18d00, e=0x7fffffffd4c0) at
kernel/qapplication.cpp:3246

#22 0x00007ffff689c6f8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(receiver=0x555556a18d00, event=0x7fffffffd4c0) at
kernel/qcoreapplication.cpp:1064

#23 0x00007ffff689c747 in QCoreApplication::forwardEvent(QObject*, QEvent*,
QEvent*) (receiver=<optimized out>, event=<optimized out>,
originatingEvent=<optimized out>) at kernel/qcoreapplication.cpp:1079

#24 0x00007ffff75cd664 in QWidgetWindow::handleMouseEvent(QMouseEvent*)
(this=this@entry=0x5555568c4e00, event=event@entry=0x7fffffffd860) at
kernel/qwidgetwindow.cpp:692

#25 0x00007ffff75cec27 in QWidgetWindow::event(QEvent*) (this=0x5555568c4e00,
event=0x7fffffffd860) at kernel/qwidgetwindow.cpp:300

#26 0x00007ffff757893f in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=<optimized out>, receiver=0x5555568c4e00, e=0x7fffffffd860) at
kernel/qapplication.cpp:3640

#27 0x00007ffff689c6f8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(receiver=0x5555568c4e00, event=0x7fffffffd860) at
kernel/qcoreapplication.cpp:1064

#28 0x00007ffff689c783 in QCoreApplication::sendSpontaneousEvent(QObject*,
QEvent*) (receiver=<optimized out>, event=<optimized out>) at
kernel/qcoreapplication.cpp:1474

#29 0x00007ffff6d4193c in
QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
(e=0x7fffe0002220) at kernel/qguiapplication.cpp:2285

#30 0x00007ffff6d2a6c5 in
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(flags=...) at kernel/qwindowsysteminterface.cpp:1169

#31 0x00007ffff155ec25 in userEventSourceDispatch(_GSource*, int (*)(void*),
void*) () at /usr/lib/libQt5WaylandClient.so.5

#32 0x00007ffff4510aa1 in g_main_context_dispatch () at
/usr/lib/libglib-2.0.so.0

#33 0x00007ffff456dc69 in  () at /usr/lib/libglib-2.0.so.0

#34 0x00007ffff450e152 in g_main_context_iteration () at
/usr/lib/libglib-2.0.so.0

#35 0x00007ffff68eb51c in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x5555555ba680, flags=...) at kernel/qeventdispatcher_glib.cpp:423

#36 0x00007ffff689b404 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7fffffffdc00, flags=..., flags@entry=...) at
../../include/QtCore/../../src/corelib/global/qflags.h:69

#37 0x00007ffff689c8a3 in QCoreApplication::exec() () at
../../include/QtCore/../../src/corelib/global/qflags.h:121

#38 0x00007ffff6d3bef2 in QGuiApplication::exec() () at
kernel/qguiapplication.cpp:1870

#39 0x00007ffff7576cda in QApplication::exec() () at
kernel/qapplication.cpp:2832

#40 0x000055555555c60e in main(int, char**) (argc=<optimized out>,
argv=<optimized out>) at
/usr/src/debug/kate/kate-23.08.0/apps/kate/main.cpp:609

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

Reply via email to