SUMMARY kwin_wayland crashes after I change... Global theme window decoration any font setting task switcher (I changed from default theme to Large Icons) STEPS TO REPRODUCE 1. start Wayland session 2. open system settings 3. change any setting mentioned above 4. click "Apply" button OBSERVED RESULT Plasma session freezes and Neon goes to login screen after a few seconds EXPECTED RESULT Wayland session never crashes SOFTWARE/OS VERSIONS Operating System: KDE neon Unstable Edition KDE Plasma Version: 5.16.80 KDE Frameworks Version: 5.63.0 Qt Version: 5.12.3 Kernel Version: 5.2.5-050205-generic ADDITIONAL INFORMATION the following backtrace was generated after I change Global Theme from breeze dark to breeze Thread 12 (Thread 7288.7724): #0 0x00007f2a8a9d9ed9 in futex_reltimed_wait_cancelable (private=<optimized out>, reltime=0x7f2a5da01b60, expected=0, futex_word=0x564781258d14) at ../sysdeps/unix/sysv/linux/futex-internal.h:142 #1 __pthread_cond_wait_common (abstime=0x7f2a5da01c20, mutex=0x564781258cc0, cond=0x564781258ce8) at pthread_cond_wait.c:533 #2 __pthread_cond_timedwait (cond=cond@entry=0x564781258ce8, mutex=mutex@entry=0x564781258cc0, abstime=abstime@entry=0x7f2a5da01c20) at pthread_cond_wait.c:667 #3 0x00007f2a89369d36 in QWaitConditionPrivate::wait_relative (this=0x564781258cc0, deadline=...) at thread/qwaitcondition_unix.cpp:136 #4 QWaitConditionPrivate::wait (deadline=..., this=0x564781258cc0) at thread/qwaitcondition_unix.cpp:144 #5 QWaitCondition::wait (this=<optimized out>, mutex=0x564780c06e10, deadline=...) at thread/qwaitcondition_unix.cpp:225 #6 0x00007f2a8936a096 in QWaitCondition::wait (this=this@entry=0x564781258b00, mutex=mutex@entry=0x564780c06e10, time=<optimized out>) at thread/qwaitcondition_unix.cpp:209 #7 0x00007f2a89367740 in QThreadPoolThread::run (this=0x564781258af0) at thread/qthreadpool.cpp:139 #8 0x00007f2a89362c72 in QThreadPrivate::start (arg=0x564781258af0) at thread/qthread_unix.cpp:361 #9 0x00007f2a8a9d36db in start_thread (arg=0x7f2a5da02700) at pthread_create.c:463 #10 0x00007f2a88a3a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 11 (Thread 7288.7723): #0 0x00007f2a8a9d9ed9 in futex_reltimed_wait_cancelable (private=<optimized out>, reltime=0x7f2a3ddafb60, expected=0, futex_word=0x564780c48be4) at ../sysdeps/unix/sysv/linux/futex-internal.h:142 #1 __pthread_cond_wait_common (abstime=0x7f2a3ddafc20, mutex=0x564780c48b90, cond=0x564780c48bb8) at pthread_cond_wait.c:533 #2 __pthread_cond_timedwait (cond=cond@entry=0x564780c48bb8, mutex=mutex@entry=0x564780c48b90, abstime=abstime@entry=0x7f2a3ddafc20) at pthread_cond_wait.c:667 #3 0x00007f2a89369d36 in QWaitConditionPrivate::wait_relative (this=0x564780c48b90, deadline=...) at thread/qwaitcondition_unix.cpp:136 #4 QWaitConditionPrivate::wait (deadline=..., this=0x564780c48b90) at thread/qwaitcondition_unix.cpp:144 #5 QWaitCondition::wait (this=<optimized out>, mutex=0x564780c06e10, deadline=...) at thread/qwaitcondition_unix.cpp:225 #6 0x00007f2a8936a096 in QWaitCondition::wait (this=this@entry=0x564780b550d0, mutex=mutex@entry=0x564780c06e10, time=<optimized out>) at thread/qwaitcondition_unix.cpp:209 #7 0x00007f2a89367740 in QThreadPoolThread::run (this=0x564780b550c0) at thread/qthreadpool.cpp:139 #8 0x00007f2a89362c72 in QThreadPrivate::start (arg=0x564780b550c0) at thread/qthread_unix.cpp:361 #9 0x00007f2a8a9d36db in start_thread (arg=0x7f2a3ddb0700) at pthread_create.c:463 #10 0x00007f2a88a3a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 10 (Thread 7288.7327): #0 0x00007f2a8a9d99f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7f2a883b3fb8 <QTWTF::pageheap_memory+57592>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 #1 __pthread_cond_wait_common (abstime=0x0, mutex=0x7f2a883b3f68 <QTWTF::pageheap_memory+57512>, cond=0x7f2a883b3f90 <QTWTF::pageheap_memory+57552>) at pthread_cond_wait.c:502 #2 __pthread_cond_wait (cond=cond@entry=0x7f2a883b3f90 <QTWTF::pageheap_memory+57552>, mutex=mutex@entry=0x7f2a883b3f68 <QTWTF::pageheap_memory+57512>) at pthread_cond_wait.c:655 #3 0x00007f2a880bd844 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f2a883a5ec0 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359 #4 0x00007f2a880bd889 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464 #5 0x00007f2a8a9d36db in start_thread (arg=0x7f2a3d5af700) at pthread_create.c:463 #6 0x00007f2a88a3a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 9 (Thread 7288.7325): #0 0x00007f2a8a9d99f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5647810dbc40) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 #1 __pthread_cond_wait_common (abstime=0x0, mutex=0x5647810dbbf0, cond=0x5647810dbc18) at pthread_cond_wait.c:502 #2 __pthread_cond_wait (cond=cond@entry=0x5647810dbc18, mutex=mutex@entry=0x5647810dbbf0) at pthread_cond_wait.c:655 #3 0x00007f2a89369dbb in QWaitConditionPrivate::wait (deadline=..., this=0x5647810dbbf0) at thread/qwaitcondition_unix.cpp:146 #4 QWaitCondition::wait (this=<optimized out>, mutex=0x5647810dba28, deadline=...) at thread/qwaitcondition_unix.cpp:225 #5 0x00007f2a8936a0c9 in QWaitCondition::wait (this=this@entry=0x5647810dba30, mutex=mutex@entry=0x5647810dba28, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208 #6 0x00007f2a4c09172b in FileInfoThread::run (this=0x5647810dba18) at fileinfothread.cpp:228 #7 0x00007f2a89362c72 in QThreadPrivate::start (arg=0x5647810dba18) at thread/qthread_unix.cpp:361 #8 0x00007f2a8a9d36db in start_thread (arg=0x7f2a3e5b1700) at pthread_create.c:463 #9 0x00007f2a88a3a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 8 (Thread 7288.7320): #0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38 #1 0x00007f2a89365354 in QtLinuxFutex::_q_futex (val3=0, addr2=0x0, val2=0, val=<optimized out>, op=0, addr=<optimized out>) at thread/qfutex_p.h:92 #2 QtLinuxFutex::futexWait<QBasicAtomicInteger<unsigned int> > (expectedValue=<optimized out>, futex=...) at thread/qfutex_p.h:107 #3 futexSemaphoreTryAcquire_loop<false> (timeout=-1, nn=8589934593, curValue=<optimized out>, u=...) at thread/qsemaphore.cpp:219 #4 futexSemaphoreTryAcquire<false> (timeout=-1, n=n@entry=1, u=...) at thread/qsemaphore.cpp:262 #5 QSemaphore::acquire (this=this@entry=0x5647812281d0, n=n@entry=1) at thread/qsemaphore.cpp:326 #6 0x00007f2a722b14ca in QtVirtualKeyboard::HunspellWorker::run (this=0x5647812281b0) at hunspellworker.cpp:744 #7 0x00007f2a89362c72 in QThreadPrivate::start (arg=0x5647812281b0) at thread/qthread_unix.cpp:361 #8 0x00007f2a8a9d36db in start_thread (arg=0x7f2a473e4700) at pthread_create.c:463 #9 0x00007f2a88a3a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 7 (Thread 7288.7319): #0 0x00007f2a88a2dbf9 in __GI___poll (fds=0x7f2a48004660, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f2a7f8b85c9 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f2a48004660, timeout=<optimized out>, context=0x7f2a48000bf0) at ../../../../glib/gmain.c:4203 #2 g_main_context_iterate (context=context@entry=0x7f2a48000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../glib/gmain.c:3897 #3 0x00007f2a7f8b86dc in g_main_context_iteration (context=0x7f2a48000bf0, may_block=may_block@entry=1) at ../../../../glib/gmain.c:3963 #4 0x00007f2a89598daf in QEventDispatcherGlib::processEvents (this=0x7f2a48000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:422 #5 0x00007f2a8953a03a in QEventLoop::exec (this=this@entry=0x7f2a4f3b1d00, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225 #6 0x00007f2a893614ca in QThread::exec (this=this@entry=0x5647810c33e0) at thread/qthread.cpp:531 #7 0x00007f2a83f17115 in QQmlThreadPrivate::run (this=0x5647810c33e0) at qml/ftw/qqmlthread.cpp:148 #8 0x00007f2a89362c72 in QThreadPrivate::start (arg=0x5647810c33e0) at thread/qthread_unix.cpp:361 #9 0x00007f2a8a9d36db in start_thread (arg=0x7f2a4f3b2700) at pthread_create.c:463 #10 0x00007f2a88a3a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 6 (Thread 7288.7318): #0 0x00007f2a88a2dbf9 in __GI___poll (fds=0x7f2a54003ce0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f2a7f8b85c9 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f2a54003ce0, timeout=<optimized out>, context=0x7f2a54000bf0) at ../../../../glib/gmain.c:4203 #2 g_main_context_iterate (context=context@entry=0x7f2a54000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../glib/gmain.c:3897 #3 0x00007f2a7f8b86dc in g_main_context_iteration (context=0x7f2a54000bf0, may_block=may_block@entry=1) at ../../../../glib/gmain.c:3963 #4 0x00007f2a89598daf in QEventDispatcherGlib::processEvents (this=0x7f2a54000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:422 #5 0x00007f2a8953a03a in QEventLoop::exec (this=this@entry=0x7f2a5cdadd00, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225 #6 0x00007f2a893614ca in QThread::exec (this=this@entry=0x564780febf40) at thread/qthread.cpp:531 #7 0x00007f2a83f17115 in QQmlThreadPrivate::run (this=0x564780febf40) at qml/ftw/qqmlthread.cpp:148 #8 0x00007f2a89362c72 in QThreadPrivate::start (arg=0x564780febf40) at thread/qthread_unix.cpp:361 #9 0x00007f2a8a9d36db in start_thread (arg=0x7f2a5cdae700) at pthread_create.c:463 #10 0x00007f2a88a3a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 5 (Thread 7288.7292): #0 0x00007f2a8a9d99f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x564780bca128) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 #1 __pthread_cond_wait_common (abstime=0x0, mutex=0x564780bca0d8, cond=0x564780bca100) at pthread_cond_wait.c:502 #2 __pthread_cond_wait (cond=0x564780bca100, mutex=0x564780bca0d8) at pthread_cond_wait.c:655 #3 0x00007f2a689f20aa in ?? () from target:/usr/lib/x86_64-linux-gnu/dri/i965_dri.so #4 0x00007f2a689f1dd7 in ?? () from target:/usr/lib/x86_64-linux-gnu/dri/i965_dri.so #5 0x00007f2a8a9d36db in start_thread (arg=0x7f2a5f5b4700) at pthread_create.c:463 #6 0x00007f2a88a3a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 4 (Thread 7288.7291): #0 0x00007f2a88a2dbf9 in __GI___poll (fds=0x7f2a600046c0, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f2a7f8b85c9 in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x7f2a600046c0, timeout=<optimized out>, context=0x7f2a60000bf0) at ../../../../glib/gmain.c:4203 #2 g_main_context_iterate (context=context@entry=0x7f2a60000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../glib/gmain.c:3897 #3 0x00007f2a7f8b86dc in g_main_context_iteration (context=0x7f2a60000bf0, may_block=may_block@entry=1) at ../../../../glib/gmain.c:3963 #4 0x00007f2a89598daf in QEventDispatcherGlib::processEvents (this=0x7f2a60000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:422 #5 0x00007f2a8953a03a in QEventLoop::exec (this=this@entry=0x7f2a6bffed20, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225 #6 0x00007f2a893614ca in QThread::exec (this=<optimized out>) at thread/qthread.cpp:531 #7 0x00007f2a89362c72 in QThreadPrivate::start (arg=0x564780b55790) at thread/qthread_unix.cpp:361 #8 0x00007f2a8a9d36db in start_thread (arg=0x7f2a6bfff700) at pthread_create.c:463 #9 0x00007f2a88a3a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 3 (Thread 7288.7290): #0 0x00007f2a88a2dbf9 in __GI___poll (fds=0x7f2a64003ce0, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f2a7f8b85c9 in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x7f2a64003ce0, timeout=<optimized out>, context=0x7f2a64000bf0) at ../../../../glib/gmain.c:4203 #2 g_main_context_iterate (context=context@entry=0x7f2a64000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../glib/gmain.c:3897 #3 0x00007f2a7f8b86dc in g_main_context_iteration (context=0x7f2a64000bf0, may_block=may_block@entry=1) at ../../../../glib/gmain.c:3963 #4 0x00007f2a89598daf in QEventDispatcherGlib::processEvents (this=0x7f2a64000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:422 #5 0x00007f2a8953a03a in QEventLoop::exec (this=this@entry=0x7f2a70927d20, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225 #6 0x00007f2a893614ca in QThread::exec (this=<optimized out>) at thread/qthread.cpp:531 #7 0x00007f2a89362c72 in QThreadPrivate::start (arg=0x564780b0b4c0) at thread/qthread_unix.cpp:361 #8 0x00007f2a8a9d36db in start_thread (arg=0x7f2a70928700) at pthread_create.c:463 #9 0x00007f2a88a3a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 2 (Thread 7288.7289): #0 0x00007f2a88a2dbf9 in __GI___poll (fds=0x7f2a6c0174c0, nfds=4, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f2a7f8b85c9 in g_main_context_poll (priority=<optimized out>, n_fds=4, fds=0x7f2a6c0174c0, timeout=<optimized out>, context=0x7f2a6c001cb0) at ../../../../glib/gmain.c:4203 #2 g_main_context_iterate (context=context@entry=0x7f2a6c001cb0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../glib/gmain.c:3897 #3 0x00007f2a7f8b86dc in g_main_context_iteration (context=0x7f2a6c001cb0, may_block=may_block@entry=1) at ../../../../glib/gmain.c:3963 #4 0x00007f2a89598daf in QEventDispatcherGlib::processEvents (this=0x7f2a6c000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:422 #5 0x00007f2a8953a03a in QEventLoop::exec (this=this@entry=0x7f2a7178ccf0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225 #6 0x00007f2a893614ca in QThread::exec (this=this@entry=0x7f2a8a9cad80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:531 #7 0x00007f2a8a753015 in QDBusConnectionManager::run (this=0x7f2a8a9cad80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178 #8 0x00007f2a89362c72 in QThreadPrivate::start (arg=0x7f2a8a9cad80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:361 #9 0x00007f2a8a9d36db in start_thread (arg=0x7f2a7178d700) at pthread_create.c:463 #10 0x00007f2a88a3a88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 1 (Thread 7288.7288): #0 0x00007f2a8ac5ed3c in KWayland::Server::LinuxDmabufUnstableV1Interface::Private::Params::create(wl_client*, unsigned int, QSize const&, unsigned int, unsigned int) () from target:/usr/lib/x86_64-linux-gnu/libKF5WaylandServer.so.5 #1 0x00007f2a8ac5f05f in KWayland::Server::LinuxDmabufUnstableV1Interface::Private::Params::createImmed(wl_client*, wl_resource*, unsigned int, int, int, unsigned int, unsigned int) () from target:/usr/lib/x86_64-linux-gnu/libKF5WaylandServer.so.5 #2 0x00007f2a7b12adae in ffi_call_unix64 () at ../src/x86/unix64.S:76 #3 0x00007f2a7b12a71f in ffi_call (cif=cif@entry=0x7ffdc6baa4a0, fn=<optimized out>, rvalue=<optimized out>, rvalue@entry=0x0, avalue=avalue@entry=0x7ffdc6baa570) at ../src/x86/ffi64.c:525 #4 0x00007f2a815117e4 in wl_closure_invoke (closure=closure@entry=0x5647810642d0, flags=flags@entry=2, target=<optimized out>, target@entry=0x564780c2aef0, opcode=opcode@entry=3, data=<optimized out>, data@entry=0x56478108b1a0) at ../src/connection.c:1006 #5 0x00007f2a8150e26f in wl_client_connection_data (fd=<optimized out>, mask=<optimized out>, data=0x56478108b1a0) at ../src/wayland-server.c:420 #6 0x00007f2a8150f832 in wl_event_loop_dispatch (loop=0x564780b3ce00, timeout=<optimized out>) at ../src/event-loop.c:641 #7 0x00007f2a8ac5604e in KWayland::Server::Display::Private::dispatch() () from target:/usr/lib/x86_64-linux-gnu/libKF5WaylandServer.so.5 #8 0x00007f2a8956b98f in QtPrivate::QSlotObjectBase::call (a=0x7ffdc6baaa30, r=0x564780b48f10, this=0x564780b3d130) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394 #9 QMetaObject::activate (sender=sender@entry=0x564780b3cff0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffdc6baaa30) at kernel/qobject.cpp:3776 #10 0x00007f2a8956bf47 in QMetaObject::activate (sender=sender@entry=0x564780b3cff0, m=m@entry=0x7f2a899e8c60 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffdc6baaa30) at kernel/qobject.cpp:3648 #11 0x00007f2a89578178 in QSocketNotifier::activated (this=this@entry=0x564780b3cff0, _t1=<optimized out>, _t2=...) at .moc/moc_qsocketnotifier.cpp:140 #12 0x00007f2a89578532 in QSocketNotifier::event (this=0x564780b3cff0, e=0x7ffdc6baad10) at kernel/qsocketnotifier.cpp:266 #13 0x00007f2a89b4d65c in QApplicationPrivate::notify_helper (this=this@entry=0x564780af0cc0, receiver=receiver@entry=0x564780b3cff0, e=e@entry=0x7ffdc6baad10) at kernel/qapplication.cpp:3736 #14 0x00007f2a89b54b90 in QApplication::notify (this=0x7ffdc6bab120, receiver=0x564780b3cff0, e=0x7ffdc6baad10) at kernel/qapplication.cpp:3483 #15 0x00007f2a8953bd18 in QCoreApplication::notifyInternal2 (receiver=0x564780b3cff0, event=0x7ffdc6baad10) at kernel/qcoreapplication.cpp:1060 #16 0x00007f2a89595e63 in QEventDispatcherUNIXPrivate::activateSocketNotifiers (this=this@entry=0x564780b13e00) at kernel/qeventdispatcher_unix.cpp:304 #17 0x00007f2a895964e8 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:509 #18 0x00007f2a7499f1fd in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from target:/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/KWinQpaPlugin.so #19 0x00007f2a8953a03a in QEventLoop::exec (this=this@entry=0x7ffdc6baaec0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225 #20 0x00007f2a89543170 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1363 #21 0x0000564780834e4e in main (argc=<optimized out>, argv=<optimized out>) at ./main_wayland.cpp:677 Desanexando do programa: target:/usr/bin/kwin_wayland, process 7288 Ending remote debugging.
Still crashing on Plasma 5.17 beta. Operating System: Arch Linux KDE Plasma Version: 5.16.90 KDE Frameworks Version: 5.62.0 Qt Version: 5.13.1
kwin_wayland also crashes when I enable the OSD that appears when we switch between virtual desktops in virtual desktop KCM.
LinuxDmabufUnstableV1Interface DMABuf? What clients are you running? Can I see the output of "env" on your system.
I can reproduce the crash even if system settings is the only app running. output of env on Neon unstable edition: GS_LIB=/home/stalker/.fonts KDE_FULL_SESSION=true LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36: LC_MEASUREMENT=pt_BR.UTF-8 LESSCLOSE=/usr/bin/lesspipe %s %s LC_PAPER=pt_BR.UTF-8 LC_MONETARY=pt_BR.UTF-8 LANG=pt_BR.UTF-8 PROFILEHOME= DISPLAY=:1 SHELL_SESSION_ID=ea62b7bd22f6461a9831ccfd03e1c4cf COLORTERM=truecolor XDG_VTNR=2 PAM_KWALLET5_LOGIN=/run/user/1000/kwallet5.socket LC_NAME=pt_BR.UTF-8 XDG_SESSION_ID=3 USER=stalker DESKTOP_SESSION=/usr/share/wayland-sessions/plasmawayland KONSOLE_VERSION=191170 WAYLAND_DISPLAY=wayland-0 PWD=/home/stalker HOME=/home/stalker XCURSOR_SIZE=0 XDG_SESSION_TYPE=wayland XDG_DATA_DIRS=/home/stalker/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop KONSOLE_DBUS_SESSION=/Sessions/1 XDG_SESSION_DESKTOP=KDE LC_ADDRESS=pt_BR.UTF-8 LC_NUMERIC=pt_BR.UTF-8 KONSOLE_DBUS_WINDOW=/Windows/1 X11LAYOUT=br QT_WAYLAND_FORCE_DPI=96 TERM=xterm-256color SHELL=/bin/bash KONSOLE_DBUS_SERVICE=:1.34 XDG_SESSION_CLASS=user XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XCURSOR_THEME=breeze_cursors XDG_CURRENT_DESKTOP=KDE XDG_SEAT=seat0 SHLVL=1 COLORFGBG=0;15 LANGUAGE=en_US:pt_BR X11MODEL=pc105 WINDOWID=1 LC_TELEPHONE=pt_BR.UTF-8 PLASMA_USE_QT_SCALING=1 LOGNAME=stalker DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-PW3jxahpzE,guid=04ac4644ffb46c513d930f555da86b19 XDG_RUNTIME_DIR=/run/user/1000 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1 QT_AUTO_SCREEN_SCALE_FACTOR=0 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin LC_IDENTIFICATION=pt_BR.UTF-8 KDE_SESSION_UID=1000 KDE_SESSION_VERSION=5 SESSION_MANAGER=local/neon-laptop:@/tmp/.ICE-unix/1159,unix/neon-laptop:/tmp/.ICE-unix/1159 LESSOPEN=| /usr/bin/lesspipe %s LC_TIME=pt_BR.UTF-8 _=/usr/bin/env
I got a session crash here as well after changing font settings: #0 0x00007f8365baec19 in QHashData::detach_helper(void (*)(QHashData::Node*, void*), void (*)(QHashData::Node*), int, int) () at /usr/lib64/libQt5Core.so.5 #1 0x00007f835ecaeb6e in QHash<KWin::DmabufBuffer*, QHashDummyValue>::detach_helper() (this=0x5576006f2d40) at /usr/include/qt5/QtCore/qhash.h:597 #2 0x00007f835ecaeb6e in QHash<KWin::DmabufBuffer*, QHashDummyValue>::detach() (this=0x5576006f2d40) at /usr/include/qt5/QtCore/qhash.h:275 #3 0x00007f835ecaeb6e in QHash<KWin::DmabufBuffer*, QHashDummyValue>::remove(KWin::DmabufBuffer* const&) (this=0x5576006f2d40, akey=@0x7ffce9c155b0: 0x557600dd0f40) at /usr/include/qt5/QtCore/qhash.h:803 #4 0x00007f835ecae420 in QSet<KWin::DmabufBuffer*>::remove(KWin::DmabufBuffer* const&) (value=@0x7ffce9c155b0: 0x557600dd0f40, this=<optimized out>) at /usr/include/qt5/QtCore/qset.h:94 #5 0x00007f835ecae420 in KWin::LinuxDmabuf::removeBuffer(KWin::DmabufBuffer*) (buffer=<optimized out>, this=<optimized out>) at /usr/src/debug/kwin5-5.17.0-2.2.x86_64/platformsupport/scenes/opengl/linux_dmabuf.cpp:412 #6 0x00007f835ecae420 in KWin::DmabufBuffer::~DmabufBuffer() (this=0x557600dd0f40, __in_chrg=<optimized out>) at /usr/src/debug/kwin5-5.17.0-2.2.x86_64/platformsupport/scenes/opengl/linux_dmabuf.cpp:205 #7 0x00007f835ecae609 in KWin::DmabufBuffer::~DmabufBuffer() (this=0x557600dd0f40, __in_chrg=<optimized out>) at /usr/src/debug/kwin5-5.17.0-2.2.x86_64/platformsupport/scenes/opengl/linux_dmabuf.cpp:202 #8 0x00007f83639a8c6f in () at /usr/lib64/libwayland-server.so.0 #9 0x00007f83639aa42a in wl_resource_destroy () at /usr/lib64/libwayland-server.so.0 #10 0x00007f83627a4edd in () at /usr/lib64/libffi.so.7 #11 0x00007f83627a431a in () at /usr/lib64/libffi.so.7 #12 0x00007f83639a6c66 in () at /usr/lib64/libwayland-server.so.0 #13 0x00007f83639ac136 in () at /usr/lib64/libwayland-server.so.0 #14 0x00007f83639a8f92 in wl_event_loop_dispatch () at /usr/lib64/libwayland-server.so.0 #15 0x00007f83668c50df in KWayland::Server::Display::Private::dispatch() () at /usr/lib64/libKF5WaylandServer.so.5 #16 0x00007f8365d4e638 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5 #17 0x00007f8365d5ae01 in QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) () at /usr/lib64/libQt5Core.so.5 #18 0x00007f8365d5b141 in QSocketNotifier::event(QEvent*) () at /usr/lib64/libQt5Core.so.5 #19 0x00007f8366164c62 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #20 0x00007f836616e1e0 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #21 0x00007f8365d23572 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5 #22 0x00007f8365d76c5b in QEventDispatcherUNIXPrivate::activateSocketNotifiers() () at /usr/lib64/libQt5Core.so.5 #23 0x00007f8365d770d6 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #24 0x00007f835fd906fd in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at qunixeventdispatcher.cpp:63 #25 0x00007f8365d220db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #26 0x00007f8365d29d42 in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5 #27 0x0000557600112415 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin5-5.17.0-2.2.x86_64/main_wayland.cpp:677
*** Bug 412915 has been marked as a duplicate of this bug. ***
I have a patch created: https://phabricator.kde.org/D24954 The patch is quite large but I still intend it to put it into 5.17.2 if I can get some feedback from people over the weekend that can compile KWin with the patch and it works on their systems and no other regressions happen.
I tried to apply your patch on Arch Linux, but I got building failure :( /home/myusername/kwin/input.cpp: In lambda function: /home/myusername/kwin/input.cpp:1783:51: error: ‘keyboardKeyPressRequested’ is not a member of ‘KWayland::Server::FakeInputDevice’ 1783 | connect(device, &FakeInputDevice::keyboardKeyPressRequested, this, | ^~~~~~~~~~~~~~~~~~~~~~~~~ /home/myusername/kwin/input.cpp:1790:51: error: ‘keyboardKeyReleaseRequested’ is not a member of ‘KWayland::Server::FakeInputDevice’ 1790 | connect(device, &FakeInputDevice::keyboardKeyReleaseRequested, this, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ make[2]: *** [CMakeFiles/kwin.dir/build.make:628: CMakeFiles/kwin.dir/input.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:173: CMakeFiles/kwin.dir/all] Error 2 make: *** [Makefile:141: all] Error 2
(In reply to Patrick Silva from comment #8) > I tried to apply your patch on Arch Linux, but I got building failure :( You have to apply the diff on top of Plasma/5.17, otherwise arc bases it on master instead. That way it built fine here.
Like Fabian said you need to download the raw diff from the Phabricator diff and apply it to your KWin repo with Plasma/5.17 branch checked out. The diff should apply cleanly (haven't tried it though, report back if not). Then build, install KWin based on Plasma/5.17 branch and the diff applied.
output of "git apply D24954.diff" error: patch failed: wayland_server.h:118 error: wayland_server.h: patch does not apply
I can apply the diff with arcanist, but building always fails at 13%. I'm doing something wrong.
(In reply to Patrick Silva from comment #12) > I can apply the diff with arcanist, but building always fails at 13%. > I'm doing something wrong. I have rebased the Phabricator patch on Plasma/5.17 branch. Delete your local branch and checkout again the diff with arcanist. You should be able to build the diff now.
Finally building was successful. \o/ Your patch fixes all crashes on my system. Thank you very much Roman.
Git commit 7459aabcac2471862a35a7c045de7176b5435f1c by Roman Gilg. Committed on 29/10/2019 at 11:10. Pushed by romangilg into branch 'Plasma/5.17'. Dmabuf recovery on EGL reset Summary: The EGL platform might go away at any time through reconfiguration or because of a graphic error. KWin then resets the graphics. The dmabuf implementation must respect that and recover from a graphics reset by recreating all EGL images for existing buffer. This assumes that we won't change our graphics API mid-session and that supported plane and modifier configuration stays constant. In practise we remember all current dmabufs in a single map and only remove them if the client did destroy the resource. Related: bug 413403 FIXED-IN: 5.17.2 Test Plan: Applied screenedge configuration without crash. Reviewers: #kwin, zzag Reviewed By: #kwin, zzag Subscribers: fvogt, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D24954 M +1 -0 CMakeLists.txt A +88 -0 linux_dmabuf.cpp [License: GPL (v2)] C +12 -49 linux_dmabuf.h [from: platformsupport/scenes/opengl/linux_dmabuf.h - 053% similarity] M +1 -1 platformsupport/scenes/opengl/CMakeLists.txt M +4 -4 platformsupport/scenes/opengl/abstract_egl_backend.cpp R +52 -63 platformsupport/scenes/opengl/egl_dmabuf.cpp [from: platformsupport/scenes/opengl/linux_dmabuf.cpp - 084% similarity] R +23 -30 platformsupport/scenes/opengl/egl_dmabuf.h [from: platformsupport/scenes/opengl/linux_dmabuf.h - 068% similarity] M +10 -0 wayland_server.cpp M +15 -0 wayland_server.h https://commits.kde.org/kwin/7459aabcac2471862a35a7c045de7176b5435f1c