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

--- Comment #4 from Simeon Andreev <[email protected]> ---
Created attachment 193657
  --> https://bugs.kde.org/attachment.cgi?id=193657&action=edit
Periodic gstack calls for kwin_wayland process, when no hang is seen.

I decreased the sleep to 1 sec and captured some stack traces with downgraded
packages (and so without a hang).

The "Thread 1" stack trace with the downgraded packages:

Thread 1 (Thread 0x7f4d348a1c80 (LWP 174024) "kwin_wayland"):
#0  0x00007f4d3e7c6244 in ??? () at /usr/lib/libkwin.so.6
#1  0x00007f4d3e7c6602 in KWin::Region::sliceBand(QSpan<KWin::Rect const,
18446744073709551615ul>, int, int, KWin::Region::BandRef const&) () at
/usr/lib/libkwin.so.6
#2  0x00007f4d3e7c6a78 in KWin::Region::unite(QSpan<KWin::Rect const,
18446744073709551615ul>, QSpan<KWin::Rect const, 18446744073709551615ul>) () at
/usr/lib/libkwin.so.6
#3  0x00007f4d3e7c6ee0 in KWin::Region::united(KWin::Region const&) const () at
/usr/lib/libkwin.so.6
#4  0x00007f4d3e7bb7b9 in ??? () at /usr/lib/libkwin.so.6
#5  0x00007f4d3e975731 in KWin::SurfaceItemXwayland::opaque() const () at
/usr/lib/libkwin.so.6
#6  0x00007f4d3e97f47b in ??? () at /usr/lib/libkwin.so.6
#7  0x00007f4d3e97f889 in ??? () at /usr/lib/libkwin.so.6
#8  0x00007f4d3e97f889 in ??? () at /usr/lib/libkwin.so.6
#9  0x00007f4d3e97fccc in KWin::WorkspaceScene::preparePaintSimpleScreen() ()
at /usr/lib/libkwin.so.6
#10 0x00007f4d3e97a126 in KWin::WorkspaceScene::prePaint(KWin::SceneView*) ()
at /usr/lib/libkwin.so.6
#11 0x00007f4d3e79b978 in KWin::Compositor::composite(KWin::RenderLoop*) () at
/usr/lib/libkwin.so.6
#12 0x00007f4d3bbf081b in ??? () at /usr/lib/libQt6Core.so.6
#13 0x00007f4d3e7cc5db in KWin::RenderLoop::frameRequested(KWin::RenderLoop*)
() at /usr/lib/libkwin.so.6
#14 0x00007f4d3bbe7cf9 in QObject::event(QEvent*) () at
/usr/lib/libQt6Core.so.6
#15 0x00007f4d3cf0411f in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() at /usr/lib/libQt6Widgets.so.6
#16 0x00007f4d3bb83658 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() at /usr/lib/libQt6Core.so.6
#17 0x00007f4d3bd6b2f5 in QTimerInfoList::activateTimers() () at
/usr/lib/libQt6Core.so.6
#18 0x00007f4d3bd76bd2 in
QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
at /usr/lib/libQt6Core.so.6
#19 0x00007f4d3cb83543 in
QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() at /usr/lib/libQt6Gui.so.6
#20 0x00007f4d3bb91983 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at
/usr/lib/libQt6Core.so.6
#21 0x00007f4d3bb86eaa in QCoreApplication::exec() () at
/usr/lib/libQt6Core.so.6
#22 0x000055c0ff36601e in ??? ()
#23 0x00007f4d3b227741 in ??? () at /usr/lib/libc.so.6
#24 0x00007f4d3b227879 in __libc_start_main () at /usr/lib/libc.so.6
#25 0x000055c0ff36a485 in ??? ()

>From the hanging session, the stack traces look like this:

Thread 1 (Thread 0x7fbfa423a180 (LWP 1224) "kwin_wayland"):
#0  0x00007fbfae3e3174 in KWin::RegionF::coalesceBands(KWin::RegionF::BandRef
const&, KWin::RegionF::BandRef const&) () from /usr/lib/libkwin.so.6
#1  0x00007fbfae3e3ea1 in KWin::RegionF::sliceBand(QSpan<KWin::RectF const,
18446744073709551615ul>, double, double, KWin::RegionF::BandRef const&) () from
/usr/lib/libkwin.so.6
#2  0x00007fbfae3e42fc in KWin::RegionF::unite(QSpan<KWin::RectF const,
18446744073709551615ul>, QSpan<KWin::RectF const, 18446744073709551615ul>) ()
from /usr/lib/libkwin.so.6
#3  0x00007fbfae3e4873 in KWin::RegionF::united(KWin::RegionF const&) const ()
from /usr/lib/libkwin.so.6
#4  0x00007fbfae6dee54 in KWin::X11Window::updateShapeRegion() () from
/usr/lib/libkwin.so.6
#5  0x00007fbfae6ca1fa in KWin::X11Window::windowEvent(xcb_generic_event_t*) ()
from /usr/lib/libkwin.so.6
#6  0x00007fbfae6ca433 in KWin::Workspace::workspaceEvent(xcb_generic_event_t*)
() from /usr/lib/libkwin.so.6
#7  0x00005625538b8efe in ?? ()
#8  0x00007fbfab7f081b in ?? () from /usr/lib/libQt6Core.so.6
#9  0x00007fbfab803dc0 in QSocketNotifier::event(QEvent*) () from
/usr/lib/libQt6Core.so.6
#10 0x00007fbfac90411f in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/libQt6Widgets.so.6
#11 0x00007fbfab783658 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib/libQt6Core.so.6
#12 0x00007fbfab976277 in
QEventDispatcherUNIXPrivate::activateSocketNotifiers() () from
/usr/lib/libQt6Core.so.6
#13 0x00007fbfab976ea4 in
QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib/libQt6Core.so.6
#14 0x00007fbfac583543 in
QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /usr/lib/libQt6Gui.so.6
#15 0x00007fbfab791983 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib/libQt6Core.so.6
#16 0x00007fbfab786eaa in QCoreApplication::exec() () from
/usr/lib/libQt6Core.so.6
#17 0x00005625538a2020 in ?? ()
#18 0x00007fbfaae27741 in ?? () from /usr/lib/libc.so.6
#19 0x00007fbfaae27879 in __libc_start_main () from /usr/lib/libc.so.6
#20 0x00005625538a6635 in ?? ()

I'm not sure this helps much. I did follow the guide to compile plasma-desktop
here: https://github.com/KDE/kwin/blob/master/CONTRIBUTING.md

I now have a developer session I can log into, I do see the hang in the
session. I assume I can also change kwin code, e.g. adding extra log entries,
checking out / reverting commits and so on - anything that helps. Bisecting
will probably be too much for me, considering how long it takes to start a
session, test for the hang, reboot my PC from the power button (I try not to do
that often also).

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

Reply via email to