Summary: | bogus "if (isTransformed())" check asserts in ::makeSubQuads() (debug enabled builds only) | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Victor Tran <vicr12345> |
Component: | compositing | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | ahepas1999, bostonsonoma, brett, bugs.kde.org.vtj1a, ferhad, fizbaum, german.brionest, gwelkind, hackersoft.ru, kde, mathias_fenouil, piral, tristan.moraine, ugotsta, yuberion, z.buildrocks |
Priority: | NOR | Flags: | thomas.luebking:
ReviewRequest+
|
Version: | git master | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
URL: | https://git.reviewboard.kde.org/r/123733/ | ||
See Also: |
https://bugs.kde.org/show_bug.cgi?id=354486 https://bugs.kde.org/show_bug.cgi?id=362567 |
||
Latest Commit: | http://commits.kde.org/kwin/8ba16371e781013cebbc4e9c33d9b00878c051b9 | Version Fixed In: | 5.3.1 |
Sentry Crash Report: |
Description
Victor Tran
2014-09-10 11:19:58 UTC
Sorry, forgot the 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 0x7fbc9d5ff800 (LWP 17428))] Thread 3 (Thread 0x7fbc7f3c7700 (LWP 17434)): #0 0x00007fbc9cf618e3 in select () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007fbc9aebb933 in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timespec const*) () from /opt/project-neon5/lib/libQt5Core.so.5 #2 0x00007fbc9aebd086 in QEventDispatcherUNIX::select(int, fd_set*, fd_set*, fd_set*, timespec*) () from /opt/project-neon5/lib/libQt5Core.so.5 #3 0x00007fbc9aebc830 in QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timespec*) () from /opt/project-neon5/lib/libQt5Core.so.5 #4 0x00007fbc9aebe2af in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/project-neon5/lib/libQt5Core.so.5 #5 0x00007fbc9ae48388 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/project-neon5/lib/libQt5Core.so.5 #6 0x00007fbc9ae48649 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/project-neon5/lib/libQt5Core.so.5 #7 0x00007fbc9abd5b9e in QThread::exec() () from /opt/project-neon5/lib/libQt5Core.so.5 #8 0x00007fbc943b52d5 in ?? () from /opt/project-neon5/lib/libQt5Qml.so.5 #9 0x00007fbc9abdcf17 in ?? () from /opt/project-neon5/lib/libQt5Core.so.5 #10 0x00007fbc934e1182 in start_thread (arg=0x7fbc7f3c7700) at pthread_create.c:312 #11 0x00007fbc9cf69fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 2 (Thread 0x7fbc7c8fa700 (LWP 17437)): #0 0x00007fbc9abd2ad6 in ?? () from /opt/project-neon5/lib/libQt5Core.so.5 #1 0x00007fbc9abd27f2 in ?? () from /opt/project-neon5/lib/libQt5Core.so.5 #2 0x00007fbc9abd2173 in QMutex::unlock() () from /opt/project-neon5/lib/libQt5Core.so.5 #3 0x00007fbc9abb650e in ?? () from /opt/project-neon5/lib/libQt5Core.so.5 #4 0x00007fbc9abb64c8 in ?? () from /opt/project-neon5/lib/libQt5Core.so.5 #5 0x00007fbc9aebe518 in ?? () from /opt/project-neon5/lib/libQt5Core.so.5 #6 0x00007fbc9aebe181 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/project-neon5/lib/libQt5Core.so.5 #7 0x00007fbc9ae48388 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/project-neon5/lib/libQt5Core.so.5 #8 0x00007fbc9ae48649 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/project-neon5/lib/libQt5Core.so.5 #9 0x00007fbc9abd5b9e in QThread::exec() () from /opt/project-neon5/lib/libQt5Core.so.5 #10 0x00007fbc943b52d5 in ?? () from /opt/project-neon5/lib/libQt5Qml.so.5 #11 0x00007fbc9abdcf17 in ?? () from /opt/project-neon5/lib/libQt5Core.so.5 #12 0x00007fbc934e1182 in start_thread (arg=0x7fbc7c8fa700) at pthread_create.c:312 #13 0x00007fbc9cf69fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 1 (Thread 0x7fbc9d5ff800 (LWP 17428)): [KCrash Handler] #6 0x00007fbc9cea5bb9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #7 0x00007fbc9cea8fc8 in __GI_abort () at abort.c:89 #8 0x00007fbc9abca1cc in ?? () from /opt/project-neon5/lib/libQt5Core.so.5 #9 0x00007fbc9abc7cfe in QMessageLogger::fatal(char const*, ...) const () from /opt/project-neon5/lib/libQt5Core.so.5 #10 0x00007fbc9a1a819e in KWin::WindowQuad::makeSubQuad (this=0x3b2b310, x1=434, y1=25.526659674497665, x2=435.23659589961591, y2=40.822059173190894) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/libkwineffects/kwineffects.cpp:873 #11 0x00007fbc9cad52e2 in KWin::SceneOpenGL::Window::beginRenderWindow (this=0x2737a50, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/scene_opengl.cpp:880 #12 0x00007fbc9cad5c44 in KWin::SceneOpenGL2Window::performPaint (this=0x2737a50, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/scene_opengl.cpp:1036 #13 0x00007fbc9cad4526 in KWin::SceneOpenGL2::performPaintWindow (this=0x2b69ea0, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/scene_opengl.cpp:711 #14 0x00007fbc9cad43d5 in KWin::SceneOpenGL2::finalDrawWindow (this=0x2b69ea0, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/scene_opengl.cpp:697 #15 0x00007fbc9caef989 in KWin::EffectsHandlerImpl::drawWindow (this=0x35adf60, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:475 #16 0x00007fbc9a1a52de in KWin::Effect::drawWindow (this=0x37ca860, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/libkwineffects/kwineffects.cpp:546 #17 0x00007fbc9caef91b in KWin::EffectsHandlerImpl::drawWindow (this=0x35adf60, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:472 #18 0x00007fbc99d1d673 in KWin::ContrastEffect::drawWindow (this=0x3361b10, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects/backgroundcontrast/contrast.cpp:345 #19 0x00007fbc9caef91b in KWin::EffectsHandlerImpl::drawWindow (this=0x35adf60, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:472 #20 0x00007fbc99c7632e in KWin::BlurEffect::drawWindow (this=0x2ecde50, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects/blur/blur.cpp:415 #21 0x00007fbc9caef91b in KWin::EffectsHandlerImpl::drawWindow (this=0x35adf60, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:472 #22 0x00007fbc9a1a52de in KWin::Effect::drawWindow (this=0x374ebe0, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/libkwineffects/kwineffects.cpp:546 #23 0x00007fbc9caef91b in KWin::EffectsHandlerImpl::drawWindow (this=0x35adf60, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:472 #24 0x00007fbc9a1a52de in KWin::Effect::drawWindow (this=0x37fb240, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/libkwineffects/kwineffects.cpp:546 #25 0x00007fbc9caef91b in KWin::EffectsHandlerImpl::drawWindow (this=0x35adf60, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:472 #26 0x00007fbc9a1a52de in KWin::Effect::drawWindow (this=0x37e54f0, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/libkwineffects/kwineffects.cpp:546 #27 0x00007fbc9caef91b in KWin::EffectsHandlerImpl::drawWindow (this=0x35adf60, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:472 #28 0x00007fbc9cac197c in KWin::Scene::finalPaintWindow (this=0x2b69ea0, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/scene.cpp:601 #29 0x00007fbc9caef631 in KWin::EffectsHandlerImpl::paintWindow (this=0x35adf60, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:438 #30 0x00007fbc9a1a514e in KWin::Effect::paintWindow (this=0x37ca860, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/libkwineffects/kwineffects.cpp:516 #31 0x00007fbc9caef5d7 in KWin::EffectsHandlerImpl::paintWindow (this=0x35adf60, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:435 #32 0x00007fbc9a1a514e in KWin::Effect::paintWindow (this=0x3361b10, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/libkwineffects/kwineffects.cpp:516 #33 0x00007fbc9caef5d7 in KWin::EffectsHandlerImpl::paintWindow (this=0x35adf60, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:435 #34 0x00007fbc9a1a514e in KWin::Effect::paintWindow (this=0x2ecde50, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/libkwineffects/kwineffects.cpp:516 #35 0x00007fbc9caef5d7 in KWin::EffectsHandlerImpl::paintWindow (this=0x35adf60, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:435 #36 0x00007fbc99c9406d in KWin::CubeSlideEffect::paintWindow (this=0x374ebe0, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects/cube/cubeslide.cpp:347 #37 0x00007fbc9caef5d7 in KWin::EffectsHandlerImpl::paintWindow (this=0x35adf60, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:435 #38 0x00007fbc99ceb59b in KWin::WobblyWindowsEffect::paintWindow (this=0x37fb240, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects/wobblywindows/wobblywindows.cpp:331 #39 0x00007fbc9caef5d7 in KWin::EffectsHandlerImpl::paintWindow (this=0x35adf60, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:435 #40 0x00007fbc9a1a514e in KWin::Effect::paintWindow (this=0x37e54f0, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/libkwineffects/kwineffects.cpp:516 #41 0x00007fbc9caef5d7 in KWin::EffectsHandlerImpl::paintWindow (this=0x35adf60, w=0x32dba80, mask=117, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:435 #42 0x00007fbc9cac06ae in KWin::Scene::paintWindow (this=0x2b69ea0, w=0x2737a50, mask=117, region=..., quads=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/scene.cpp:474 #43 0x00007fbc9cabf213 in KWin::Scene::paintGenericScreen (this=0x2b69ea0, orig_mask=112) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/scene.cpp:240 #44 0x00007fbc9cad4065 in KWin::SceneOpenGL2::paintGenericScreen (this=0x2b69ea0, mask=112, data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/scene_opengl.cpp:649 #45 0x00007fbc9cabed3d in KWin::Scene::finalPaintScreen (this=0x2b69ea0, mask=112, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/scene.cpp:196 #46 0x00007fbc9caef33a in KWin::EffectsHandlerImpl::paintScreen (this=0x35adf60, mask=112, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:395 #47 0x00007fbc99ce8e0d in KWin::WindowGeometry::paintScreen (this=0x37ca860, mask=112, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects/windowgeometry/windowgeometry.cpp:90 #48 0x00007fbc9caef2e7 in KWin::EffectsHandlerImpl::paintScreen (this=0x35adf60, mask=112, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:392 #49 0x00007fbc9a1a5061 in KWin::Effect::paintScreen (this=0x3361b10, mask=112, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/libkwineffects/kwineffects.cpp:501 #50 0x00007fbc9caef2e7 in KWin::EffectsHandlerImpl::paintScreen (this=0x35adf60, mask=112, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:392 #51 0x00007fbc9a1a5061 in KWin::Effect::paintScreen (this=0x2ecde50, mask=112, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/libkwineffects/kwineffects.cpp:501 #52 0x00007fbc9caef2e7 in KWin::EffectsHandlerImpl::paintScreen (this=0x35adf60, mask=112, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:392 #53 0x00007fbc99c92851 in KWin::CubeSlideEffect::paintSlideCube (this=0x374ebe0, mask=112, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects/cube/cubeslide.cpp:176 #54 0x00007fbc99c91deb in KWin::CubeSlideEffect::paintScreen (this=0x374ebe0, mask=112, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects/cube/cubeslide.cpp:87 #55 0x00007fbc9caef2e7 in KWin::EffectsHandlerImpl::paintScreen (this=0x35adf60, mask=112, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:392 #56 0x00007fbc9a1a5061 in KWin::Effect::paintScreen (this=0x37fb240, mask=112, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/libkwineffects/kwineffects.cpp:501 #57 0x00007fbc9caef2e7 in KWin::EffectsHandlerImpl::paintScreen (this=0x35adf60, mask=112, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:392 #58 0x00007fbc9a1a5061 in KWin::Effect::paintScreen (this=0x37e54f0, mask=112, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/libkwineffects/kwineffects.cpp:501 #59 0x00007fbc9caef2e7 in KWin::EffectsHandlerImpl::paintScreen (this=0x35adf60, mask=112, region=..., data=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/effects.cpp:392 #60 0x00007fbc9cabea46 in KWin::Scene::paintScreen (this=0x2b69ea0, mask=0x7fff993af2b8, damage=..., repaint=..., updateRegion=0x7fff993af2d0, validRegion=0x7fff993af2e0) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/scene.cpp:148 #61 0x00007fbc9cad197a in KWin::SceneOpenGL::paint (this=0x2b69ea0, damage=..., toplevels=...) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/scene_opengl.cpp:357 #62 0x00007fbc9cab8665 in KWin::Compositor::performCompositing (this=0x2462420) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/composite.cpp:638 #63 0x00007fbc9cab7f98 in KWin::Compositor::timerEvent (this=0x2462420, te=0x7fff993afa60) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/composite.cpp:557 #64 0x00007fbc9ae86ab0 in QObject::event(QEvent*) () from /opt/project-neon5/lib/libQt5Core.so.5 #65 0x00007fbc9baa00d0 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /opt/project-neon5/lib/libQt5Widgets.so.5 #66 0x00007fbc9ba9d718 in QApplication::notify(QObject*, QEvent*) () from /opt/project-neon5/lib/libQt5Widgets.so.5 #67 0x00007fbc9ca5242a in KWin::Application::notify (this=0x7fff993afd50, o=0x2462420, e=0x7fff993afa60) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/main.cpp:228 #68 0x00007fbc9ae4b650 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /opt/project-neon5/lib/libQt5Core.so.5 #69 0x00007fbc9ae4f1dd in QCoreApplication::sendEvent(QObject*, QEvent*) () from /opt/project-neon5/lib/libQt5Core.so.5 #70 0x00007fbc9aec0044 in QTimerInfoList::activateTimers() () from /opt/project-neon5/lib/libQt5Core.so.5 #71 0x00007fbc9aebdf75 in QEventDispatcherUNIX::activateTimers() () from /opt/project-neon5/lib/libQt5Core.so.5 #72 0x00007fbc9aebe2e2 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/project-neon5/lib/libQt5Core.so.5 #73 0x00007fbc872ddb94 in ?? () from /opt/project-neon5/plugins/platforms/libqxcb.so #74 0x00007fbc9ae48388 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/project-neon5/lib/libQt5Core.so.5 #75 0x00007fbc9ae48649 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/project-neon5/lib/libQt5Core.so.5 #76 0x00007fbc9ae4bd08 in QCoreApplication::exec() () from /opt/project-neon5/lib/libQt5Core.so.5 #77 0x00007fbc9b232938 in QGuiApplication::exec() () from /opt/project-neon5/lib/libQt5Gui.so.5 #78 0x00007fbc9ba9cf39 in QApplication::exec() () from /opt/project-neon5/lib/libQt5Widgets.so.5 #79 0x00007fbc9d239ca7 in kdemain (argc=3, argv=0x7fff993afe98) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/main_x11.cpp:294 #80 0x00000000004009ff in main (argc=3, argv=0x7fff993afe98) at /build/buildd/project-neon5-kwin-0.0+git20140910.0311+neon4~1b091a0~14.04/obj-x86_64-linux-gnu/kwin_x11_dummy.cpp:3 I also see this crash and it will happen every time. To recreate: 1. Have Desktop Effect on. 2. Enable edge switching 3. Drag a window from one desktop to the next. 4. kwin crashes The assert is wrong. It broke with --------------------- commit cd82616ecebd66b59d22915847137536c02cc7e4 Author: Martin Gräßlin <mgraesslin@kde.org> Date: Sun Jun 26 12:01:13 2011 +0200 Remove PaintClipper from OpenGL Scene rendering Construct window quads which will end on the screen instead of rendering the windows several times and using scissoring to restrict to the area which will end on screen. REVIEW: 101765 ------------ which introduced (for good reason) makeSubQuads() in beginRenderWindow() It usually just doesn't crash because kwin is usually not compiled debug enabled - apparently not even by the maintainer ;-P The if (isTransformed()) check is not bogus. The makeSubQuad() implementation assumes that the original quad is a rectangle. It's the error message that's wrong. Thus commit cd82616ecebd66b59d22915847137536c02cc7e4 needs to be reverted or ::makeSubQuads() at al. extended to handle non-square cases? However, the check seems überstrict - !::isRectangle() should be sufficient(?) bool WindowQuad::isRetangle() { return verts[0].px == verts[1].px && verts[1].py == verts[2].py && verts[2].px == verts[3].px && verts[3].py == verts[0].py; } It can be extended to handle non-square cases as long as the sub quad is completely contained inside the original quad. Otherwise the resulting primitive won't be a quad. The only cases where a transformed quad is a still a rectangle is when it's been scaled or translated, so I don't think relaxing the check will help much. Is there any update on this one? I'd like to continue testing but find this problem a show stopper for me during normal use. Thanks Brett "Hotfix" diff --git a/libkwineffects/kwineffects.cpp b/libkwineffects/kwineffects.cpp index cb4dc29..81dac8e 100644 --- a/libkwineffects/kwineffects.cpp +++ b/libkwineffects/kwineffects.cpp @@ -868,7 +868,7 @@ EffectWindowGroup::~EffectWindowGroup() WindowQuad WindowQuad::makeSubQuad(double x1, double y1, double x2, double y2) const { assert(x1 < x2 && y1 < y2 && x1 >= left() && x2 <= right() && y1 >= top() && y2 <= bottom()); -#ifndef NDEBUG +#if 0 // bug #338972 if (isTransformed()) qFatal("Splitting quads is allowed only in pre-paint calls!"); #endif --------------------- Please notice that the very same problem has existed in KDE4 for ages - you're only running into this for the debug enabled build, so while the hotfix doesn't actually address the problem, it does neither cause/shadow a regression. KWin just won't abort to tell you about the problem. =========================== Findings on the actual issue: Martin's original patch actually avoided subquadding for PAINT_WINDOW_TRANSFORMED. This was later hardened to also require a partial paint if (region != infiniteRegion() && !(mask & PAINT_WINDOW_TRANSFORMED)) { then altered to - if (region != infiniteRegion() && !(mask & PAINT_WINDOW_TRANSFORMED)) { + bool hardwareClipping = region != infiniteRegion() && (mask & PAINT_WINDOW_TRANSFORMED); + if (region != infiniteRegion() && !hardwareClipping) { with commit 05a8777e and ultimately weakened: commit 466bef3a6d1dc7db02da050042dad059985a3526 Author: Martin Gräßlin <mgraesslin@kde.org> Date: Thu Mar 29 20:17:57 2012 +0200 Adding a DesktopThumbnailItem declarative item Similar to WindowThumbnailItem for rendering a desktop thumbnail. Uses the new paintDesktop hook. FEATURE: 296067 FIXED-IN: 4.11.0 REVIEW: 104441 - bool hardwareClipping = region != infiniteRegion() && (mask & PAINT_WINDOW_TRANSFORMED); + bool hardwareClipping = region != infiniteRegion() && (mask & PAINT_WINDOW_TRANSFORMED) && !(mask & PAINT_SCREEN_TRANSFORMED); if (region != infiniteRegion() && !hardwareClipping) { The implication is that for "PAINT_SCREEN_TRANSFORMED", hardwareClipping is skipped and whenever that goes with a partial repaint, we cause subquadding on evtl. PAINT_WINDOW_TRANSFORMED. Since we can easily fail on "sub quad is completely contained inside the original quad" (eg. when a window is flipped/rotated - the problematic clipping code operates on the logic coordinates left/right/top/bottom), we might have to specify the subquadding condition? *** Bug 345582 has been marked as a duplicate of this bug. *** kwin didn't crash with woobly windows when the animation of switching virtual desktops is "fade in/fade out" (Arbeitsfläche aus-/einblenden). kubuntu (5:84ubuntu4) utopic kwin 4:5.2.0-0ubuntu1~ubuntu14.10~ppa1 *** Bug 346273 has been marked as a duplicate of this bug. *** *** Bug 346531 has been marked as a duplicate of this bug. *** Confirmed wobbly windows + fade does not crash. Wobbly windows + desktop cube/slide does. Fresh install, Kubunutu 15.04 *** Bug 346654 has been marked as a duplicate of this bug. *** *** Bug 346872 has been marked as a duplicate of this bug. *** *** Bug 346856 has been marked as a duplicate of this bug. *** *** Bug 346959 has been marked as a duplicate of this bug. *** *** Bug 347213 has been marked as a duplicate of this bug. *** *** Bug 347144 has been marked as a duplicate of this bug. *** Is this bug going to be fixed or is it considered just a side effect of running in debug mode? I'm OK with either answer. (In reply to Brett from comment #20) > Is this bug going to be fixed Ideally we'll fix it :-) > or is it considered just a side effect of > running in debug mode? I'm OK with either answer. It is a side effect of a debug build. I noticed Kubuntu packagers a few days ago to have them look into it. *** Bug 347396 has been marked as a duplicate of this bug. *** *** Bug 347440 has been marked as a duplicate of this bug. *** I think I understand the problem: it only happens if wobbly windows and cube slide are enabled. Wobbly transforms the vertices, cube slide performs a split later. Both are in prePaint calls so all should be correct, but due to wobbly having transformed the vertices we get quad.isTransformed() to return true and thus aborting. Unfortunately I don't see a straight forward way to fix it: a) remove check b) ensure cube slide operates before wobbly c) introduce a grab role for window moving and block cube slide in that case nope - see comment #3, #5 & #8, also the backtrace in comment #1 - makeSubQuad() is actually called from the painting pass. The problematic constellation is that indeed the wobblannoyance transforms the quads (but in the painting pass, the prepaint pass only performs a split) and then the painting of the transformed screen is "scissored" by (now) subquadding. Bang. Assertion violated. That's why I called the assert bogus - though it's rather the comment. SubQuadding in the paint pass is actually a valid (and common) usecase. A possible solution (other that simply ignoring the "violation" and not aborting) for the *particular* case could be to stall the wobblannoyance if (mask & PAINT_SCREEN_TRANSFORMED) ?! (gotta test ;-) Git commit 82e0601af97c508580e255759064c25fb02c276d by Thomas Lübking. Committed on 15/05/2015 at 20:02. Pushed by luebking into branch 'Plasma/5.3'. stall wobbling while screen is transformed transformed screens prevent hardware clipping leading through filtering subquads This requires to subquad in the painting pass what is not supported for non rectangular qauds ands presently aborts (in debug builds) if any quad is transformed (as by eg. the wobbling) REVIEW: 123733 M +1 -1 effects/wobblywindows/wobblywindows.cpp http://commits.kde.org/kwin/82e0601af97c508580e255759064c25fb02c276d Git commit 8ba16371e781013cebbc4e9c33d9b00878c051b9 by Thomas Lübking. Committed on 15/05/2015 at 21:55. Pushed by luebking into branch 'master'. stall wobbling while screen is transformed transformed screens prevent hardware clipping leading through filtering subquads This requires to subquad in the painting pass what is not supported for non rectangular qauds ands presently aborts (in debug builds) if any quad is transformed (as by eg. the wobbling) REVIEW: 123733 M +1 -1 effects/wobblywindows/wobblywindows.cpp http://commits.kde.org/kwin/8ba16371e781013cebbc4e9c33d9b00878c051b9 *** Bug 347580 has been marked as a duplicate of this bug. *** *** Bug 348793 has been marked as a duplicate of this bug. *** Bug 348793 is from kwin 5.3.1. *** Bug 350726 has been marked as a duplicate of this bug. *** *** Bug 351044 has been marked as a duplicate of this bug. *** *** Bug 353057 has been marked as a duplicate of this bug. *** *** Bug 355096 has been marked as a duplicate of this bug. *** |