STEPS TO REPRODUCE 1. Open Firefox 2. Drag window and move it against the left/right screen edge 3. repeat a couple of times OBSERVED RESULT kwin_wayland crashes SOFTWARE/OS VERSIONS KDE stuff from master Qt Version: From 5.15 branch * thread #1, name = 'kwin_wayland', stop reason = signal SIGSEGV: invalid address (fault address: 0x51ed7fd5) * frame #0: 0x00007fef81d21707 libkwin.so.5`QtPrivate::QSlotObject<void (KWin::AbstractClient::*)(), QtPrivate::List<>, void>::impl(which=0, this_=0x000055735236cfb0, r=0x0000557351ed7c80, a=0x00007ffce16cbb50, ret=0xdd9d4616b854f300) at qobjectdefs_impl.h:421:53 frame #1: 0x00007fef81ce9684 libkwin.so.5`KWin::Toplevel::bufferGeometryChanged(this=0x0000557351ed7c80, _t1=0x0000557351ed7c80, _t2=0x00007ffce16cbba0) at moc_toplevel.cpp:892:26 frame #2: 0x00007fef81df81bc libkwin.so.5`KWin::InternalClient::commitGeometry(this=0x0000557351ed7c80, rect=0x00007ffce16cbd00) at internal_client.cpp:482:35 frame #3: 0x00007fef81df6a88 libkwin.so.5`KWin::InternalClient::InternalClient(this=0x0000557351ed7c80, window=0x000055735236cfb0) at internal_client.cpp:57:19 frame #4: 0x00007fef7ae817d6 KWinQpaPlugin.so`KWin::QPA::Window::map(this=0x00007fef70008410) at window.cpp:174:43 frame #5: 0x00007fef7ae80f29 KWinQpaPlugin.so`KWin::QPA::Window::setVisible(this=0x00007fef70008410, visible=true) at window.cpp:53:12 frame #6: 0x00007fef82a31d73 libQt5Gui.so.5`QWindowPrivate::setVisible(this=0x00005573522a49e0, visible=<unavailable>) at qwindow.cpp:408:35 frame #7: 0x00007fef81065e0f libQt5Qml.so.5`GenericBinding<1>::write(QV4::Value const&, bool, QFlags<QQmlPropertyData::WriteFlag>) at qqmlpropertydata_p.h:375:37 frame #8: 0x00007fef81065df0 libQt5Qml.so.5`GenericBinding<1>::write(QV4::Value const&, bool, QFlags<QQmlPropertyData::WriteFlag>) at qqmlbinding.cpp:342 frame #9: 0x00007fef81065df0 libQt5Qml.so.5`GenericBinding<1>::write(this=0x0000557351ad6740, result=0x00007fef611454c8, isUndefined=<unavailable>, flags=(i = 3)) at qqmlbinding.cpp:305 frame #10: 0x00007fef810667fe libQt5Qml.so.5`QQmlNonbindingBinding::doUpdate(this=0x0000557351ad6740, watcher=0x00007ffce16cbf70, flags=(i = 3), scope=0x00007ffce16cbf50) at qqmlbinding.cpp:258:27 frame #11: 0x00007fef810644b4 libQt5Qml.so.5`QQmlBinding::update(this=0x0000557351ad6740, flags=<unavailable>) at qqmlbinding.cpp:194:13 frame #12: 0x00007fef810414bd libQt5Qml.so.5`QQmlNotifier::emitNotify(endpoint=<unavailable>, a=0x0000000000000000) at qqmlnotifier.cpp:104:60 frame #13: 0x00007fef8264d3a5 libQt5Core.so.5`void doActivate<false>(sender=0x00005573511df350, signal_index=3, argv=0x0000000000000000) at qobject.cpp:3778:48 frame #14: 0x00007fef81cd73f7 libkwin.so.5`KWin::Outline::activeChanged(this=0x00005573511df350) at moc_outline.cpp:226:26 frame #15: 0x00007fef81e3c693 libkwin.so.5`KWin::Outline::show(this=0x00005573511df350) at outline.cpp:54:23 frame #16: 0x00007fef81e3c7a2 libkwin.so.5`KWin::Outline::show(this=0x00005573511df350, outlineGeometry=0x00007ffce16cd9f0, visualParentGeometry=0x00007ffce16cda00) at outline.cpp:79:9 frame #17: 0x00007fef81d0e2b6 libkwin.so.5`KWin::AbstractClient::setElectricBorderMaximizing(this=0x0000557352379570, maximizing=true) at abstract_client.cpp:3015:24 frame #18: 0x00007fef81d0aaf2 libkwin.so.5`KWin::AbstractClient::checkQuickTilingMaximizationZones(this=0x0000557352379570, xroot=1919, yroot=405) at abstract_client.cpp:2213:40 frame #19: 0x00007fef81d04ba0 libkwin.so.5`KWin::AbstractClient::handleMoveResize(this=0x0000557352379570, local=0x00007ffce16cdb98, global=0x00007ffce16cdba0) at abstract_client.cpp:1130:46 frame #20: 0x00007fef81d04746 libkwin.so.5`KWin::AbstractClient::updateMoveResize(this=0x0000557352379570, currentGlobalCursor=0x00007ffce16cdbf0) at abstract_client.cpp:1112:21 frame #21: 0x00007fef81dd8a66 libkwin.so.5`KWin::MoveResizeFilter::pointerEvent(this=0x000055735122a290, event=0x00007ffce16ce020, nativeButton=0) at input.cpp:512:32 frame #22: 0x00007fef81e5e76e libkwin.so.5`bool std::__invoke_impl<bool, bool (KWin::InputEventFilter::*&)(QMouseEvent*, unsigned int), KWin::InputEventFilter* const&, KWin::MouseEvent*&, int&>((null)=__invoke_memfun_deref @ 0x00007ffce16cdc70, __f=0x00007ffce16cddb0, __t=0x00005573512ca2b8, (null)=0x00007ffce16cddc8, (null)=0x00007ffce16cddc0)(QMouseEvent*, unsigned int), KWin::InputEventFilter* const&, KWin::MouseEvent*&, int&) at invoke.h:73:46 frame #23: 0x00007fef81e5e2eb libkwin.so.5`std::__invoke_result<bool (KWin::InputEventFilter::*&)(QMouseEvent*, unsigned int), KWin::InputEventFilter* const&, KWin::MouseEvent*&, int&>::type std::__invoke<bool (__fn=0x00007ffce16cddb0, (null)=0x00005573512ca2b8, (null)=0x00007ffce16cddc8, (null)=0x00007ffce16cddc0)(QMouseEvent*, unsigned int), KWin::InputEventFilter* const&, KWin::MouseEvent*&, int&>(bool (KWin::InputEventFilter::*&)(QMouseEvent*, unsigned int), KWin::InputEventFilter* const&, KWin::MouseEvent*&, int&) at invoke.h:95:40 frame #24: 0x00007fef81e5dcd3 libkwin.so.5`bool std::_Bind<bool (KWin::InputEventFilter::* (std::_Placeholder<1>, KWin::MouseEvent*, int))(QMouseEvent*, unsigned int)>::__call<bool, KWin::InputEventFilter* const&, 0ul, 1ul, 2ul>(this=0x00007ffce16cddb0, __args=0x00007ffce16cdd10, (null)=_Index_tuple<0, 1, 2> @ 0x00007ffce16cdd00) at functional:416:24 frame #25: 0x00007fef81e5d8c6 libkwin.so.5`bool std::_Bind<bool (KWin::InputEventFilter::* (std::_Placeholder<1>, KWin::MouseEvent*, int))(QMouseEvent*, unsigned int)>::operator(this=0x00007ffce16cddb0, (null)=0x00005573512ca2b8)<KWin::InputEventFilter* const&, bool>(KWin::InputEventFilter* const&) at functional:499:32 frame #26: 0x00007fef81e5d4f9 libkwin.so.5`bool __gnu_cxx::__ops::_Iter_pred<std::_Bind<bool (KWin::InputEventFilter::* (std::_Placeholder<1>, KWin::MouseEvent*, int))(QMouseEvent*, unsigned int)> >::operator(this=0x00007ffce16cddb0, __it=0x00005573512ca2b8)<KWin::InputEventFilter* const*>(KWin::InputEventFilter* const*) at predefined_ops.h:316:23 frame #27: 0x00007fef81e5c177 libkwin.so.5`KWin::InputEventFilter* const* std::__find_if<KWin::InputEventFilter* const*, __gnu_cxx::__ops::_Iter_pred<std::_Bind<bool (KWin::InputEventFilter::* (std::_Placeholder<1>, KWin::MouseEvent*, int))(QMouseEvent*, unsigned int)> > >(__first=0x00005573512ca2b8, __last=0x00005573512ca2f8, __pred=_Iter_pred<std::_Bind<bool (KWin::InputEventFilter::*(std::_Placeholder<1>, KWin::MouseEvent*, int))(QMouseEvent*, unsigned int)> > @ 0x00007ffce16cddb0, (null)=random_access_iterator_tag @ 0x00007ffce16cdd90))(QMouseEvent*, unsigned int)> >, std::random_access_iterator_tag) at stl_algobase.h:1932:14 frame #28: 0x00007fef81e5acd3 libkwin.so.5`KWin::InputEventFilter* const* std::__find_if<KWin::InputEventFilter* const*, __gnu_cxx::__ops::_Iter_pred<std::_Bind<bool (KWin::InputEventFilter::* (std::_Placeholder<1>, KWin::MouseEvent*, int))(QMouseEvent*, unsigned int)> > >(__first=0x00005573512ca278, __last=0x00005573512ca2f8, __pred=_Iter_pred<std::_Bind<bool (KWin::InputEventFilter::*(std::_Placeholder<1>, KWin::MouseEvent*, int))(QMouseEvent*, unsigned int)> > @ 0x00007ffce16cde30))(QMouseEvent*, unsigned int)> >) at stl_algobase.h:1977:23 frame #29: 0x00007fef81e59998 libkwin.so.5`KWin::InputEventFilter* const* std::find_if<KWin::InputEventFilter* const*, std::_Bind<bool (KWin::InputEventFilter::* (std::_Placeholder<1>, KWin::MouseEvent*, int))(QMouseEvent*, unsigned int)> >(__first=0x00005573512ca278, __last=0x00005573512ca2f8, __pred=_Bind<bool (KWin::InputEventFilter::*(std::_Placeholder<1>, KWin::MouseEvent*, int))(QMouseEvent*, unsigned int)> @ 0x00007ffce16cde90))(QMouseEvent*, unsigned int)>) at stl_algo.h:3928:28 frame #30: 0x00007fef81e5827d libkwin.so.5`bool std::none_of<KWin::InputEventFilter* const*, std::_Bind<bool (KWin::InputEventFilter::* (std::_Placeholder<1>, KWin::MouseEvent*, int))(QMouseEvent*, unsigned int)> >(__first=0x00005573512ca278, __last=0x00005573512ca2f8, __pred=_Bind<bool (KWin::InputEventFilter::*(std::_Placeholder<1>, KWin::MouseEvent*, int))(QMouseEvent*, unsigned int)> @ 0x00007ffce16cdef0))(QMouseEvent*, unsigned int)>) at stl_algo.h:471:47 frame #31: 0x00007fef81e566a3 libkwin.so.5`bool std::any_of<KWin::InputEventFilter* const*, std::_Bind<bool (KWin::InputEventFilter::* (std::_Placeholder<1>, KWin::MouseEvent*, int))(QMouseEvent*, unsigned int)> >(__first=0x00005573512ca278, __last=0x00005573512ca2f8, __pred=_Bind<bool (KWin::InputEventFilter::*(std::_Placeholder<1>, KWin::MouseEvent*, int))(QMouseEvent*, unsigned int)> @ 0x00007ffce16cdf40))(QMouseEvent*, unsigned int)>) at stl_algo.h:490:27 frame #32: 0x00007fef81e53feb libkwin.so.5`void KWin::InputRedirection::processFilters<std::_Bind<bool (KWin::InputEventFilter::* (std::_Placeholder<1>, KWin::MouseEvent*, int))(QMouseEvent*, unsigned int)> >(this=0x00005573508a8920, function=_Bind<bool (KWin::InputEventFilter::*(std::_Placeholder<1>, KWin::MouseEvent*, int))(QMouseEvent*, unsigned int)> @ 0x00007ffce16ce000))(QMouseEvent*, unsigned int)>) at input.h:225:20 frame #33: 0x00007fef81e4a675 libkwin.so.5`KWin::PointerInputRedirection::processMotion(this=0x000055735089da50, pos=0x00007ffce16ce170, delta=0x00007ffce16ce4f0, deltaNonAccelerated=0x00007ffce16ce500, time=840861, timeUsec=840861956, device=0x00005573509c7250) at pointer_input.cpp:264:28 frame #34: 0x00007fef81dcfc11 libkwin.so.5`operator(__closure=0x0000557350a08880, delta=0x00007ffce16ce4f0, deltaNonAccel=0x00007ffce16ce500, time=840861, timeMicroseconds=840861956, device=0x00005573509c7250) at input.cpp:2305:41 frame #35: 0x00007fef81dd6da0 libkwin.so.5`QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2, 3, 4>, QtPrivate::List<const QSizeF&, const QSizeF&, unsigned int, long long unsigned int, KWin::LibInput::Device*>, void, KWin::InputRedirection::setupLibInput()::<lambda(const QSizeF&, const QSizeF&, uint32_t, quint64, KWin::LibInput::Device*)> >::call(f=0x0000557350a08880, arg=0x00007ffce16ce370) &, void **) at qobjectdefs_impl.h:146:14 frame #36: 0x00007fef81dd655d libkwin.so.5`QtPrivate::Functor<KWin::InputRedirection::setupLibInput()::<lambda(const QSizeF&, const QSizeF&, uint32_t, quint64, KWin::LibInput::Device*)>, 5>::call<QtPrivate::List<const QSizeF&, const QSizeF&, unsigned int, long long unsigned int, KWin::LibInput::Device*>, void>(f=0x0000557350a08880, (null)=0x00005573508a8920, arg=0x00007ffce16ce370) &, void *, void **) at qobjectdefs_impl.h:256:83 frame #37: 0x00007fef81dd5e3c libkwin.so.5`QtPrivate::QFunctorSlotObject<KWin::InputRedirection::setupLibInput()::<lambda(const QSizeF&, const QSizeF&, uint32_t, quint64, KWin::LibInput::Device*)>, 5, QtPrivate::List<const QSizeF&, const QSizeF&, unsigned int, long long unsigned int, KWin::LibInput::Device*>, void>::impl(which=1, this_=0x0000557350a08870, r=0x00005573508a8920, a=0x00007ffce16ce370, ret=0x0000000000000000) at qobjectdefs_impl.h:443:49 frame #38: 0x00007fef8264d816 libQt5Core.so.5`void doActivate<false>(QObject*, int, void**) [inlined] QtPrivate::QSlotObjectBase::call(a=<unavailable>, r=<unavailable>, this=<unavailable>) at qobjectdefs_impl.h:398:57 frame #39: 0x00007fef8264d804 libQt5Core.so.5`void doActivate<false>(sender=0x00007fef74001880, signal_index=6, argv=0x00007ffce16ce370) at qobject.cpp:3886 frame #40: 0x00007fef81ccf783 libkwin.so.5`KWin::LibInput::Connection::pointerMotion(this=0x00007fef74001880, _t1=0x00007ffce16ce4f0, _t2=0x00007ffce16ce500, _t3=840861, _t4=840861956, _t5=0x00005573509c7250) at moc_connection.cpp:640:26 frame #41: 0x00007fef81e1775e libkwin.so.5`KWin::LibInput::Connection::processEvents(this=0x00007fef74001880) at connection.cpp:462:35 frame #42: 0x00007fef81dcfb25 libkwin.so.5`operator(__closure=0x0000557350a04ee0) at input.cpp:2288:42 frame #43: 0x00007fef81dd6d03 libkwin.so.5`QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KWin::InputRedirection::setupLibInput()::<lambda()> >::call(f=0x0000557350a04ee0, arg=0x00007fef70007038) &, void **) at qobjectdefs_impl.h:146:14 frame #44: 0x00007fef81dd6533 libkwin.so.5`QtPrivate::Functor<KWin::InputRedirection::setupLibInput()::<lambda()>, 0>::call<QtPrivate::List<>, void>(f=0x0000557350a04ee0, (null)=0x00005573508a8920, arg=0x00007fef70007038) &, void *, void **) at qobjectdefs_impl.h:256:83 frame #45: 0x00007fef81dd5db2 libkwin.so.5`QtPrivate::QFunctorSlotObject<KWin::InputRedirection::setupLibInput()::<lambda()>, 0, QtPrivate::List<>, void>::impl(which=1, this_=0x0000557350a04ed0, r=0x00005573508a8920, a=0x00007fef70007038, ret=0x0000000000000000) at qobjectdefs_impl.h:443:49 frame #46: 0x00007fef82643261 libQt5Core.so.5`QObject::event(QEvent*) at qobject.cpp:1314:31 frame #47: 0x00007fef7fdfa14f libQt5Widgets.so.5`QApplicationPrivate::notify_helper(this=<unavailable>, receiver=0x00005573508a8920, e=0x00007fef70006ff0) at qapplication.cpp:3632:31 frame #48: 0x00007fef8261726a libQt5Core.so.5`QCoreApplication::notifyInternal2(QObject*, QEvent*) at qcoreapplication.cpp:1064:24 frame #49: 0x00007fef82619ca1 libQt5Core.so.5`QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) at qcoreapplication.cpp:1821:36 frame #50: 0x00007fef8266baea libQt5Core.so.5`QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) at qeventdispatcher_unix.cpp:468:46 frame #51: 0x00007fef7aeaaadd KWinQpaPlugin.so`QUnixEventDispatcherQPA::processEvents(this=<unavailable>, flags=(i = 36)) at qunixeventdispatcher.cpp:63:67 frame #52: 0x00007fef82615c1b libQt5Core.so.5`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) at qeventloop.cpp:232:22 frame #53: 0x00007fef8261dea0 libQt5Core.so.5`QCoreApplication::exec() at qcoreapplication.cpp:1375:36 frame #54: 0x000055734f2bd3ce kwin_wayland`main(argc=5, argv=0x00007ffce16cede8) at main_wayland.cpp:805:18 frame #55: 0x00007fef7eee3b25 libc.so.6`__libc_start_main + 213 frame #56: 0x000055734f26e4ae kwin_wayland`_start + 46
Trace doesn't really make sense. We're still inside the InternalClient constructor, a crash whilst emitting our own signal implies we've somehow deleted "this" from inside here. I can't reproduce, Nico could you try nested and with valgrind? Also a clean build
I can reproduce it with kwin_wayland --exit-with-session "konsole -platform wayland" The weird thing is that I've seen multiple different backtraces for the seemingly same crash. This one seems to appear most often: #0 0x00007ffff3d61ef5 in raise () at /usr/lib/libc.so.6 #1 0x00007ffff3d4b862 in abort () at /usr/lib/libc.so.6 #2 0x00007ffff3da3f38 in __libc_message () at /usr/lib/libc.so.6 #3 0x00007ffff3dabbea in () at /usr/lib/libc.so.6 #4 0x00007ffff3dacae6 in unlink_chunk.constprop () at /usr/lib/libc.so.6 #5 0x00007ffff3dacc75 in malloc_consolidate () at /usr/lib/libc.so.6 #6 0x00007ffff3daeb03 in _int_malloc () at /usr/lib/libc.so.6 #7 0x00007ffff3db07a1 in malloc () at /usr/lib/libc.so.6 #8 0x00007ffff72ab9d1 in QArrayData::allocate(unsigned long, unsigned long, unsigned long, QFlags<QArrayData::AllocationOption>) (objectSize=<optimized out>, alignment=8, capacity=19, options=...) at tools/qarraydata.cpp:218 #9 0x00007ffff6cefcdc in QTypedArrayData<KWin::WindowQuad>::allocate(unsigned long, QFlags<QArrayData::AllocationOption>) (capacity=10, options=...) at /home/nico/kde/usr/include/QtCore/qarraydata.h:224 #10 0x00007ffff6cf089f in QVector<KWin::WindowQuad>::realloc(int, QFlags<QArrayData::AllocationOption>) (this=0x55555682fb10, aalloc=10, options=...) at /home/nico/kde/usr/include/QtCore/qvector.h:699 #11 0x00007ffff6cede89 in QVector<KWin::WindowQuad>::operator+=(QVector<KWin::WindowQuad> const&) (this=0x55555682fb10, l=...) at /home/nico/kde/usr/include/QtCore/qvector.h:978 #12 0x00007ffff6cee095 in QVector<KWin::WindowQuad>::operator<<(QVector<KWin::WindowQuad> const&) (this=0x55555682fb10, l=...) at /home/nico/kde/usr/include/QtCore/qvector.h:295 #13 0x00007ffff6ce77ab in KWin::Scene::Window::buildQuads(bool) const (this=0x5555556ef210, force=false) at /home/nico/kde/src/kwin/src/scene.cpp:1011 #14 0x00007ffff6ce36c6 in KWin::Scene::paintSimpleScreen(int, QRegion const&) (this=0x555555a4e570, orig_mask=8, region=...) at /home/nico/kde/src/kwin/src/scene.cpp:342 #15 0x00007fffe7b38197 in KWin::SceneOpenGL2::paintSimpleScreen(int, QRegion const&) (this=0x555555a4e570, mask=8, region=...) at /home/nico/kde/src/kwin/src/plugins/scenes/opengl/scene_opengl.cpp:1032 #16 0x00007ffff6ce2b9c in KWin::Scene::finalPaintScreen(int, QRegion const&, KWin::ScreenPaintData&) (this=0x555555a4e570, mask=8, region=..., data=...) at /home/nico/kde/src/kwin/src/scene.cpp:224 #17 0x00007ffff6bfe9f2 in KWin::EffectsHandlerImpl::paintScreen(int, QRegion const&, KWin::ScreenPaintData&) (this=0x5555560edf10, mask=8, region=..., data=...) at /home/nico/kde/src/kwin/src/effects.cpp:390 #18 0x00007ffff683cf08 in KWin::Effect::paintScreen(int, QRegion const&, KWin::ScreenPaintData&) (this=0x555556342110, mask=8, region=..., data=...) at /home/nico/kde/src/kwin/src/libkwineffects/kwineffects.cpp:570 #19 0x00007ffff6bfe9be in KWin::EffectsHandlerImpl::paintScreen(int, QRegion const&, KWin::ScreenPaintData&) (this=0x5555560edf10, mask=8, region=..., data=...) at /home/nico/kde/src/kwin/src/effects.cpp:387 #20 0x00007ffff683cf08 in KWin::Effect::paintScreen(int, QRegion const&, KWin::ScreenPaintData&) (this=0x55555613d270, mask=8, region=..., data=...) at /home/nico/kde/src/kwin/src/libkwineffects/kwineffects.cpp:570 #21 0x00007ffff6bfe9be in KWin::EffectsHandlerImpl::paintScreen(int, QRegion const&, KWin::ScreenPaintData&) (this=0x5555560edf10, mask=8, region=..., data=...) at /home/nico/kde/src/kwin/src/effects.cpp:387 #22 0x00007ffff683cf08 in KWin::Effect::paintScreen(int, QRegion const&, KWin::ScreenPaintData&) (this=0x555556478000, mask=8, region=..., data=...) at /home/nico/kde/src/kwin/src/libkwineffects/kwineffects.cpp:570 #23 0x00007ffff6bfe9be in KWin::EffectsHandlerImpl::paintScreen(int, QRegion const&, KWin::ScreenPaintData&) (this=0x5555560edf10, mask=8, region=..., data=...) at /home/nico/kde/src/kwin/src/effects.cpp:387 #24 0x00007ffff6ce2901 in KWin::Scene::paintScreen(int*, QRegion const&, QRegion const&, QRegion*, QRegion*, KWin::RenderLoop*, QMatrix4x4 const&) (this=0x555555a4e570, mask=0x7fffffffccf4, damage=..., repaint=..., updateRegion=0x7fffffffcd00, validRegion=0x7fffffffcd08, renderLoop=0x5555556b9080, projection=...) at /home/nico/kde/src/kwin/src/scene.cpp:196 #25 0x00007fffe7b3623e in KWin::SceneOpenGL::paint(int, QRegion const&, QList<KWin::Toplevel*> const&, KWin::RenderLoop*) (this=0x555555a4e570, screenId=0, damage=..., toplevels=..., renderLoop=0x5555556b9080) at /home/nico/kde/src/kwin/src/plugins/scenes/opengl/scene_opengl.cpp:681 #26 0x00007ffff6ba3e55 in KWin::Compositor::handleFrameRequested(KWin::RenderLoop*) (this=0x5555557d7f70, renderLoop=0x5555556b9080) at /home/nico/kde/src/kwin/src/composite.cpp:665 #27 0x00007ffff6babeed in QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<KWin::RenderLoop*>, void, void (KWin::Compositor::*)(KWin::RenderLoop*)>::call(void (KWin::Compositor::*)(KWin::RenderLoop*), KWin::Compositor*, void**) (f=&virtual table offset 128, o=0x5555557d7f70, arg=0x7fffffffd0a0) at /home/nico/kde/usr/include/QtCore/qobjectdefs_impl.h:152
The others are: #0 0x00007ffff3d61ef5 in raise () at /usr/lib/libc.so.6 #1 0x00007ffff3d4b862 in abort () at /usr/lib/libc.so.6 #2 0x00007ffff3da3f38 in __libc_message () at /usr/lib/libc.so.6 #3 0x00007ffff3dabbea in () at /usr/lib/libc.so.6 #4 0x00007ffff3dacae6 in unlink_chunk.constprop () at /usr/lib/libc.so.6 #5 0x00007ffff3dad33b in _int_free () at /usr/lib/libc.so.6 #6 0x00007ffff3db0ca8 in free () at /usr/lib/libc.so.6 #7 0x00007fffe65a0668 in () at /usr/lib/dri/iris_dri.so #8 0x00007fffe64f01eb in () at /usr/lib/dri/iris_dri.so #9 0x00007fffe64f088b in () at /usr/lib/dri/iris_dri.so #10 0x00007fffe64f0e78 in () at /usr/lib/dri/iris_dri.so #11 0x00007fffe64f117a in () at /usr/lib/dri/iris_dri.so #12 0x00007ffff67e1b76 in KWin::GLTexture::clear() (this=0x5555566b5b80) at /home/nico/kde/src/kwin/src/libkwineffects/kwingltexture.cpp:533 #13 0x00007fffe7b44f9a in KWin::SceneOpenGLDecorationRenderer::resizeTexture() (this=0x5555565888c0) at /home/nico/kde/src/kwin/src/plugins/scenes/opengl/scene_opengl.cpp:2732 #14 0x00007fffe7b44912 in KWin::SceneOpenGLDecorationRenderer::render() (this=0x5555565888c0) at /home/nico/kde/src/kwin/src/plugins/scenes/opengl/scene_opengl.cpp:2623 #15 0x00007fffe7b3916b in KWin::OpenGLWindow::getDecorationTexture() const (this=0x555556077530) at /home/nico/kde/src/kwin/src/plugins/scenes/opengl/scene_opengl.cpp:1212 #16 0x00007fffe7b39723 in KWin::OpenGLWindow::initializeRenderContext(KWin::OpenGLWindow::RenderContext&, KWin::WindowPaintData const&) (this=0x555556077530, context=..., data=...) at /home/nico/kde/src/kwin/src/plugins/scenes/opengl/scene_opengl.cpp:1313 #17 0x00007fffe7b3a531 in KWin::OpenGLWindow::performPaint(int, QRegion const&, KWin::WindowPaintData const&) (this=0x555556077530, mask=10, region=..., _data=...) at /home/nico/kde/src/kwin/src/plugins/scenes/opengl/scene_opengl.cpp:1470 #18 0x00007fffe7b3862b in KWin::SceneOpenGL2::performPaintWindow(KWin::EffectWindowImpl*, int, QRegion const&, KWin::WindowPaintData&) (this=0x555555a4f3b0, w=0x555556590290, mask=10, region=..., data=...) at /home/nico/kde/src/kwin/src/plugins/scenes/opengl/scene_opengl.cpp:1085 #19 0x00007fffe7b3849c in KWin::SceneOpenGL2::finalDrawWindow(KWin::EffectWindowImpl*, int, QRegion const&, KWin::WindowPaintData&) (this=0x555555a4f3b0, w=0x555556590290, mask=10, region=..., data=...) at /home/nico/kde/src/kwin/src/plugins/scenes/opengl/scene_opengl.cpp:1067 #20 0x00007ffff6bfefd0 in KWin::EffectsHandlerImpl::drawWindow(KWin::EffectWindow*, int, QRegion const&, KWin::WindowPaintData&) (this=0x555556149c40, w=0x555556590290, mask=10, region=..., data=...) at /home/nico/kde/src/kwin/src/effects.cpp:470 #21 0x00007ffff68a5956 in KWin::BlurEffect::drawWindow(KWin::EffectWindow*, int, QRegion const&, KWin::WindowPaintData&) (this=0x5555560712b0, w=0x555556590290, mask=10, region=..., data=...) at /home/nico/kde/src/kwin/src/effects/blur/blur.cpp:593 #22 0x00007ffff6bfef80 in KWin::EffectsHandlerImpl::drawWindow(KWin::EffectWindow*, int, QRegion const&, KWin::WindowPaintData&) (this=0x555556149c40, w=0x555556590290, mask=10, region=..., data=...) at /home/nico/kde/src/kwin/src/effects.cpp:467 #23 0x00007ffff683d11d in KWin::Effect::drawWindow(KWin::EffectWindow*, int, QRegion const&, KWin::WindowPaintData&) (this=0x555556471a20, w=0x555556590290, mask=10, region=..., data=...) at /home/nico/kde/src/kwin/src/libkwineffects/kwineffects.cpp:615 #24 0x00007ffff6bfef80 in KWin::EffectsHandlerImpl::drawWindow(KWin::EffectWindow*, int, QRegion const&, KWin::WindowPaintData&) (this=0x555556149c40, w=0x555556590290, mask=10, region=..., data=...) at /home/nico/kde/src/kwin/src/effects.cpp:467 #25 0x00007ffff6ce5929 in KWin::Scene::finalPaintWindow(KWin::EffectWindowImpl*, int, QRegion const&, KWin::WindowPaintData&) (this=0x555555a4f3b0, w=0x555556590290, mask=10, region=..., data=...) at /home/nico/kde/src/kwin/src/scene.cpp:647 #26 0x00007ffff6bfecb7 in KWin::EffectsHandlerImpl::paintWindow(KWin::EffectWindow*, int, QRegion const&, KWin::WindowPaintData&) (this=0x555556149c40, w=0x555556590290, mask=10, region=..., data=...) at /home/nico/kde/src/kwin/src/effects.cpp:433 #27 0x00007ffff683cfdb in KWin::Effect::paintWindow(KWin::EffectWindow*, int, QRegion, KWin::WindowPaintData&) (this=0x5555560712b0, w=0x555556590290, mask=10, region=..., data=...) at /home/nico/kde/src/kwin/src/libkwineffects/kwineffects.cpp:585 #28 0x00007ffff6bfec70 in KWin::EffectsHandlerImpl::paintWindow(KWin::EffectWindow*, int, QRegion const&, KWin::WindowPaintData&) (this=0x555556149c40, w=0x555556590290, mask=10, region=..., data=...) at /home/nico/kde/src/kwin/src/effects.cpp:430 #29 0x00007ffff682e8d0 in KWin::AnimationEffect::paintWindow(KWin::EffectWindow*, int, QRegion, KWin::WindowPaintData&) (this=0x555556471a20, w=0x555556590290, mask=10, region=..., data=...) at /home/nico/kde/src/kwin/src/libkwineffects/kwinanimationeffect.cpp:721 and #0 0x00007ffff3d61ef5 in raise () at /usr/lib/libc.so.6 #1 0x00007ffff3d4b862 in abort () at /usr/lib/libc.so.6 #2 0x00007ffff3da3f38 in __libc_message () at /usr/lib/libc.so.6 #3 0x00007ffff3dabbea in () at /usr/lib/libc.so.6 #4 0x00007ffff3dacae6 in unlink_chunk.constprop () at /usr/lib/libc.so.6 #5 0x00007ffff3dad33b in _int_free () at /usr/lib/libc.so.6 #6 0x00007ffff3db0ca8 in free () at /usr/lib/libc.so.6 #7 0x00007fffe678eba9 in () at /usr/lib/dri/iris_dri.so #8 0x00007fffe6e5879e in () at /usr/lib/dri/iris_dri.so #9 0x00007fffe6414e30 in () at /usr/lib/dri/iris_dri.so #10 0x00007fffe6422db5 in () at /usr/lib/dri/iris_dri.so #11 0x00007fffe6422e00 in () at /usr/lib/dri/iris_dri.so #12 0x00007fffe647cdff in () at /usr/lib/dri/iris_dri.so #13 0x00007fffe6571a08 in () at /usr/lib/dri/iris_dri.so #14 0x00007fffe6571acf in () at /usr/lib/dri/iris_dri.so #15 0x00007fffe6571c1d in () at /usr/lib/dri/iris_dri.so #16 0x00007fffe6575111 in () at /usr/lib/dri/iris_dri.so #17 0x00007ffff67e3608 in KWin::GLShader::~GLShader() (this=0x5555560c4660, __in_chrg=<optimized out>) at /home/nico/kde/src/kwin/src/libkwineffects/kwinglutils.cpp:159 #18 0x00007ffff68af68b in QScopedPointerDeleter<KWin::GLShader>::cleanup(KWin::GLShader*) (pointer=0x5555560c4660) at /home/nico/kde/usr/include/QtCore/qscopedpointer.h:60 #19 0x00007ffff68af603 in QScopedPointer<KWin::GLShader, QScopedPointerDeleter<KWin::GLShader> >::~QScopedPointer() (this=0x555555ff1238, __in_chrg=<optimized out>) at /home/nico/kde/usr/include/QtCore/qscopedpointer.h:107 #20 0x00007ffff68ae376 in KWin::BlurShader::~BlurShader() (this=0x555555ff1210, __in_chrg=<optimized out>) at /home/nico/kde/src/kwin/src/effects/blur/blurshader.cpp:237 #21 0x00007ffff68ae3ce in KWin::BlurShader::~BlurShader() (this=0x555555ff1210, __in_chrg=<optimized out>) at /home/nico/kde/src/kwin/src/effects/blur/blurshader.cpp:239 #22 0x00007ffff74aae4e in QObjectPrivate::deleteChildren() (this=0x555555662820) at kernel/qobject.cpp:2104 #23 0x00007ffff74b5a24 in QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082 #24 0x00007ffff683cdfc in KWin::Effect::~Effect() (this=0x555556341150, __in_chrg=<optimized out>) at /home/nico/kde/src/kwin/src/libkwineffects/kwineffects.cpp:537 #25 0x00007ffff68a2a58 in KWin::BlurEffect::~BlurEffect() (this=0x555556341150, __in_chrg=<optimized out>) at /home/nico/kde/src/kwin/src/effects/blur/blur.cpp:70 #26 0x00007ffff68a2a74 in KWin::BlurEffect::~BlurEffect() (this=0x555556341150, __in_chrg=<optimized out>) at /home/nico/kde/src/kwin/src/effects/blur/blur.cpp:73 #27 0x00007ffff6c02117 in KWin::EffectsHandlerImpl::destroyEffect(KWin::Effect*) (this=0x5555560d6ad0, effect=0x555556341150) at /home/nico/kde/src/kwin/src/effects.cpp:1432 #28 0x00007ffff6bfdad9 in KWin::EffectsHandlerImpl::unloadAllEffects() (this=0x5555560d6ad0) at /home/nico/kde/src/kwin/src/effects.cpp:274 #29 0x00005555555ca824 in KWin::ApplicationWayland::~ApplicationWayland() (this=0x7fffffffd7b0, __in_chrg=<optimized out>) at /home/nico/kde/src/kwin/src/main_wayland.cpp:137 #30 0x00005555555d0567 in main(int, char**) (argc=3, argv=0x7fffffffda58) at /home/nico/kde/src/kwin/src/main_wayland.cpp:498
What may or may not be related is that tiling is also visually broken (see video)
Created attachment 136900 [details] Video
Yet another different backtrace: #0 0x00007ffff72daf93 in QHashData::free_helper(void (*)(QHashData::Node*)) (this=0x55555657f170, node_delete=0x7ffff6646fa4 <QHash<QWindow*, QWeakPointer<QSGTexture> >::deleteNode2(QHashData::Node*)>) at tools/qhash.cpp:571 #1 0x00007ffff664682f in QHash<QWindow*, QWeakPointer<QSGTexture> >::freeData(QHashData*) (this=0x55555653f308, x=0x55555657f170) at /home/nico/kde/usr/include/QtCore/qhash.h:619 #2 0x00007ffff6645e40 in QHash<QWindow*, QWeakPointer<QSGTexture> >::~QHash() (this=0x55555653f308, __in_chrg=<optimized out>) at /home/nico/kde/usr/include/QtCore/qhash.h:250 #3 0x00007ffff6646f5c in QHashNode<long long, QHash<QWindow*, QWeakPointer<QSGTexture> > >::~QHashNode() (this=0x55555653f2f0, __in_chrg=<optimized out>) at /home/nico/kde/usr/include/QtCore/qhash.h:147 #4 0x00007ffff6646f80 in QHash<long long, QHash<QWindow*, QWeakPointer<QSGTexture> > >::deleteNode2(QHashData::Node*) (node=0x55555653f2f0) at /home/nico/kde/usr/include/QtCore/qhash.h:595 #5 0x00007ffff6646c1e in QHash<long long, QHash<QWindow*, QWeakPointer<QSGTexture> > >::deleteNode(QHashNode<long long, QHash<QWindow*, QWeakPointer<QSGTexture> > >*) (this=0x555556594e00, node=0x55555653f2f0) at /home/nico/kde/usr/include/QtCore/qhash.h:585 #6 0x00007ffff66462c2 in QHash<long long, QHash<QWindow*, QWeakPointer<QSGTexture> > >::remove(long long const&) (this=0x555556594e00, akey=@0x7fffffffa3c0: 2959232466948) at /home/nico/kde/usr/include/QtCore/qhash.h:824 #7 0x00007ffff6645326 in operator()(QSGTexture*) const (__closure=0x7fffffffa3b0, texture=0x55555660a5d0) at /home/nico/kde/src/kdeclarative/src/quickaddons/imagetexturescache.cpp:37 #8 0x00007ffff664583a in QtSharedPointer::executeDeleter<QSGTexture, ImageTexturesCache::loadTexture(QQuickWindow*, const QImage&, QQuickWindow::CreateTextureOptions)::<lambda(QSGTexture*)> >(QSGTexture *, struct {...}) (t=0x55555660a5d0, d=...) at /home/nico/kde/usr/include/QtCore/qsharedpointer_impl.h:114 #9 0x00007ffff66457e0 in QtSharedPointer::CustomDeleter<QSGTexture, ImageTexturesCache::loadTexture(QQuickWindow*, const QImage&, QQuickWindow::CreateTextureOptions)::<lambda(QSGTexture*)> >::execute(void) (this=0x5555565bcb60) at /home/nico/kde/usr/include/QtCore/qsharedpointer_impl.h:171 #10 0x00007ffff66456f6 in QtSharedPointer::ExternalRefCountWithCustomDeleter<QSGTexture, ImageTexturesCache::loadTexture(QQuickWindow*, const QImage&, QQuickWindow::CreateTextureOptions)::<lambda(QSGTexture*)> >::deleter(QtSharedPointer::ExternalRefCountData *) (self=0x5555565bcb50) at /home/nico/kde/usr/include/QtCore/qsharedpointer_impl.h:205 #11 0x00007fffb879a9df in QtSharedPointer::ExternalRefCountData::destroy() (this=0x5555565bcb50) at /home/nico/kde/usr/include/QtCore/qsharedpointer_impl.h:149 #12 0x00007fffb87af048 in QSharedPointer<QSGTexture>::deref(QtSharedPointer::ExternalRefCountData*) (dd=0x5555565bcb50) at /home/nico/kde/usr/include/QtCore/qsharedpointer_impl.h:458 #13 0x00007fffb87aee06 in QSharedPointer<QSGTexture>::deref() (this=0x555555ff3730) at /home/nico/kde/usr/include/QtCore/qsharedpointer_impl.h:453 #14 0x00007fffb87aec60 in QSharedPointer<QSGTexture>::~QSharedPointer() (this=0x555555ff3730, __in_chrg=<optimized out>) at /home/nico/kde/usr/include/QtCore/qsharedpointer_impl.h:310 #15 0x00007fffb87b59ec in ManagedTextureNode::~ManagedTextureNode() (this=0x555555ff35b0, __in_chrg=<optimized out>) at /home/nico/kde/usr/include/KF5/KDeclarative/quickaddons/managedtexturenode.h:32 #16 0x00007fffb87b8112 in Plasma::FrameItemNode::~FrameItemNode() (this=0x555555ff35b0, __in_chrg=<optimized out>) at /home/nico/kde/src/plasma-framework/src/declarativeimports/core/framesvgitem.cpp:63 #17 0x00007fffb87b812e in Plasma::FrameItemNode::~FrameItemNode() (this=0x555555ff35b0, __in_chrg=<optimized out>) at /home/nico/kde/src/plasma-framework/src/declarativeimports/core/framesvgitem.cpp:63 #18 0x00007ffff628c652 in QSGNode::destroy() (this=this@entry=0x5555565ff7f0) at scenegraph/coreapi/qsgnode.cpp:388 #19 0x00007ffff628c677 in QSGNode::~QSGNode() (this=0x5555565ff7f0, __in_chrg=<optimized out>) at scenegraph/coreapi/qsgnode.cpp:326 #20 0x00007fffb87b8162 in Plasma::FrameNode::~FrameNode() (this=0x5555565ff7f0, __in_chrg=<optimized out>) at /home/nico/kde/src/plasma-framework/src/declarativeimports/core/framesvgitem.cpp:29 #21 0x00007fffb87b817e in Plasma::FrameNode::~FrameNode() (this=0x5555565ff7f0, __in_chrg=<optimized out>) at /home/nico/kde/src/plasma-framework/src/declarativeimports/core/framesvgitem.cpp:29 #22 0x00007fffb87b3f2f in Plasma::FrameSvgItem::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*) (this=0x5555564264a0, oldNode=0x5555565ff7f0) at /home/nico/kde/src/plasma-framework/src/declarativeimports/core/framesvgitem.cpp:565 #23 0x00007ffff6357438 in QQuickWindowPrivate::updateDirtyNode(QQuickItem*) (this=0x5555560fc0c0, item=0x5555564264a0) at items/qquickwindow.cpp:3872 #24 0x00007ffff6357ccb in QQuickWindowPrivate::updateDirtyNodes() (this=this@entry=0x5555560fc0c0) at items/qquickwindow.cpp:3617 #25 0x00007ffff63595ac in QQuickWindowPrivate::syncSceneGraph() (this=this@entry=0x5555560fc0c0) at items/qquickwindow.cpp:524 #26 0x00007ffff62db39e in QSGGuiThreadRenderLoop::renderWindow(QQuickWindow*) (this=0x5555564626b0, window=<optimized out>) at scenegraph/qsgrenderloop.cpp:751 #27 0x00007ffff62dd237 in QSGGuiThreadRenderLoop::exposureChanged(QQuickWindow*) (this=0x5555564626b0, window=<optimized out>) at scenegraph/qsgrenderloop.cpp:852 #28 0x00007ffff789c1b5 in QWindow::event(QEvent*) (this=0x555556457230, ev=<optimized out>) at kernel/qwindow.cpp:2438 #29 0x00007ffff4c6314f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x555556457230, e=0x7fffffffab00) at kernel/qapplication.cpp:3632
well, I don't get this any more. Quite possibly this was caused by a leftover kwin QPA plugin from before we made that static