| Summary: | Coverswitch crashes when a window is closed | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | George Goldberg <grundleborg> |
| Component: | compositing | Assignee: | KWin default assignee <kwin-bugs-null> |
| Status: | RESOLVED WORKSFORME | ||
| Severity: | crash | CC: | andresbajotierra |
| Priority: | NOR | Keywords: | investigated, triaged |
| Version First Reported In: | CVS | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
SVN commit 919007 by graesslin: Only clear QLists when they are empty. Prevents crashes. BUG: 182358 M +4 -2 coverswitch.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=919007 SVN commit 919009 by graesslin: Backport (rev 919007): Only clear QLists when they are empty. Prevents crashes. CCBUG: 182358 M +4 -2 coverswitch.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=919009 Reopen bug. It does not solve the problem. It seems like a window is closed while the effect is running. That's kind of a general problem appearing in several effects. SVN commit 919075 by graesslin: Abort effect if the current tab box window is deleted and the tabbox is empty afterwards. This hopefully resolves the crashes when a window is closed during active effect. At least I was not able to reproduce a crash anymore. If further testing shows that it resolves the problem the patch will be backported to branch and to other window switching effects showing the same problem. CCBUG: 182358 M +19 -0 coverswitch.cpp M +1 -0 coverswitch.h WebSVN link: http://websvn.kde.org/?view=rev&revision=919075 @George: could you please test if the commit solves the problem for you? If yes I would backport to 4.2 branch. Marking as NEEDSINFO Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone! This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone! |
I've had KWin randomly crash with desktop effects on a couple of times with this backtrace. Unfortunately, I have no idea what triggered it, so am not able to give instructions to reproduce at the moment. Hopefully this bug report may still come in useful though... I'm on svn trunk r914687 (approx 21/1/2009). Application: KWin (kwin), signal SIGABRT Using host libthread_db library "/lib64/libthread_db.so.1". [New Thread 47218686323600 (LWP 10438)] 0x00002af1f20c3060 in nanosleep () from /lib64/libc.so.6 [Current thread is 0 (process 10438)] Thread 1 (Thread 47218686323600 (LWP 10438)): [KCrash Handler] #5 0x00002af1f2059a55 in raise () from /lib64/libc.so.6 #6 0x00002af1f205b1e0 in abort () from /lib64/libc.so.6 #7 0x00002af1ef03d17c in qt_message_output (msgType=QtFatalMsg, buf=0xc89098 "ASSERT failure in QList<T>::operator[]: \"index out of range\", file /opt/qt-copy/include/QtCore/qlist.h, line 398") at global/qglobal.cpp:1993 #8 0x00002af1ef03d2a6 in qFatal (msg=0x2af1ef191458 "ASSERT failure in %s: \"%s\", file %s, line %d") at global/qglobal.cpp:2188 #9 0x00002af1ef03d2fa in qt_assert_x (where=0x2af1f750b842 "QList<T>::operator[]", what=0x2af1f750b82f "index out of range", file=0x2af1f750b800 "/opt/qt-copy/include/QtCore/qlist.h", line=398) at global/qglobal.cpp:1772 #10 0x00002af1f74a515e in QList<KWin::EffectWindow*>::operator[] (this=0x7fffbe2d8070, i=-1) at /opt/qt-copy/include/QtCore/qlist.h:398 #11 0x00002af1f74e4d21 in KWin::CoverSwitchEffect::paintScreen (this=0x7ec420, mask=32, region=@0x7fffbe2d82e0, data=@0x7fffbe2d8dd0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/effects/coverswitch.cpp:203 #12 0x00002af1eca8f995 in KWin::EffectsHandlerImpl::paintScreen (this=0x7a0f70, mask=32, region=@0x7fffbe2d8430, data=@0x7fffbe2d8dd0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/effects.cpp:121 #13 0x00002af1f74a9834 in KWin::DesktopGridEffect::paintScreen (this=0x83c780, mask=32, region=@0x7fffbe2d84f0, data=@0x7fffbe2d8dd0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/effects/desktopgrid.cpp:122 #14 0x00002af1eca8f995 in KWin::EffectsHandlerImpl::paintScreen (this=0x7a0f70, mask=32, region=@0x7fffbe2d8550, data=@0x7fffbe2d8dd0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/effects.cpp:121 #15 0x00002af1ecf0547e in KWin::Effect::paintScreen (this=0x82b3e0, mask=32, region=@0x7fffbe2d85a0, data=@0x7fffbe2d8dd0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/lib/kwineffects.cpp:199 #16 0x00002af1eca8f995 in KWin::EffectsHandlerImpl::paintScreen (this=0x7a0f70, mask=32, region=@0x7fffbe2d8900, data=@0x7fffbe2d8dd0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/effects.cpp:121 #17 0x00002af1f74f0c6d in KWin::CubeEffect::paintScreen (this=0x8208e0, mask=32, region=@0x7fffbe2d89a0, data=@0x7fffbe2d8dd0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/effects/cube.cpp:407 #18 0x00002af1eca8f995 in KWin::EffectsHandlerImpl::paintScreen (this=0x7a0f70, mask=32, region=@0x7fffbe2d8a00, data=@0x7fffbe2d8dd0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/effects.cpp:121 #19 0x00002af1ecf0547e in KWin::Effect::paintScreen (this=0x7fb7d0, mask=32, region=@0x7fffbe2d8a50, data=@0x7fffbe2d8dd0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/lib/kwineffects.cpp:199 #20 0x00002af1eca8f995 in KWin::EffectsHandlerImpl::paintScreen (this=0x7a0f70, mask=32, region=@0x7fffbe2d8ab0, data=@0x7fffbe2d8dd0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/effects.cpp:121 #21 0x00002af1ecf0547e in KWin::Effect::paintScreen (this=0x8216e0, mask=32, region=@0x7fffbe2d8b00, data=@0x7fffbe2d8dd0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/lib/kwineffects.cpp:199 #22 0x00002af1eca8f995 in KWin::EffectsHandlerImpl::paintScreen (this=0x7a0f70, mask=32, region=@0x7fffbe2d8b80, data=@0x7fffbe2d8dd0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/effects.cpp:121 #23 0x00002af1f7503942 in KWin::TrackMouseEffect::paintScreen (this=0x808080, mask=32, region=@0x7fffbe2d8be0, data=@0x7fffbe2d8dd0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/effects/trackmouse.cpp:69 #24 0x00002af1eca8f995 in KWin::EffectsHandlerImpl::paintScreen (this=0x7a0f70, mask=32, region=@0x7fffbe2d8c50, data=@0x7fffbe2d8dd0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/effects.cpp:121 #25 0x00002af1f74da26f in KWin::ZoomEffect::paintScreen (this=0x81d960, mask=32, region=@0x7fffbe2d8ca0, data=@0x7fffbe2d8dd0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/effects/zoom.cpp:72 #26 0x00002af1eca8f995 in KWin::EffectsHandlerImpl::paintScreen (this=0x7a0f70, mask=32, region=@0x7fffbe2d8d00, data=@0x7fffbe2d8dd0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/effects.cpp:121 #27 0x00002af1ecf0547e in KWin::Effect::paintScreen (this=0x82eca0, mask=32, region=@0x7fffbe2d8d50, data=@0x7fffbe2d8dd0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/lib/kwineffects.cpp:199 #28 0x00002af1eca8f995 in KWin::EffectsHandlerImpl::paintScreen (this=0x7a0f70, mask=32, region=@0x7fffbe2d8e90, data=@0x7fffbe2d8dd0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/effects.cpp:121 #29 0x00002af1eca7bead in KWin::Scene::paintScreen (this=0x79ee00, mask=0x7fffbe2d8f24, region=0x7fffbe2d90e0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/scene.cpp:133 #30 0x00002af1eca86286 in KWin::SceneOpenGL::paint (this=0x79ee00, damage=@0x7fffbe2d90e0, toplevels=@0x7fffbe2d90d0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/scene_opengl.cpp:724 #31 0x00002af1eca751b3 in KWin::Workspace::performCompositing (this=0x754bc0) at /home/george/kde/src/KDE/kdebase/workspace/kwin/composite.cpp:386 #32 0x00002af1eca0e7ad in KWin::Workspace::qt_metacall (this=0x754bc0, _c=QMetaObject::InvokeMetaMethod, _id=140, _a=0x7fffbe2d91e0) at /home/george/kde/build/KDE/kdebase/workspace/kwin/workspace.moc:444 #33 0x00002af1ef151023 in QMetaObject::activate (sender=0x754fc8, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3052 #34 0x00002af1ef1523fb in QMetaObject::activate (sender=0x754fc8, m=0x2af1ef44e640, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3127 #35 0x00002af1ef18ffe8 in QTimer::timeout (this=0x754fc8) at .moc/debug-shared/moc_qtimer.cpp:128 #36 0x00002af1ef159eac in QTimer::timerEvent (this=0x754fc8, e=0x7fffbe2d9b70) at kernel/qtimer.cpp:256 #37 0x00002af1ef14edb8 in QObject::event (this=0x754fc8, e=0x7fffbe2d9b70) at kernel/qobject.cpp:1069 #38 0x00002af1ee26f667 in QApplicationPrivate::notify_helper (this=0x61e0e0, receiver=0x754fc8, e=0x7fffbe2d9b70) at kernel/qapplication.cpp:3979 #39 0x00002af1ee26f9cd in QApplication::notify (this=0x7fffbe2d9f70, receiver=0x754fc8, e=0x7fffbe2d9b70) at kernel/qapplication.cpp:3526 #40 0x00002af1ed32d6db in KApplication::notify (this=0x7fffbe2d9f70, receiver=0x754fc8, event=0x7fffbe2d9b70) at /home/george/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:307 #41 0x00002af1eca2cadd in KWin::Application::notify (this=0x7fffbe2d9f70, o=0x754fc8, e=0x7fffbe2d9b70) at /home/george/kde/src/KDE/kdebase/workspace/kwin/main.cpp:368 #42 0x00002af1ef13a818 in QCoreApplication::notifyInternal (this=0x7fffbe2d9f70, receiver=0x754fc8, event=0x7fffbe2d9b70) at kernel/qcoreapplication.cpp:586 #43 0x00002af1ee26c3e5 in QCoreApplication::sendEvent (receiver=0x754fc8, event=0x7fffbe2d9b70) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:208 #44 0x00002af1ef16d063 in QTimerInfoList::activateTimers (this=0x621950) at kernel/qeventdispatcher_unix.cpp:567 #45 0x00002af1ef16a72d in timerSourceDispatch (source=0x6218f0) at kernel/qeventdispatcher_glib.cpp:159 #46 0x00002af1f404ce92 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #47 0x00002af1f4050146 in ?? () from /usr/lib64/libglib-2.0.so.0 #48 0x00002af1f40505df in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #49 0x00002af1ef169994 in QEventDispatcherGlib::processEvents (this=0x6093e0, flags=@0x7fffbe2d9db0) at kernel/qeventdispatcher_glib.cpp:318 #50 0x00002af1ee317f37 in QGuiEventDispatcherGlib::processEvents (this=0x6093e0, flags=@0x7fffbe2d9e10) at kernel/qguieventdispatcher_glib.cpp:197 #51 0x00002af1ef137964 in QEventLoop::processEvents (this=0x7fffbe2d9ed0, flags=@0x7fffbe2d9e70) at kernel/qeventloop.cpp:144 #52 0x00002af1ef137b72 in QEventLoop::exec (this=0x7fffbe2d9ed0, flags=@0x7fffbe2d9ee0) at kernel/qeventloop.cpp:191 #53 0x00002af1ef13b048 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:868 #54 0x00002af1ee26f3c8 in QApplication::exec () at kernel/qapplication.cpp:3454 #55 0x00002af1eca2e22c in kdemain (argc=3, argv=0x7fffbe2da478) at /home/george/kde/src/KDE/kdebase/workspace/kwin/main.cpp:519 #56 0x0000000000400863 in main (argc=3, argv=0x7fffbe2da478) at /home/george/kde/build/KDE/kdebase/workspace/kwin/kwin_dummy.cpp:3