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

--- Comment #5 from space9...@proton.me ---
I managed to generate a backtrace by recompiling the plasma-workspace package
with options=(debug !strip), and using
gdb -p $(pidof plasmashell) --command=debug-script

debug-script:
```set logging file plasmashell.gdb
set logging enabled

break checkWaylandError(wl_display*)
continue
# backtrace
bt

# generate coredump
gcore
```

(I identified the source of the message "The Wayland connection broke. Did the
Wayland compositor die?" with `strings --print-file-name *.so* | grep -i
'compositor die?'`, traced it to libQt5WaylandClient.so, and
downloaded+searched the source for that string. 
The function is
https://github.com/qt/qtwayland/blob/2303ee38ead0a4eafa9f8af629fd8495c45d1442/src/client/qwaylanddisplay.cpp#L66
static void checkWaylandError(struct wl_display *display))


Thread 1 "plasmashell" hit Breakpoint 1, checkWaylandError
(display=0x55b3ab934160) at
/usr/src/debug/qtwayland/src/client/qwaylanddisplay.cpp:91
91      {
#0  checkWaylandError(wl_display*) (display=0x55b3ab934160) at
/usr/src/debug/qtwayland/src/client/qwaylanddisplay.cpp:91
#1  0x00007fb211122b7c in QtWaylandClient::EventThread::readAndDispatchEvents()
(this=<optimized out>)
    at /usr/src/debug/qtwayland/src/client/qwaylanddisplay.cpp:141
#2  QtWaylandClient::QWaylandDisplay::flushRequests() (this=<optimized out>) at
/usr/src/debug/qtwayland/src/client/qwaylanddisplay.cpp:419
#3  0x00007fb2106b0520 in QObject::event(QEvent*) () at
/usr/lib/libQt5Core.so.5
#4  0x00007fb211378b1c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() at /usr/lib/libQt5Widgets.so.5
#5  0x00007fb21068cb88 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() at /usr/lib/libQt5Core.so.5
#6  0x00007fb21068d693 in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#7  0x00007fb2106d3728 in  () at /usr/lib/libQt5Core.so.5
#8  0x00007fb20ed1981b in g_main_context_dispatch () at
/usr/lib/libglib-2.0.so.0
#9  0x00007fb20ed6fec9 in  () at /usr/lib/libglib-2.0.so.0
#10 0x00007fb20ed180d2 in g_main_context_iteration () at
/usr/lib/libglib-2.0.so.0
#11 0x00007fb2106d750c in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /usr/lib/libQt5Core.so.5
#12 0x00007fb21068532c in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at
/usr/lib/libQt5Core.so.5
#13 0x00007fb21068fe59 in QCoreApplication::exec() () at
/usr/lib/libQt5Core.so.5
#14 0x000055b3ab3521a3 in main(int, char**) (argc=<optimized out>,
argv=<optimized out>) at
/usr/src/debug/plasma-workspace-5.26.0/shell/main.cpp:233
warning: Memory read failed for corefile section, 4096 bytes at
0xffffffffff600000.
Saved corefile core.158040

I'm not sure how useful this is.

I also recompiled+installed the package qt5-wayland, which may explain the
source file in the backtrace
#0  checkWaylandError(wl_display*) (display=0x55b3ab934160) at
/usr/src/debug/qtwayland/src/client/qwaylanddisplay.cpp:91
instead of a binary
#3  0x00007fb2106b0520 in QObject::event(QEvent*) () at
/usr/lib/libQt5Core.so.5

I don't know which way is preferred for debugging.

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

Reply via email to