Bug 435009

Summary: System Settings crashed in QtWayland::wl_registry::handle_global() for org_kde_kwin_blur_manager on Wayland when changing global theme
Product: [Plasma] kwin Reporter: Patrick Silva <bugseforuns>
Component: wayland-genericAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED WORKSFORME    
Severity: crash CC: alex765, magiblot, nate
Priority: NOR Keywords: drkonqi
Version: unspecified   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: systemsettings with WAYLAND_DEBUG=1

Description Patrick Silva 2021-03-27 10:24:19 UTC
Application: systemsettings5 (5.21.80)

Qt Version: 5.15.2
Frameworks Version: 5.81.0
Operating System: Linux 5.8.0-48-generic x86_64
Windowing System: Wayland
Drkonqi Version: 5.21.80
Distribution: KDE neon Unstable Edition

-- Information about the crash:
- What I was doing when the application crashed:
I changed global theme from Breeze to Breeze Dark and System Settings crashed.

The crash does not seem to be reproducible.

-- Backtrace:
Application: System Settings (systemsettings5), signal: Segmentation fault
Content of s_kcrashErrorMessage: [Current thread is 1 (Thread 0x7f50ca1c78c0 (LWP 8644))]
[New LWP 8646]
[New LWP 8647]
[New LWP 8648]
[New LWP 8649]
[New LWP 8650]
[New LWP 8651]
[New LWP 8652]
[New LWP 8709]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f50ce7b0aff in __GI___poll (fds=fds@entry=0x7ffc8fe48ae8, nfds=nfds@entry=1, timeout=timeout@entry=1000) at ../sysdeps/unix/sysv/linux/poll.c:29

Thread 9 (Thread 0x7f50a3fff700 (LWP 8709)):
#0  0x00007f50ce7b0aff in __GI___poll (fds=0x7f509c18f880, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f50cc7ec36e in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f509c18f880, timeout=<optimized out>, context=0x7f509c2e4ae0) at ../../../glib/gmain.c:4346
#2  g_main_context_iterate (context=context@entry=0x7f509c2e4ae0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#3  0x00007f50cc7ec4a3 in g_main_context_iteration (context=0x7f509c2e4ae0, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#4  0x00007f50ced7bffb in QEventDispatcherGlib::processEvents (this=0x7f509c11d080, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f50ced201eb in QEventLoop::exec (this=this@entry=0x7f50a3ffecc0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007f50ceb3aa52 in QThread::exec (this=this@entry=0x5614b01de9c0) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f50cdbdcfa9 in QQmlThreadPrivate::run (this=0x5614b01de9c0) at qml/ftw/qqmlthread.cpp:155
#8  0x00007f50ceb3bbec in QThreadPrivate::start (arg=0x5614b01de9c0) at thread/qthread_unix.cpp:329
#9  0x00007f50cd1ad609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f50ce7bd293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7f50b94e6700 (LWP 8652)):
#0  __libc_disable_asynccancel () at ../sysdeps/unix/sysv/linux/x86_64/cancellation.S:81
#1  0x00007f50ce7b0b13 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:29
#2  0x00007f50cc7ec36e in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f50a8004a60, timeout=<optimized out>, context=0x7f50a8000c20) at ../../../glib/gmain.c:4346
#3  g_main_context_iterate (context=context@entry=0x7f50a8000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#4  0x00007f50cc7ec4a3 in g_main_context_iteration (context=0x7f50a8000c20, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#5  0x00007f50ced7bffb in QEventDispatcherGlib::processEvents (this=0x7f50a8000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#6  0x00007f50ced201eb in QEventLoop::exec (this=this@entry=0x7f50b94e5cc0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#7  0x00007f50ceb3aa52 in QThread::exec (this=this@entry=0x56149c040870) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#8  0x00007f50cdbdcfa9 in QQmlThreadPrivate::run (this=0x56149c040870) at qml/ftw/qqmlthread.cpp:155
#9  0x00007f50ceb3bbec in QThreadPrivate::start (arg=0x56149c040870) at thread/qthread_unix.cpp:329
#10 0x00007f50cd1ad609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#11 0x00007f50ce7bd293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7f50c1427700 (LWP 8651)):
#0  __GI___libc_read (nbytes=16, buf=0x7f50c1426ab0, fd=13) at ../sysdeps/unix/sysv/linux/read.c:26
#1  __GI___libc_read (fd=13, buf=buf@entry=0x7f50c1426ab0, nbytes=nbytes@entry=16) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007f50cc834b2f in read (__nbytes=16, __buf=0x7f50c1426ab0, __fd=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/unistd.h:44
#3  g_wakeup_acknowledge (wakeup=0x7f50c4003eb0) at ../../../glib/gwakeup.c:210
#4  0x00007f50cc7ebebe in g_main_context_check (context=context@entry=0x7f50a4000c20, max_priority=2147483647, fds=fds@entry=0x7f50a4004e60, n_fds=n_fds@entry=1) at ../../../glib/gmain.c:3825
#5  0x00007f50cc7ec312 in g_main_context_iterate (context=context@entry=0x7f50a4000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4044
#6  0x00007f50cc7ec4a3 in g_main_context_iteration (context=0x7f50a4000c20, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#7  0x00007f50ced7bffb in QEventDispatcherGlib::processEvents (this=0x7f50a4000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#8  0x00007f50ced201eb in QEventLoop::exec (this=this@entry=0x7f50c1426cc0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#9  0x00007f50ceb3aa52 in QThread::exec (this=this@entry=0x56149bd70790) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#10 0x00007f50cdbdcfa9 in QQmlThreadPrivate::run (this=0x56149bd70790) at qml/ftw/qqmlthread.cpp:155
#11 0x00007f50ceb3bbec in QThreadPrivate::start (arg=0x56149bd70790) at thread/qthread_unix.cpp:329
#12 0x00007f50cd1ad609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#13 0x00007f50ce7bd293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f50c2004700 (LWP 8650)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x56149b9bf03c) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x56149b9befe8, cond=0x56149b9bf010) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x56149b9bf010, mutex=0x56149b9befe8) at pthread_cond_wait.c:638
#3  0x00007f50c3717e6b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007f50c3717a6b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007f50cd1ad609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f50ce7bd293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f50bbfff700 (LWP 8649)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x56149b9bf03c) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x56149b9befe8, cond=0x56149b9bf010) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x56149b9bf010, mutex=0x56149b9befe8) at pthread_cond_wait.c:638
#3  0x00007f50c3717e6b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007f50c3717a6b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007f50cd1ad609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f50ce7bd293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f50c2805700 (LWP 8648)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x56149b9bf038) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x56149b9befe8, cond=0x56149b9bf010) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x56149b9bf010, mutex=0x56149b9befe8) at pthread_cond_wait.c:638
#3  0x00007f50c3717e6b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007f50c3717a6b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007f50cd1ad609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f50ce7bd293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f50c3006700 (LWP 8647)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x56149b9bf038) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x56149b9befe8, cond=0x56149b9bf010) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x56149b9bf010, mutex=0x56149b9befe8) at pthread_cond_wait.c:638
#3  0x00007f50c3717e6b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007f50c3717a6b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007f50cd1ad609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f50ce7bd293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f50c9555700 (LWP 8646)):
#0  0x00007f50ce7b0aff in __GI___poll (fds=0x7f50c4005240, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f50cc7ec36e in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f50c4005240, timeout=<optimized out>, context=0x7f50c4000c20) at ../../../glib/gmain.c:4346
#2  g_main_context_iterate (context=context@entry=0x7f50c4000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#3  0x00007f50cc7ec4a3 in g_main_context_iteration (context=0x7f50c4000c20, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#4  0x00007f50ced7bffb in QEventDispatcherGlib::processEvents (this=0x7f50c4000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f50ced201eb in QEventLoop::exec (this=this@entry=0x7f50c9554cb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007f50ceb3aa52 in QThread::exec (this=this@entry=0x7f50cd87cd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f50cd7f8f4b in QDBusConnectionManager::run (this=0x7f50cd87cd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#8  0x00007f50ceb3bbec in QThreadPrivate::start (arg=0x7f50cd87cd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:329
#9  0x00007f50cd1ad609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f50ce7bd293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f50ca1c78c0 (LWP 8644)):
[KCrash Handler]
#6  0x00007f50cc4bb794 in QWaylandClientExtensionPrivate::handleRegistryGlobal (data=0x5614a0209d10, registry=0x56149b7b7000, id=45, interface=..., version=1) at global/qwaylandclientextension.cpp:67
#7  0x00007f50cc497822 in QtWaylandClient::QWaylandDisplay::registry_global (this=<optimized out>, id=45, interface=..., version=1) at qwaylanddisplay.cpp:396
#8  0x00007f50cc4c5d16 in QtWayland::wl_registry::handle_global (data=0x56149b7bab30, object=<optimized out>, name=45, interface=0x5614a4982440 "org_kde_kwin_blur_manager", version=1) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h:236
#9  0x00007f50ca399ff5 in ffi_call_unix64 () at ../src/x86/unix64.S:101
#10 0x00007f50ca39940a in ffi_call_int (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=<optimized out>) at ../src/x86/ffi64.c:669
#11 0x00007f50cc4133a8 in wl_closure_invoke (closure=0x5614a4982360, flags=1, target=<optimized out>, opcode=0, data=<optimized out>) at ../src/connection.c:1018
#12 0x00007f50cc40fc48 in dispatch_event (display=display@entry=0x56149b7bb060, queue=<optimized out>) at ../src/wayland-client.c:1445
#13 0x00007f50cc41121c in dispatch_queue (queue=0x56149b7bb130, display=0x56149b7bb060) at ../src/wayland-client.c:1591
#14 wl_display_dispatch_queue_pending (display=0x56149b7bb060, queue=0x56149b7bb130) at ../src/wayland-client.c:1833
#15 0x00007f50cc411280 in wl_display_dispatch_pending (display=<optimized out>) at ../src/wayland-client.c:1896
#16 0x00007f50cc497155 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x56149b7bab20) at qwaylanddisplay.cpp:221
#17 0x00007f50ced58730 in doActivate<false> (sender=0x56149b82d1e0, signal_index=4, argv=0x7ffc8fe498a0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:395
#18 0x00007f50ced51ac7 in QMetaObject::activate (sender=sender@entry=0x56149b82d1e0, m=m@entry=0x7f50cefbb1c0 <QAbstractEventDispatcher::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0) at kernel/qobject.cpp:3946
#19 0x00007f50ced1e287 in QAbstractEventDispatcher::awake (this=this@entry=0x56149b82d1e0) at .moc/moc_qabstracteventdispatcher.cpp:149
#20 0x00007f50ced7c01c in QEventDispatcherGlib::processEvents (this=0x56149b82d1e0, flags=...) at kernel/qeventdispatcher_glib.cpp:430
#21 0x00007f50ced201eb in QEventLoop::exec (this=this@entry=0x7ffc8fe499c0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#22 0x00007f50ced28394 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#23 0x0000561499b63232 in main (argc=<optimized out>, argv=<optimized out>) at ./app/main.cpp:208
[Inferior 1 (process 8644) detached]

Possible duplicates by query: bug 434384, bug 433314, bug 433308, bug 432297, bug 431818.

Reported using DrKonqi
Comment 1 Nate Graham 2021-03-30 18:49:32 UTC
Almost the same backtrace as in Bug 422424, but it's System Settings crashing, now KWin.
Comment 2 Alex 2021-03-31 08:55:08 UTC
In that case, shouldn't this bug be moved to the systemsettings5 product?

Also I'm unable to reproduce this on a fresh Neon Unstable VM...
Comment 3 Nate Graham 2021-03-31 20:05:23 UTC
The bug isn't in System Settings itself, but rather something deep in the compositor.
Comment 4 Vlad Zahorodnii 2021-04-01 07:20:11 UTC
This should be fixed by https://invent.kde.org/plasma/kwayland-server/-/merge_requests/156. Not sure that Neon was shipping kwin with that MR included.
Comment 5 Vlad Zahorodnii 2021-04-01 19:42:10 UTC
Can you also please run systemsettings with WAYLAND_DEBUG=1?
Comment 6 Patrick Silva 2021-04-02 11:12:14 UTC
Created attachment 137264 [details]
systemsettings with WAYLAND_DEBUG=1
Comment 7 Vlad Zahorodnii 2021-04-02 11:18:03 UTC
(In reply to Patrick Silva from comment #6)
> Created attachment 137264 [details]
> systemsettings with WAYLAND_DEBUG=1

I don't see anything suspicious in the log. You ran systemsettings with WAYLAND_DEBUG=1 and made it crash by changing the global theme, right?
Comment 8 Patrick Silva 2021-04-02 11:29:44 UTC
No. This crash is not reproducible, it happened just once.
Comment 9 Nate Graham 2021-04-05 15:14:07 UTC
*** Bug 433036 has been marked as a duplicate of this bug. ***
Comment 10 Vlad Zahorodnii 2021-04-05 15:17:02 UTC
(In reply to Patrick Silva from comment #8)
> No. This crash is not reproducible, it happened just once.

It's quite possible that neon didn't ship the right kwaylandserver at that time. Let's mark it RESOLVED WORKSFORME. If this issue happens again in git master, please reopen this bug report.