ngraham requested changes to this revision. ngraham added a comment. This revision now requires changes to proceed.
Now all of my QtWidgets apps are crashing with a backtrace like this one: Application: Spectacle (spectacle), signal: Segmentation fault Using host libthread_db library "/lib64/libthread_db.so.1". 29 return SYSCALL_CANCEL (poll, fds, nfds, timeout); [Current thread is 1 (Thread 0x7f4a76a76800 (LWP 22804))] Thread 1 (Thread 0x7f4a76a76800 (LWP 22804)): [KCrash Handler] #6 QRasterPaintEngine::transformChanged (this=0x7f4a700076c0) at painting/qpaintengine_raster.cpp:941 #7 0x00007f4a795f4e5a in QPainterPrivate::updateMatrix (this=0x7ffdb8f85530, this@entry=0x5628c5e23790) at painting/qpainter.cpp:664 #8 0x00007f4a795f7e31 in QPainter::setWorldTransform (this=this@entry=0x7ffdb8f85660, matrix=..., combine=combine@entry=false) at painting/qpainter.cpp:8389 #9 0x00007f4a79f6c7a6 in QGraphicsDropShadowEffect::draw (this=<optimized out>, painter=0x7ffdb8f85660) at effects/qgraphicseffect.cpp:1067 #10 0x00007f4a79c09f8e in QWidgetPrivate::drawWidget (this=0x5628c5b48b60, pdev=0x5628c5cbb720, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5628c5c8dbb0) at kernel/qwidget.cpp:5301 #11 0x00007f4a79c0a883 in QWidgetPrivate::paintSiblingsRecursive (this=0x5628c5ae4910, pdev=0x5628c5cbb720, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5628c5c8dbb0) at ../../include/QtCore/../../src/corelib/tools/qpoint.h:124 #12 0x00007f4a79c0a766 in QWidgetPrivate::paintSiblingsRecursive (this=0x5628c5ae4910, pdev=0x5628c5cbb720, siblings=..., index=0, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5628c5c8dbb0) at kernel/qwidget.cpp:5589 #13 0x00007f4a79c0a766 in QWidgetPrivate::paintSiblingsRecursive (this=0x5628c5ae4910, pdev=0x5628c5cbb720, siblings=..., index=1, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5628c5c8dbb0) at kernel/qwidget.cpp:5589 #14 0x00007f4a79c0a766 in QWidgetPrivate::paintSiblingsRecursive (this=0x5628c5ae4910, pdev=0x5628c5cbb720, siblings=..., index=2, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5628c5c8dbb0) at kernel/qwidget.cpp:5589 #15 0x00007f4a79c0a766 in QWidgetPrivate::paintSiblingsRecursive (this=0x5628c5ae4910, pdev=0x5628c5cbb720, siblings=..., index=3, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5628c5c8dbb0) at kernel/qwidget.cpp:5589 #16 0x00007f4a79c0a766 in QWidgetPrivate::paintSiblingsRecursive (this=0x5628c5ae4910, pdev=0x5628c5cbb720, siblings=..., index=4, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5628c5c8dbb0) at kernel/qwidget.cpp:5589 #17 0x00007f4a79c0a766 in QWidgetPrivate::paintSiblingsRecursive (this=0x5628c5ae4910, pdev=0x5628c5cbb720, siblings=..., index=5, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5628c5c8dbb0) at kernel/qwidget.cpp:5589 #18 0x00007f4a79c0a766 in QWidgetPrivate::paintSiblingsRecursive (this=0x5628c5ae4910, pdev=0x5628c5cbb720, siblings=..., index=6, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5628c5c8dbb0) at kernel/qwidget.cpp:5589 #19 0x00007f4a79c0a766 in QWidgetPrivate::paintSiblingsRecursive (this=0x5628c5ae4910, pdev=0x5628c5cbb720, siblings=..., index=7, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5628c5c8dbb0) at kernel/qwidget.cpp:5589 #20 0x00007f4a79c0a766 in QWidgetPrivate::paintSiblingsRecursive (this=0x5628c5ae4910, pdev=0x5628c5cbb720, siblings=..., index=8, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5628c5c8dbb0) at kernel/qwidget.cpp:5589 #21 0x00007f4a79c0a766 in QWidgetPrivate::paintSiblingsRecursive (this=0x5628c5ae4910, pdev=0x5628c5cbb720, siblings=..., index=11, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5628c5c8dbb0) at kernel/qwidget.cpp:5589 #22 0x00007f4a79c0a766 in QWidgetPrivate::paintSiblingsRecursive (this=0x5628c5ae4910, pdev=0x5628c5cbb720, siblings=..., index=13, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5628c5c8dbb0) at kernel/qwidget.cpp:5589 #23 0x00007f4a79c0a766 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x5628c5ae4910, pdev=pdev@entry=0x5628c5cbb720, siblings=..., index=14, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5628c5c8dbb0) at kernel/qwidget.cpp:5589 #24 0x00007f4a79c0919c in QWidgetPrivate::drawWidget (this=0x5628c5ae4910, pdev=0x5628c5cbb720, rgn=..., offset=..., flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qlist.h:176 #25 0x00007f4a79c0a883 in QWidgetPrivate::paintSiblingsRecursive (this=0x5628c5b786d0, pdev=0x5628c5cbb720, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5628c5c8dbb0) at ../../include/QtCore/../../src/corelib/tools/qpoint.h:124 #26 0x00007f4a79c0a766 in QWidgetPrivate::paintSiblingsRecursive (this=0x5628c5b786d0, pdev=0x5628c5cbb720, siblings=..., index=0, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5628c5c8dbb0) at kernel/qwidget.cpp:5589 #27 0x00007f4a79c0a766 in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x5628c5b786d0, pdev=pdev@entry=0x5628c5cbb720, siblings=..., index=1, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x5628c5c8dbb0) at kernel/qwidget.cpp:5589 #28 0x00007f4a79c0919c in QWidgetPrivate::drawWidget (this=this@entry=0x5628c5b786d0, pdev=0x5628c5cbb720, rgn=..., offset=..., flags=..., flags@entry=..., sharedPainter=sharedPainter@entry=0x0, repaintManager=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qlist.h:176 #29 0x00007f4a79be08a9 in QWidgetRepaintManager::paintAndFlush (this=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qpoint.h:122 #30 0x00007f4a79be119e in QWidgetRepaintManager::sync (this=0x5628c5c8dbb0, exposedWidget=0x5628c5b48910, exposedRegion=...) at kernel/qwidgetrepaintmanager.cpp:749 #31 0x00007f4a79c2dbb4 in QWidgetWindow::handleExposeEvent (this=<optimized out>, event=0x7ffdb8f872f0) at ../../include/QtGui/../../src/gui/kernel/qevent.h:468 #32 0x00007f4a79c2e778 in QWidgetWindow::event (event=0x7ffdb8f872f0, this=0x5628c5cbd190) at kernel/qwidgetwindow.cpp:342 #33 QWidgetWindow::event (this=0x5628c5cbd190, event=0x7ffdb8f872f0) at kernel/qwidgetwindow.cpp:238 #34 0x00007f4a79bcdcaf in QApplicationPrivate::notify_helper (this=this@entry=0x5628c5a03af0, receiver=receiver@entry=0x5628c5cbd190, e=e@entry=0x7ffdb8f872f0) at kernel/qapplication.cpp:3684 #35 0x00007f4a79bd6df0 in QApplication::notify (this=0x7ffdb8f87a90, receiver=0x5628c5cbd190, e=0x7ffdb8f872f0) at kernel/qapplication.cpp:3430 #36 0x00007f4a78f20002 in QCoreApplication::notifyInternal2 (receiver=0x5628c5cbd190, event=0x7ffdb8f872f0) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:153 #37 0x00007f4a7933a83f in QGuiApplicationPrivate::processExposeEvent (e=0x5628c5c42ff0) at kernel/qguiapplication.cpp:3188 #38 0x00007f4a7933aa6b in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x5628c5c42ff0) at kernel/qguiapplication.cpp:2009 #39 0x00007f4a7931453b in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1163 #40 0x00007f4a74bc1a6a in xcbSourceDispatch (source=source@entry=0x5628c5ac7c80) at qxcbeventdispatcher.cpp:105 #41 0x00007f4a77421048 in g_main_dispatch (context=0x7f4a70005000) at ../glib/gmain.c:3216 #42 g_main_context_dispatch (context=context@entry=0x7f4a70005000) at ../glib/gmain.c:3881 #43 0x00007f4a774213d0 in g_main_context_iterate (context=context@entry=0x7f4a70005000, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3954 #44 0x00007f4a7742145f in g_main_context_iteration (context=0x7f4a70005000, may_block=may_block@entry=1) at ../glib/gmain.c:4015 #45 0x00007f4a78f76bee in QEventDispatcherGlib::processEvents (this=0x5628c5ad26f0, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #46 0x00007f4a78f1eb9b in QEventLoop::exec (this=this@entry=0x7ffdb8f875d0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:136 #47 0x00007f4a78f26972 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:118 #48 0x00005628c5925bbb in ?? () #49 0x00007f4a7aa10ceb in __libc_start_main (main=0x5628c5923d90, argc=1, argv=0x7ffdb8f87da8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffdb8f87d98) at ../csu/libc-start.c:308 #50 0x00005628c592631a in ?? () [Inferior 1 (process 22804) detached] It only happens when I'm running with this patch. REPOSITORY R31 Breeze REVISION DETAIL https://phabricator.kde.org/D27669 To: cblack, #plasma, #breeze, #vdg, hpereiradacosta, davidre, ngraham Cc: maartens, abstractdevelop, IlyaBizyaev, davidre, davidedmundson, hpereiradacosta, ngraham, manueljlin, niccolove, ndavis, plasma-devel, Orage, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, ragreen, ZrenBot, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart