Bug 368847

Summary: Assert in KWin::WindowQuad KWin::WindowQuad::makeSubQuad
Product: [Plasma] kwin Reporter: Aureo Fetter <aureo.fetter>
Component: scene-openglAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: aureo.fetter, bugs.kde.org.vtj1a, bugseforuns, comienzaporlac, cp100u+kdebugtracking, dJJ1013b, fernando.alapa, gamebus2011, grs5382, i, jesusbalbastro, kde, kdemeoz, lukibartl, martin.vlk, matthieu.xillo, mattiiluca, mihaela.jurkovic, nate, Nourepide, odmar, rafael-evald, redhead63, schwancarl, smkozasa, superden1988, testpat2, tusharpandey13, vlad.zahorodnii, whyhollis+eidei, win10
Priority: VHI Keywords: drkonqi
Version: 5.14.4   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=395493
Latest Commit: Version Fixed In:
Attachments: output qdbus

Description Aureo Fetter 2016-09-15 12:37:29 UTC
Application: kwin_x11 (5.7.5)

Qt Version: 5.7.0
Frameworks Version: 5.26.0
Operating System: Linux 4.4.0-36-generic x86_64
Distribution: KDE neon User Edition 5.7

-- Information about the crash:
- What I was doing when the application crashed:

Kwin crashes when I switch between virtual desktops using the Desktop Grid effect, the Desktop Grid effect has been activated using the corners of the screen.

The crash can be reproduced sometimes.

-- Backtrace:
Application: KWin (kwin_x11), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7faf3716b940 (LWP 1889))]

Thread 6 (Thread 0x7faf17fff700 (LWP 2130)):
#0  0x00007faf36c64e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007faf34b626da in poll (__timeout=<optimized out>, __nfds=1, __fds=0x7faf0c01cb08) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7faf0c01cb08) at kernel/qcore_unix.cpp:93
#3  qt_safe_poll (fds=0x7faf0c01cb08, nfds=nfds@entry=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:112
#4  0x00007faf34b63fb8 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:495
#5  0x00007faf34b11d9a in QEventLoop::exec (this=this@entry=0x7faf17ffec60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210
#6  0x00007faf34937044 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:507
#7  0x00007faf2f3f4685 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007faf3493bc28 in QThreadPrivate::start (arg=0x2f05a20) at thread/qthread_unix.cpp:344
#9  0x00007faf3028f6fa in start_thread (arg=0x7faf17fff700) at pthread_create.c:333
#10 0x00007faf36c70b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7faf149e8700 (LWP 2021)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007faf33cd55c4 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007faf33cd5609 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007faf3028f6fa in start_thread (arg=0x7faf149e8700) at pthread_create.c:333
#4  0x00007faf36c70b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7faf175a4700 (LWP 2005)):
#0  0x00007faf36c64e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007faf34b626da in poll (__timeout=<optimized out>, __nfds=1, __fds=0x7faf04000ac8) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7faf04000ac8) at kernel/qcore_unix.cpp:93
#3  qt_safe_poll (fds=0x7faf04000ac8, nfds=nfds@entry=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:112
#4  0x00007faf34b63fb8 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:495
#5  0x00007faf34b11d9a in QEventLoop::exec (this=this@entry=0x7faf175a3c60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210
#6  0x00007faf34937044 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:507
#7  0x00007faf2f3f4685 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007faf3493bc28 in QThreadPrivate::start (arg=0x248f510) at thread/qthread_unix.cpp:344
#9  0x00007faf3028f6fa in start_thread (arg=0x7faf175a4700) at pthread_create.c:333
#10 0x00007faf36c70b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7faf1dca2700 (LWP 1961)):
#0  0x00007faf36c64e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007faf34b626da in poll (__timeout=<optimized out>, __nfds=1, __fds=0x7faf1000b418) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7faf1000b418) at kernel/qcore_unix.cpp:93
#3  qt_safe_poll (fds=0x7faf1000b418, nfds=nfds@entry=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:112
#4  0x00007faf34b63fb8 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:495
#5  0x00007faf34b11d9a in QEventLoop::exec (this=this@entry=0x7faf1dca1c50, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210
#6  0x00007faf34937044 in QThread::exec (this=this@entry=0x7faf37301d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:507
#7  0x00007faf3728d7a5 in QDBusConnectionManager::run (this=0x7faf37301d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:196
#8  0x00007faf3493bc28 in QThreadPrivate::start (arg=0x7faf37301d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:344
#9  0x00007faf3028f6fa in start_thread (arg=0x7faf1dca2700) at pthread_create.c:333
#10 0x00007faf36c70b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7faf1f7ad700 (LWP 1960)):
#0  0x00007faf36c64e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007faf35de9c62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007faf35deb8d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007faf20257a39 in QXcbEventReader::run (this=0x23361b0) at qxcbconnection.cpp:1337
#4  0x00007faf3493bc28 in QThreadPrivate::start (arg=0x23361b0) at thread/qthread_unix.cpp:344
#5  0x00007faf3028f6fa in start_thread (arg=0x7faf1f7ad700) at pthread_create.c:333
#6  0x00007faf36c70b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7faf3716b940 (LWP 1889)):
[KCrash Handler]
#6  0x00007faf36b9f418 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#7  0x00007faf36ba101a in __GI_abort () at abort.c:89
#8  0x00007faf34922811 in qt_message_fatal (context=..., message=<synthetic pointer>) at global/qlogging.cpp:1680
#9  QMessageLogger::fatal (this=this@entry=0x7fffa8d72640, msg=msg@entry=0x7faf342fe840 "Splitting quads is allowed only in pre-paint calls!") at global/qlogging.cpp:793
#10 0x00007faf342ecca9 in KWin::WindowQuad::makeSubQuad (this=this@entry=0x3517d50, x1=x1@entry=-193.17436670051535, y1=y1@entry=454.49489954481885, x2=x2@entry=-141.26847411581122, y2=y2@entry=487) at /workspace/build/libkwineffects/kwineffects.cpp:949
#11 0x00007faf3681c6e9 in KWin::SceneOpenGL::Window::beginRenderWindow (this=<optimized out>, mask=<optimized out>, region=..., data=...) at /workspace/build/scene_opengl.cpp:1319
#12 0x00007faf3681cd97 in KWin::SceneOpenGL2Window::performPaint (this=this@entry=0x2de0d90, mask=mask@entry=118, region=..., data=...) at /workspace/build/scene_opengl.cpp:1513
#13 0x00007faf36822cb2 in KWin::SceneOpenGL2::performPaintWindow (this=this@entry=0x26b6830, w=w@entry=0x2fb6480, mask=<optimized out>, mask@entry=118, region=..., data=...) at /workspace/build/scene_opengl.cpp:1141
#14 0x00007faf36822ea8 in KWin::SceneOpenGL2::finalDrawWindow (this=0x26b6830, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/scene_opengl.cpp:1127
#15 0x00007faf36830269 in KWin::EffectsHandlerImpl::drawWindow (this=0x270dfb0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects.cpp:509
#16 0x00007faf342e93b1 in KWin::Effect::drawWindow (this=this@entry=0x2bf4dd0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/libkwineffects/kwineffects.cpp:619
#17 0x00007faf368301fe in KWin::EffectsHandlerImpl::drawWindow (this=0x270dfb0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects.cpp:506
#18 0x00007faf33e89ebe in KWin::ContrastEffect::drawWindow (this=this@entry=0x2c2afb0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects/backgroundcontrast/contrast.cpp:402
#19 0x00007faf368301fe in KWin::EffectsHandlerImpl::drawWindow (this=0x270dfb0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects.cpp:506
#20 0x00007faf33e0985d in KWin::BlurEffect::drawWindow (this=this@entry=0x27143b0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects/blur/blur.cpp:473
#21 0x00007faf368301fe in KWin::EffectsHandlerImpl::drawWindow (this=0x270dfb0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects.cpp:506
#22 0x00007faf342e93b1 in KWin::Effect::drawWindow (this=this@entry=0x2d235b0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/libkwineffects/kwineffects.cpp:619
#23 0x00007faf368301fe in KWin::EffectsHandlerImpl::drawWindow (this=0x270dfb0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects.cpp:506
#24 0x00007faf342e93b1 in KWin::Effect::drawWindow (this=this@entry=0x2d36ba0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/libkwineffects/kwineffects.cpp:619
#25 0x00007faf368301fe in KWin::EffectsHandlerImpl::drawWindow (this=0x270dfb0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects.cpp:506
#26 0x00007faf342e93b1 in KWin::Effect::drawWindow (this=this@entry=0x2d21be0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/libkwineffects/kwineffects.cpp:619
#27 0x00007faf368301fe in KWin::EffectsHandlerImpl::drawWindow (this=0x270dfb0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects.cpp:506
#28 0x00007faf342e93b1 in KWin::Effect::drawWindow (this=this@entry=0x2cf8730, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/libkwineffects/kwineffects.cpp:619
#29 0x00007faf368301fe in KWin::EffectsHandlerImpl::drawWindow (this=0x270dfb0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects.cpp:506
#30 0x00007faf36800dd1 in KWin::Scene::finalPaintWindow (this=<optimized out>, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/scene.cpp:607
#31 0x00007faf368300aa in KWin::EffectsHandlerImpl::paintWindow (this=0x270dfb0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects.cpp:472
#32 0x00007faf342e9251 in KWin::Effect::paintWindow (this=this@entry=0x2bf4dd0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/libkwineffects/kwineffects.cpp:589
#33 0x00007faf3683004e in KWin::EffectsHandlerImpl::paintWindow (this=0x270dfb0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects.cpp:469
#34 0x00007faf342e9251 in KWin::Effect::paintWindow (this=this@entry=0x2c2afb0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/libkwineffects/kwineffects.cpp:589
#35 0x00007faf3683004e in KWin::EffectsHandlerImpl::paintWindow (this=0x270dfb0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects.cpp:469
#36 0x00007faf342e9251 in KWin::Effect::paintWindow (this=this@entry=0x27143b0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/libkwineffects/kwineffects.cpp:589
#37 0x00007faf3683004e in KWin::EffectsHandlerImpl::paintWindow (this=0x270dfb0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects.cpp:469
#38 0x00007faf33e73f3a in KWin::FallApartEffect::paintWindow (this=this@entry=0x2d235b0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects/fallapart/fallapart.cpp:120
#39 0x00007faf3683004e in KWin::EffectsHandlerImpl::paintWindow (this=0x270dfb0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects.cpp:469
#40 0x00007faf342f5d29 in KWin::AnimationEffect::paintWindow (this=this@entry=0x2d36ba0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/libkwineffects/kwinanimationeffect.cpp:644
#41 0x00007faf3683004e in KWin::EffectsHandlerImpl::paintWindow (this=0x270dfb0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects.cpp:469
#42 0x00007faf33e2c1bd in KWin::DesktopGridEffect::paintWindow (this=this@entry=0x2d21be0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects/desktopgrid/desktopgrid.cpp:360
#43 0x00007faf3683004e in KWin::EffectsHandlerImpl::paintWindow (this=0x270dfb0, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects.cpp:469
#44 0x00007faf33e2f8a8 in KWin::DimInactiveEffect::paintWindow (this=this@entry=0x2cf8730, w=w@entry=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects/diminactive/diminactive.cpp:81
#45 0x00007faf3683004e in KWin::EffectsHandlerImpl::paintWindow (this=0x270dfb0, w=0x2fb6480, mask=mask@entry=118, region=..., data=...) at /workspace/build/effects.cpp:469
#46 0x00007faf3680768d in KWin::Scene::paintWindow (this=this@entry=0x26b6830, w=0x2de0d90, mask=118, region=..., quads=...) at /workspace/build/scene.cpp:479
#47 0x00007faf36802d36 in KWin::Scene::paintGenericScreen (this=this@entry=0x26b6830, orig_mask=orig_mask@entry=112) at /workspace/build/scene.cpp:243
#48 0x00007faf36822ba7 in KWin::SceneOpenGL2::paintGenericScreen (this=this@entry=0x26b6830, mask=mask@entry=112, data=...) at /workspace/build/scene_opengl.cpp:1087
#49 0x00007faf36806bcd in KWin::Scene::finalPaintScreen (this=0x26b6830, mask=mask@entry=112, region=..., data=...) at /workspace/build/scene.cpp:199
#50 0x00007faf3682fe2f in KWin::EffectsHandlerImpl::paintScreen (this=0x270dfb0, mask=mask@entry=112, region=..., data=...) at /workspace/build/effects.cpp:429
#51 0x00007faf33e77c5c in KWin::ScreenEdgeEffect::paintScreen (this=this@entry=0x2bf4dd0, mask=mask@entry=112, region=..., data=...) at /workspace/build/effects/screenedge/screenedgeeffect.cpp:88
#52 0x00007faf3682fdda in KWin::EffectsHandlerImpl::paintScreen (this=0x270dfb0, mask=mask@entry=112, region=..., data=...) at /workspace/build/effects.cpp:426
#53 0x00007faf342e919f in KWin::Effect::paintScreen (this=this@entry=0x2c2afb0, mask=mask@entry=112, region=..., data=...) at /workspace/build/libkwineffects/kwineffects.cpp:574
#54 0x00007faf3682fdda in KWin::EffectsHandlerImpl::paintScreen (this=0x270dfb0, mask=mask@entry=112, region=..., data=...) at /workspace/build/effects.cpp:426
#55 0x00007faf342e919f in KWin::Effect::paintScreen (this=this@entry=0x27143b0, mask=mask@entry=112, region=..., data=...) at /workspace/build/libkwineffects/kwineffects.cpp:574
#56 0x00007faf3682fdda in KWin::EffectsHandlerImpl::paintScreen (this=0x270dfb0, mask=mask@entry=112, region=..., data=...) at /workspace/build/effects.cpp:426
#57 0x00007faf342e919f in KWin::Effect::paintScreen (this=this@entry=0x2d235b0, mask=mask@entry=112, region=..., data=...) at /workspace/build/libkwineffects/kwineffects.cpp:574
#58 0x00007faf3682fdda in KWin::EffectsHandlerImpl::paintScreen (this=0x270dfb0, mask=mask@entry=112, region=..., data=...) at /workspace/build/effects.cpp:426
#59 0x00007faf342e919f in KWin::Effect::paintScreen (this=this@entry=0x2d36ba0, mask=mask@entry=112, region=..., data=...) at /workspace/build/libkwineffects/kwineffects.cpp:574
#60 0x00007faf3682fdda in KWin::EffectsHandlerImpl::paintScreen (this=0x270dfb0, mask=mask@entry=112, region=..., data=...) at /workspace/build/effects.cpp:426
#61 0x00007faf33e2ae07 in KWin::DesktopGridEffect::paintScreen (this=this@entry=0x2d21be0, mask=mask@entry=112, region=..., data=...) at /workspace/build/effects/desktopgrid/desktopgrid.cpp:161
#62 0x00007faf3682fdda in KWin::EffectsHandlerImpl::paintScreen (this=0x270dfb0, mask=mask@entry=112, region=..., data=...) at /workspace/build/effects.cpp:426
#63 0x00007faf342e919f in KWin::Effect::paintScreen (this=this@entry=0x2cf8730, mask=mask@entry=112, region=..., data=...) at /workspace/build/libkwineffects/kwineffects.cpp:574
#64 0x00007faf3682fdda in KWin::EffectsHandlerImpl::paintScreen (this=0x270dfb0, mask=112, region=..., data=...) at /workspace/build/effects.cpp:426
#65 0x00007faf36806839 in KWin::Scene::paintScreen (this=this@entry=0x26b6830, mask=mask@entry=0x7fffa8d747d0, damage=..., repaint=..., updateRegion=updateRegion@entry=0x7fffa8d747a0, validRegion=validRegion@entry=0x7fffa8d747b0, projection=...) at /workspace/build/scene.cpp:151
#66 0x00007faf3681e7c6 in KWin::SceneOpenGL::paint (this=0x26b6830, damage=..., toplevels=...) at /workspace/build/scene_opengl.cpp:731
#67 0x00007faf367f8ff2 in KWin::Compositor::performCompositing (this=0x240c160) at /workspace/build/composite.cpp:720
#68 0x00007faf34b3fa93 in QObject::event (this=0x240c160, e=<optimized out>) at kernel/qobject.cpp:1285
#69 0x00007faf353ff89c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x240c160, e=0x7fffa8d74c20) at kernel/qapplication.cpp:3799
#70 0x00007faf35407296 in QApplication::notify (this=0x7fffa8d74ef0, receiver=0x240c160, e=0x7fffa8d74c20) at kernel/qapplication.cpp:3556
#71 0x00007faf34b13da8 in QCoreApplication::notifyInternal2 (receiver=0x240c160, event=event@entry=0x7fffa8d74c20) at kernel/qcoreapplication.cpp:988
#72 0x00007faf34b6623e in QCoreApplication::sendEvent (event=0x7fffa8d74c20, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#73 QTimerInfoList::activateTimers (this=this@entry=0x23745c0) at kernel/qtimerinfo_unix.cpp:644
#74 0x00007faf34b6303c in QEventDispatcherUNIXPrivate::activateTimers (this=this@entry=0x2374520) at kernel/qeventdispatcher_unix.cpp:249
#75 0x00007faf34b64218 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=..., flags@entry=...) at kernel/qeventdispatcher_unix.cpp:509
#76 0x00007faf202cf87d in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:68
#77 0x00007faf34b11d9a in QEventLoop::exec (this=this@entry=0x7fffa8d74de0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210
#78 0x00007faf34b1a3ac in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1261
#79 0x00007faf34e5cdbc in QGuiApplication::exec () at kernel/qguiapplication.cpp:1639
#80 0x00007faf353ff7f5 in QApplication::exec () at kernel/qapplication.cpp:2975
#81 0x00007faf36f3c206 in kdemain (argc=1, argv=0x7fffa8d75078) at /workspace/build/main_x11.cpp:466
#82 0x00007faf36b8a830 in __libc_start_main (main=0x400710 <main(int, char**)>, argc=3, argv=0x7fffa8d75078, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffa8d75068) at ../csu/libc-start.c:291
#83 0x0000000000400749 in _start ()

Possible duplicates by query: bug 364721, bug 364342, bug 362567, bug 355457, bug 355096.

Reported using DrKonqi
Comment 1 Martin Flöser 2016-09-15 13:06:41 UTC
could you please provide the output of:
qdbus org.kde.KWin /KWin supportInformation
Comment 2 Aureo Fetter 2016-09-15 18:02:51 UTC
Created attachment 101099 [details]
output qdbus
Comment 3 Martin Flöser 2016-09-16 05:28:29 UTC
Relevant code section:
    m_hardwareClipping = region != infiniteRegion() && (mask & PAINT_WINDOW_TRANSFORMED) && !(mask & PAINT_SCREEN_TRANSFORMED);
    if (region != infiniteRegion() && !m_hardwareClipping) {
        WindowQuadList quads;
        quads.reserve(data.quads.count());

        const QRegion filterRegion = region.translated(-x(), -y());
        // split all quads in bounding rect with the actual rects in the region
        foreach (const WindowQuad &quad, data.quads) {
            foreach (const QRect &r, filterRegion.rects()) {
                const QRectF rf(r);
                const QRectF quadRect(QPointF(quad.left(), quad.top()), QPointF(quad.right(), quad.bottom()));
                const QRectF &intersected = rf.intersected(quadRect);
                if (intersected.isValid()) {
                    if (quadRect == intersected) {
                        // case 1: completely contains, include and do not check other rects
                        quads << quad;
                        break;
                    }
                    // case 2: intersection
                    quads << quad.makeSubQuad(intersected.left(), intersected.top(), intersected.right(), intersected.bottom());
                }
            }
        }
        data.quads = quads;
    }

The crash happens in the "case 2: intersection". The complete if-section should not have been taken.

We need to figure out why the system went into that branch and either fix that or remove the qFatal.
Comment 4 Martin Flöser 2018-05-13 15:54:36 UTC
*** Bug 393284 has been marked as a duplicate of this bug. ***
Comment 6 Vlad Zahorodnii 2018-07-19 07:46:37 UTC
*** Bug 395493 has been marked as a duplicate of this bug. ***
Comment 7 Vlad Zahorodnii 2018-07-19 19:44:14 UTC
(In reply to Martin Flöser from comment #3)
> The crash happens in the "case 2: intersection". The complete if-section
> should not have been taken.
> 
> We need to figure out why the system went into that branch and either fix
> that or remove the qFatal.

See https://bugs.kde.org/show_bug.cgi?id=395493#c9 for how to trigger the
qFatal.

With the Magic lamp effect, for example, bottom quads can be outside of screen
so we need to clip them. Because the Magic lamp already transformed that quads,
the qFatal will be triggered.

I'm not sure whether removing that qFatal will improve something because
window quads won't be properly clipped. Most likely, we need to implement some
fancy polygon-clipping algorithm. FWIW, if a convex quadrilateral is clipped by a
rectangle the result can be either:
* quadrilateral
* pentagon (5 edges)
* hexagon (6 edges)
* heptagon (7 edges)
* or, octagon (8 edges)

so, if the resulting polygon has >= 5 edges we need to split it into quadrilaterals.

Maybe, we could use scissor test if !(mask & PAINT_WINDOW_TRANSFORMED), I dunno.

Any other ideas how to fix this bug? Or, maybe, that's fine to "distort" clipped window
quads?
Comment 8 David Edmundson 2018-10-03 19:30:16 UTC
*** Bug 399344 has been marked as a duplicate of this bug. ***
Comment 9 David Edmundson 2018-10-03 19:30:19 UTC
*** Bug 398127 has been marked as a duplicate of this bug. ***
Comment 10 David Edmundson 2018-10-03 19:30:33 UTC
*** Bug 385142 has been marked as a duplicate of this bug. ***
Comment 11 Vlad Zahorodnii 2018-10-10 17:12:10 UTC
*** Bug 399625 has been marked as a duplicate of this bug. ***
Comment 12 David Edmundson 2018-10-12 11:46:42 UTC
*** Bug 399706 has been marked as a duplicate of this bug. ***
Comment 13 Vlad Zahorodnii 2018-10-22 07:06:51 UTC
*** Bug 400127 has been marked as a duplicate of this bug. ***
Comment 14 Vlad Zahorodnii 2018-11-29 21:04:55 UTC
*** Bug 401549 has been marked as a duplicate of this bug. ***
Comment 15 Vlad Zahorodnii 2019-01-07 12:38:17 UTC
*** Bug 402943 has been marked as a duplicate of this bug. ***
Comment 16 Martin Flöser 2019-01-16 05:22:17 UTC
*** Bug 403253 has been marked as a duplicate of this bug. ***
Comment 17 Vlad Zahorodnii 2019-02-09 18:01:38 UTC
*** Bug 404141 has been marked as a duplicate of this bug. ***
Comment 18 Vlad Zahorodnii 2019-02-13 09:09:13 UTC
*** Bug 404279 has been marked as a duplicate of this bug. ***
Comment 19 Vlad Zahorodnii 2019-02-19 17:46:42 UTC
*** Bug 404564 has been marked as a duplicate of this bug. ***
Comment 20 David Edmundson 2019-02-21 18:19:32 UTC
*** Bug 404654 has been marked as a duplicate of this bug. ***
Comment 21 David Edmundson 2019-02-23 23:30:44 UTC
*** Bug 404747 has been marked as a duplicate of this bug. ***
Comment 22 Vlad Zahorodnii 2019-03-07 08:22:23 UTC
*** Bug 405139 has been marked as a duplicate of this bug. ***
Comment 23 Vlad Zahorodnii 2019-03-14 10:22:05 UTC
*** Bug 405466 has been marked as a duplicate of this bug. ***
Comment 24 Vlad Zahorodnii 2019-03-18 09:53:16 UTC
*** Bug 405538 has been marked as a duplicate of this bug. ***
Comment 25 David Edmundson 2019-03-30 15:48:26 UTC
*** Bug 406045 has been marked as a duplicate of this bug. ***
Comment 26 Vlad Zahorodnii 2019-05-15 07:32:55 UTC
*** Bug 407550 has been marked as a duplicate of this bug. ***
Comment 27 Vlad Zahorodnii 2019-06-26 11:29:39 UTC
*** Bug 409182 has been marked as a duplicate of this bug. ***
Comment 28 Patrick Silva 2019-07-08 14:37:04 UTC
the crash also occurs on Wayland when switching virtual desktops and the system goes to login screen.
Comment 29 Patrick Silva 2019-07-08 14:38:05 UTC
(In reply to Patrick Silva from comment #28)
> the crash also occurs on Wayland when switching virtual desktops and the
> system goes to login screen.

switching desktops while fall apart effect is enabled.
Comment 30 Vlad Zahorodnii 2019-08-09 11:18:55 UTC
*** Bug 410419 has been marked as a duplicate of this bug. ***
Comment 31 Vlad Zahorodnii 2019-10-07 09:34:05 UTC
*** Bug 412634 has been marked as a duplicate of this bug. ***
Comment 32 Vlad Zahorodnii 2019-12-12 15:19:41 UTC
*** Bug 415078 has been marked as a duplicate of this bug. ***
Comment 33 Vlad Zahorodnii 2020-02-17 08:48:14 UTC
*** Bug 417641 has been marked as a duplicate of this bug. ***
Comment 34 David Edmundson 2020-02-18 18:52:27 UTC
*** Bug 417395 has been marked as a duplicate of this bug. ***
Comment 35 Mihaela 2020-02-28 08:01:02 UTC
Could this bug: https://bugs.kde.org/show_bug.cgi?id=418208 be a duplicate?
Comment 36 Vlad Zahorodnii 2020-03-02 08:40:02 UTC
*** Bug 418208 has been marked as a duplicate of this bug. ***
Comment 37 Vlad Zahorodnii 2020-06-11 05:58:55 UTC
*** Bug 422650 has been marked as a duplicate of this bug. ***
Comment 38 Vlad Zahorodnii 2020-10-26 08:40:40 UTC
*** Bug 428076 has been marked as a duplicate of this bug. ***
Comment 39 David Edmundson 2020-12-05 23:22:43 UTC
We haven't had a report on this in 6 months
(the last one was Debian so doesn't count)

It seems like a kwin refactor or a graphic driver patch has inadvertently fixed it.

From our side I think there's nothing we can work on. Closing, but please do reopen if we see dupes.