Bug 486622 - kwin_x11 crashes in KWin::FocusChain::insertWindowIntoChain() while trying to browse for new widgets
Summary: kwin_x11 crashes in KWin::FocusChain::insertWindowIntoChain() while trying to...
Status: ASSIGNED
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 6.0.3
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: qt6, regression
Depends on:
Blocks:
 
Reported: 2024-05-05 11:36 UTC by evgeniyharchenko.dev
Modified: 2024-05-12 19:31 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
debug info from latest plasma (6.0.4) (35.85 KB, text/plain)
2024-05-05 11:36 UTC, evgeniyharchenko.dev
Details
debug info from latest plasma (6.0.4) build from sources (30.36 KB, text/plain)
2024-05-05 13:39 UTC, evgeniyharchenko.dev
Details

Note You need to log in before you can comment on or make changes to this bug.
Description evgeniyharchenko.dev 2024-05-05 11:36:24 UTC
Created attachment 169210 [details]
debug info from latest plasma (6.0.4)

SUMMARY
kwin_x11 restarts when the Download New Plasma Widgets dialog opens.

STEPS TO REPRODUCE
1. Right click on the taskbar.
2. Click "Add widgets"
3. Click "Get new widgets"
4. Click "Download New Widgets"

OBSERVED RESULT
Dialog opens, but kwin_x11 crashes and restarts.

EXPECTED RESULT
Dialog opens, kwin_x11 not crashes and not restarts

SOFTWARE/OS VERSIONS
KDE Neon 6.0 (X11)
KDE Plasma Version: 6.0.3
KDE Frameworks Version: 6.0.0
Qt Version: 6.7.0

ADDITIONAL INFORMATION
The problem appears in neon-user-20240411-1555 (I tested on clear ISOs). Previous version neon-user-20240404-0714 has no problems. So, it seems the problem is related to updating the QT version.
Comment 1 evgeniyharchenko.dev 2024-05-05 12:25:05 UTC
Comment on attachment 169210 [details]
debug info from latest plasma (6.0.4)

KDE Neon 6.0 (X11)
KDE Plasma Version: 6.0.4
KDE Frameworks Version: 6.1.0
Qt Version: 6.7.0
Comment 2 evgeniyharchenko.dev 2024-05-05 12:26:17 UTC
Comment on attachment 169210 [details]
debug info from latest plasma (6.0.4)

KDE Neon 6.0 (X11)
KDE Plasma Version: 6.0.4
KDE Frameworks Version: 6.1.0
Qt Version: 6.7.0
Comment 3 evgeniyharchenko.dev 2024-05-05 13:39:38 UTC
Created attachment 169213 [details]
debug info from latest plasma (6.0.4) build from sources

kwin build from sources:
Branch: Plasma/6.0
Latest commit: https://invent.kde.org/plasma/kwin/-/commit/a32215951ff1269ad6b6cbf1d981b72521ef3498
Comment 4 Nate Graham 2024-05-05 20:11:40 UTC
Thread 1 (Thread 0x779bf3a7bac0 (LWP 41580) "kwin_x11"):
#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=131511691492032) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=131511691492032) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=131511691492032, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3  0x0000779bf7c42476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x0000779bf7c287f3 in __GI_abort () at ./stdlib/abort.c:79
#5  0x0000779bf88fdb6e in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#6  0x0000779bf88f820a in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#7  0x0000779bf88fe511 in  () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#8  0x0000779bf88c2ac2 in qt_assert_x(char const*, char const*, char const*, int) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#9  0x0000779bfb1ca682 in KWin::FocusChain::insertWindowIntoChain(KWin::Window*, QList<KWin::Window*>&) (this=0x62295d68a3b0, window=0x62295e670ba0, chain=...) at /home/test/kwin/src/focuschain.cpp:119
#10 0x0000779bfb1ca494 in KWin::FocusChain::update(KWin::Window*, KWin::FocusChain::Change) (this=0x62295d68a3b0, window=0x62295e670ba0, change=KWin::FocusChain::MakeFirst) at /home/test/kwin/src/focuschain.cpp:85
#11 0x0000779bfb4e9f78 in KWin::Window::setDesktops(QList<KWin::VirtualDesktop*>) (this=0x62295e670ba0, desktops=...) at /home/test/kwin/src/window.cpp:774
#12 0x0000779bfb4e9eee in KWin::Window::setDesktops(QList<KWin::VirtualDesktop*>) (this=0x62295e4af850, desktops=...) at /home/test/kwin/src/window.cpp:768
#13 0x0000779bfb00f08c in KWin::Workspace::takeActivity(KWin::Window*, QFlags<KWin::Workspace::ActivityFlag>) (this=0x62295d698850, window=0x62295e3a7e20, flags=...) at /home/test/kwin/src/activation.cpp:376
#14 0x0000779bfb00eed8 in KWin::Workspace::requestFocus(KWin::Window*, bool) (this=0x62295d698850, window=0x62295e3a7e20, force=false) at /home/test/kwin/src/activation.cpp:357
#15 0x0000779bfb00f9e9 in KWin::Workspace::activateNextWindow(KWin::Window*) (this=0x62295d698850, window=0x62295e670ba0) at /home/test/kwin/src/activation.cpp:527
#16 0x0000779bfb00f4bc in KWin::Workspace::windowHidden(KWin::Window*) (this=0x62295d698850, window=0x62295e670ba0) at /home/test/kwin/src/activation.cpp:438
#17 0x0000779bfb557b7c in KWin::X11Window::releaseWindow(bool) (this=0x62295e670ba0, on_shutdown=false) at /home/test/kwin/src/x11window.cpp:425
#18 0x0000779bfb1c5417 in KWin::X11Window::unmapNotifyEvent(xcb_unmap_notify_event_t*) (this=0x62295e670ba0, e=0x779be401f560) at /home/test/kwin/src/events.cpp:632
#19 0x0000779bfb1c4bdc in KWin::X11Window::windowEvent(xcb_generic_event_t*) (this=0x62295e670ba0, e=0x779be401f560) at /home/test/kwin/src/events.cpp:452
#20 0x0000779bfb1c3adc in KWin::Workspace::workspaceEvent(xcb_generic_event_t*) (this=0x62295d698850, e=0x779be401f560) at /home/test/kwin/src/events.cpp:154
#21 0x0000779bfb289740 in KWin::Application::dispatchEvent(xcb_generic_event_t*) (this=0x7ffe960a0a30, event=0x779be401f560) at /home/test/kwin/src/main.cpp:511
#22 0x0000779bfb289a69 in KWin::XcbEventFilter::nativeEventFilter(QByteArray const&, void*, long long*) (this=0x62295d5fd9f0, eventType=..., message=0x779be401f560, result=0x7ffe960a0558) at /home/test/kwin/src/main.cpp:623
#23 0x0000779bf88974ef in QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long long*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#24 0x0000779bf2fa43ba in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) () at /lib/x86_64-linux-gnu/libQt6XcbQpa.so.6
#25 0x0000779bf2fac7ee in QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6XcbQpa.so.6
#26 0x0000779bf2fc42c7 in  () at /lib/x86_64-linux-gnu/libQt6XcbQpa.so.6
#27 0x0000779bf70d1d3b in g_main_dispatch (context=0x779bec005040) at ../../../glib/gmain.c:3419
#28 g_main_context_dispatch (context=0x779bec005040) at ../../../glib/gmain.c:4137
#29 0x0000779bf7127258 in g_main_context_iterate.constprop.0 (context=context@entry=0x779bec005040, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4213
#30 0x0000779bf70cf3e3 in g_main_context_iteration (context=0x779bec005040, may_block=1) at ../../../glib/gmain.c:4278
#31 0x0000779bf8676570 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#32 0x0000779bf88a3e3b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#33 0x0000779bf88a5a6c in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#34 0x000062295c7b64c3 in main(int, char**) (argc=2, argv=0x7ffe960a0c68) at /home/test/kwin/src/main_x11.cpp:460
A debugging session is active.
Comment 5 evgeniyharchenko.dev 2024-05-05 21:20:02 UTC
Here is merge request to plasma-workspace: https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4286
It tries to prevent this crash. Also there is more information about this case there.
Comment 6 evgeniyharchenko.dev 2024-05-12 19:31:28 UTC
By the way, I noticed that after upgrading to Plasma 6 there are some troubles with focusing apps at all. Sometimes they can loose focus. I can't find a correct algorithm to reproduce this bug, but I can suggest the buggiest app, e.g. there are no chances to work with 2 opened Clion instances. After a while one of the instances becomes "transparent" for mouse events. E.g. you are trying to click some element, but as a result you are clicking on the widow under the Clion instance.