Application: kwin (4.4.92 (KDE 4.4.92 (KDE 4.5 RC2))) KDE Platform Version: 4.4.92 (KDE 4.4.92 (KDE 4.5 RC2)) Qt Version: 4.6.3 Operating System: Linux 2.6.34-gentoo x86_64 Distribution (Platform): Gentoo Packages -- Information about the crash: - What I was doing when the application crashed: # Switched from workspace 1 to workspace 2 # Moved the mousepointer back to the upper right corner to switch again to workspace #1 - Unusual behavior I noticed: # When moving the mousepointer to the corner, suddenly everything was stuck for a moment, then kwin crashed and produced this backtrace. The crash does not seem to be reproducible. -- Backtrace: Application: KWin (kwin), signal: Segmentation fault Traceback (most recent call last): File "/usr/share/gdb/auto-load/usr/lib64/libgobject-2.0.so.0.2200.5-gdb.py", line 9, in <module> from gobject import register File "/usr/share/glib-2.0/gdb/gobject.py", line 3, in <module> import gdb.backtrace ImportError: No module named backtrace [KCrash Handler] #6 0x00007ff895a8bd36 in KWin::DesktopGridEffect::finish() () from /usr/lib64/kde4/kwin4_effect_builtins.so #7 0x00007ff895a8efd0 in KWin::DesktopGridEffect::prePaintScreen(KWin::ScreenPrePaintData&, int) () from /usr/lib64/kde4/kwin4_effect_builtins.so #8 0x00007ff8aca025d3 in KWin::EffectsHandlerImpl::prePaintScreen(KWin::ScreenPrePaintData&, int) () from /usr/lib/libkdeinit4_kwin.so #9 0x00007ff895a999b2 in KWin::FadeDesktopEffect::prePaintScreen(KWin::ScreenPrePaintData&, int) () from /usr/lib64/kde4/kwin4_effect_builtins.so #10 0x00007ff8aca025d3 in KWin::EffectsHandlerImpl::prePaintScreen(KWin::ScreenPrePaintData&, int) () from /usr/lib/libkdeinit4_kwin.so #11 0x00007ff8aca025d3 in KWin::EffectsHandlerImpl::prePaintScreen(KWin::ScreenPrePaintData&, int) () from /usr/lib/libkdeinit4_kwin.so #12 0x00007ff8aca025d3 in KWin::EffectsHandlerImpl::prePaintScreen(KWin::ScreenPrePaintData&, int) () from /usr/lib/libkdeinit4_kwin.so #13 0x00007ff8aca025d3 in KWin::EffectsHandlerImpl::prePaintScreen(KWin::ScreenPrePaintData&, int) () from /usr/lib/libkdeinit4_kwin.so #14 0x00007ff8aca025d3 in KWin::EffectsHandlerImpl::prePaintScreen(KWin::ScreenPrePaintData&, int) () from /usr/lib/libkdeinit4_kwin.so #15 0x00007ff8aca025d3 in KWin::EffectsHandlerImpl::prePaintScreen(KWin::ScreenPrePaintData&, int) () from /usr/lib/libkdeinit4_kwin.so #16 0x00007ff895a9d181 in KWin::LoginEffect::prePaintScreen(KWin::ScreenPrePaintData&, int) () from /usr/lib64/kde4/kwin4_effect_builtins.so #17 0x00007ff8aca025d3 in KWin::EffectsHandlerImpl::prePaintScreen(KWin::ScreenPrePaintData&, int) () from /usr/lib/libkdeinit4_kwin.so #18 0x00007ff8aca025d3 in KWin::EffectsHandlerImpl::prePaintScreen(KWin::ScreenPrePaintData&, int) () from /usr/lib/libkdeinit4_kwin.so #19 0x00007ff8aca025d3 in KWin::EffectsHandlerImpl::prePaintScreen(KWin::ScreenPrePaintData&, int) () from /usr/lib/libkdeinit4_kwin.so #20 0x00007ff8ac9ec646 in KWin::Scene::paintScreen(int*, QRegion*) () from /usr/lib/libkdeinit4_kwin.so #21 0x00007ff8ac9fc0cf in KWin::SceneOpenGL::paint(QRegion, QList<KWin::Toplevel*>) () from /usr/lib/libkdeinit4_kwin.so #22 0x00007ff8ac9e8be7 in KWin::Workspace::performCompositing() () from /usr/lib/libkdeinit4_kwin.so #23 0x00007ff8ac97402a in KWin::Workspace::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdeinit4_kwin.so #24 0x00007ff8a8387f24 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4 #25 0x00007ff8a838496c in QObject::event(QEvent*) () from /usr/lib64/qt4/libQtCore.so.4 #26 0x00007ff8a8f72486 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4 #27 0x00007ff8a8f78f44 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4 #28 0x00007ff8ac1df1b4 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5 #29 0x00007ff8a8376464 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4 #30 0x00007ff8a839f80e in QTimerInfoList::activateTimers() () from /usr/lib64/qt4/libQtCore.so.4 #31 0x00007ff8a839f9b1 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4 #32 0x00007ff8a9014703 in QEventDispatcherX11::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtGui.so.4 #33 0x00007ff8a8375124 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4 #34 0x00007ff8a837546f in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4 #35 0x00007ff8a8378b3e in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4 #36 0x00007ff8ac98d438 in kdemain () from /usr/lib/libkdeinit4_kwin.so #37 0x00007ff8ac5feba6 in __libc_start_main () from /lib/libc.so.6 #38 0x00000000004006e9 in _start () Reported using DrKonqi
I can confirm this bug in trunk as well. My method of triggering this is different. I use the Desktop Grid shortcut and instantaneously press 1,2 etc to go to that desktop, before the effect has had time to render itself. This causes kwin to crash. Backtrace is pretty similar but with line numbers. It is ALWAYS REPRODUCIBLE for me. ----------------------- Application: KWin (kwin), signal: Segmentation fault [KCrash Handler] #7 0xae8410c0 in KWin::DesktopGridEffect::finish (this=0x9fc54e8) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects/desktopgrid/desktopgrid.cpp:1322 #8 0xae841330 in KWin::DesktopGridEffect::prePaintScreen (this=0x9fc54e8, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects/desktopgrid/desktopgrid.cpp:146 #9 0xb77dcd22 in KWin::EffectsHandlerImpl::prePaintScreen (this=0xa547738, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #10 0xae84d698 in KWin::FadeDesktopEffect::prePaintScreen (this=0xa05cc28, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects/fadedesktop/fadedesktop.cpp:63 #11 0xb77dcd22 in KWin::EffectsHandlerImpl::prePaintScreen (this=0xa547738, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #12 0xae835aec in KWin::BoxSwitchEffect::prePaintScreen (this=0x9f18858, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects/boxswitch/boxswitch.cpp:137 #13 0xb77dcd22 in KWin::EffectsHandlerImpl::prePaintScreen (this=0xa547738, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #14 0xae886aa6 in KWin::CubeEffect::prePaintScreen (this=0x9f959b8, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects/cube/cube.cpp:317 #15 0xb77dcd22 in KWin::EffectsHandlerImpl::prePaintScreen (this=0xa547738, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #16 0xae86721a in KWin::ScaleInEffect::prePaintScreen (this=0xa378060, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects/scalein/scalein.cpp:32 #17 0xb77dcd22 in KWin::EffectsHandlerImpl::prePaintScreen (this=0xa547738, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #18 0xb734b180 in KWin::Effect::prePaintScreen (this=0x9f9b808, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/lib/kwineffects.cpp:222 #19 0xb77dcd22 in KWin::EffectsHandlerImpl::prePaintScreen (this=0xa547738, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #20 0xae856b1d in KWin::MinimizeAnimationEffect::prePaintScreen (this=0xa42ef88, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects/minimizeanimation/minimizeanimation.cpp:64 #21 0xb77dcd22 in KWin::EffectsHandlerImpl::prePaintScreen (this=0xa547738, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #22 0xae85024a in KWin::LoginEffect::prePaintScreen (this=0xa0d98b8, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects/login/login.cpp:52 #23 0xb77dcd22 in KWin::EffectsHandlerImpl::prePaintScreen (this=0xa547738, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #24 0xb734b180 in KWin::Effect::prePaintScreen (this=0xa061c40, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/lib/kwineffects.cpp:222 #25 0xb77dcd22 in KWin::EffectsHandlerImpl::prePaintScreen (this=0xa547738, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #26 0xb734b180 in KWin::Effect::prePaintScreen (this=0x9fe62b8, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/lib/kwineffects.cpp:222 #27 0xb77dcd22 in KWin::EffectsHandlerImpl::prePaintScreen (this=0xa547738, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #28 0xae8a7d98 in KWin::TrackMouseEffect::prePaintScreen (this=0xa000460, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects/trackmouse/trackmouse.cpp:107 #29 0xb77dcd22 in KWin::EffectsHandlerImpl::prePaintScreen (this=0xa547738, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #30 0xae87c8cf in KWin::ZoomEffect::prePaintScreen (this=0xa11fc88, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects/zoom/zoom.cpp:59 #31 0xb77dcd22 in KWin::EffectsHandlerImpl::prePaintScreen (this=0xa547738, data=..., time=63) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #32 0xb77c3f3a in KWin::Scene::paintScreen (this=0x9fe93e8, mask=0xbfd55db4, region=0xbfd55e88) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/scene.cpp:116 #33 0xb77d4937 in KWin::SceneOpenGL::paint (this=0x9fe93e8, damage=..., toplevels=...) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/scene_opengl.cpp:748 #34 0xb77be576 in KWin::Workspace::performCompositing (this=0x9e28478) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/composite.cpp:454 #35 0xb7732daf in KWin::Workspace::qt_metacall (this=0x9e28478, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0xbfd55f8c) at /home/nikhil/kdedev/build/KDE/kdebase/workspace/kwin/workspace.moc:583 #36 0xb67c4d9a in QMetaObject::metacall (object=0x9e28478, cl=QMetaObject::InvokeMetaMethod, idx=190, argv=0xbfd55f8c) at kernel/qmetaobject.cpp:237 #37 0xb67d9c49 in QMetaObject::activate (sender=0x9e28728, m=0xb693d7c4, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3272 #38 0xb683c937 in QTimer::timeout (this=0x9e28728) at .moc/debug-shared/moc_qtimer.cpp:134
Created attachment 49268 [details] patch attempt I cannot reproduce this, but I'm fairly sure it's the desktop button erasure in finish, please try the attached patch. (QHash::operator[] is EVIL ;-)
Crash is still reproducible after applying the patch (on trunk) Backtrace: Application: KWin (kwin), signal: Segmentation fault [KCrash Handler] #7 0xa96340c2 in KWin::DesktopGridEffect::finish (this=0x8e4cda0) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects/desktopgrid/desktopgrid.cpp:1323 #8 0xa9634350 in KWin::DesktopGridEffect::prePaintScreen (this=0x8e4cda0, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects/desktopgrid/desktopgrid.cpp:146 #9 0xb776cd32 in KWin::EffectsHandlerImpl::prePaintScreen (this=0x8cc0360, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #10 0xa9640638 in KWin::FadeDesktopEffect::prePaintScreen (this=0x8e441c0, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects/fadedesktop/fadedesktop.cpp:63 #11 0xb776cd32 in KWin::EffectsHandlerImpl::prePaintScreen (this=0x8cc0360, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #12 0xa9628afc in KWin::BoxSwitchEffect::prePaintScreen (this=0x8eeeee8, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects/boxswitch/boxswitch.cpp:137 #13 0xb776cd32 in KWin::EffectsHandlerImpl::prePaintScreen (this=0x8cc0360, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #14 0xa9679a46 in KWin::CubeEffect::prePaintScreen (this=0x8ee6508, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects/cube/cube.cpp:317 #15 0xb776cd32 in KWin::EffectsHandlerImpl::prePaintScreen (this=0x8cc0360, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #16 0xa965a1ba in KWin::ScaleInEffect::prePaintScreen (this=0x8eb8560, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects/scalein/scalein.cpp:32 #17 0xb776cd32 in KWin::EffectsHandlerImpl::prePaintScreen (this=0x8cc0360, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #18 0xb72dbe20 in KWin::Effect::prePaintScreen (this=0x8ef5048, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/lib/kwineffects.cpp:222 #19 0xb776cd32 in KWin::EffectsHandlerImpl::prePaintScreen (this=0x8cc0360, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #20 0xa9649abd in KWin::MinimizeAnimationEffect::prePaintScreen (this=0x8efd608, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects/minimizeanimation/minimizeanimation.cpp:64 #21 0xb776cd32 in KWin::EffectsHandlerImpl::prePaintScreen (this=0x8cc0360, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #22 0xa96431ea in KWin::LoginEffect::prePaintScreen (this=0x8e5d4a0, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects/login/login.cpp:52 #23 0xb776cd32 in KWin::EffectsHandlerImpl::prePaintScreen (this=0x8cc0360, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #24 0xb72dbe20 in KWin::Effect::prePaintScreen (this=0x8e3f5b0, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/lib/kwineffects.cpp:222 #25 0xb776cd32 in KWin::EffectsHandlerImpl::prePaintScreen (this=0x8cc0360, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #26 0xb72dbe20 in KWin::Effect::prePaintScreen (this=0x8e5d478, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/lib/kwineffects.cpp:222 #27 0xb776cd32 in KWin::EffectsHandlerImpl::prePaintScreen (this=0x8cc0360, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #28 0xa969ad38 in KWin::TrackMouseEffect::prePaintScreen (this=0x8ebc1f8, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects/trackmouse/trackmouse.cpp:107 #29 0xb776cd32 in KWin::EffectsHandlerImpl::prePaintScreen (this=0x8cc0360, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #30 0xa966f86f in KWin::ZoomEffect::prePaintScreen (this=0x8efac08, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects/zoom/zoom.cpp:59 #31 0xb776cd32 in KWin::EffectsHandlerImpl::prePaintScreen (this=0x8cc0360, data=..., time=34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/effects.cpp:158 #32 0xb7753f4a in KWin::Scene::paintScreen (this=0x8caa778, mask=0xbfa3a1d4, region=0xbfa3a2a8) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/scene.cpp:116 #33 0xb7764947 in KWin::SceneOpenGL::paint (this=0x8caa778, damage=..., toplevels=...) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/scene_opengl.cpp:748 #34 0xb774e586 in KWin::Workspace::performCompositing (this=0x8b3e718) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/composite.cpp:454 #35 0xb76c2dbf in KWin::Workspace::qt_metacall (this=0x8b3e718, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0xbfa3a3ac) at /home/nikhil/kdedev/build/KDE/kdebase/workspace/kwin/workspace.moc:583 #36 0xb6755d9a in QMetaObject::metacall (object=0x8b3e718, cl=QMetaObject::InvokeMetaMethod, idx=190, argv=0xbfa3a3ac) at kernel/qmetaobject.cpp:237 #37 0xb676ac49 in QMetaObject::activate (sender=0x8b3e9c8, m=0xb68ce7c4, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3272 #38 0xb67cd937 in QTimer::timeout (this=0x8b3e9c8) at .moc/debug-shared/moc_qtimer.cpp:134 #39 0xb6773a8c in QTimer::timerEvent (this=0x8b3e9c8, e=0xbfa3aa34) at kernel/qtimer.cpp:271 #40 0xb6766bbc in QObject::event (this=0x8b3e9c8, e=0xbfa3aa34) at kernel/qobject.cpp:1175 #41 0xb59b3f06 in QApplicationPrivate::notify_helper (this=0x8af7278, receiver=0x8b3e9c8, e=0xbfa3aa34) at kernel/qapplication.cpp:4389 #42 0xb59b1648 in QApplication::notify (this=0xbfa3ad78, receiver=0x8b3e9c8, e=0xbfa3aa34) at kernel/qapplication.cpp:3791 #43 0xb6dbd9db in KApplication::notify (this=0xbfa3ad78, receiver=0x8b3e9c8, event=0xbfa3aa34) at /home/nikhil/kdedev/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:309 #44 0xb76e5d4c in KWin::Application::notify (this=0xbfa3ad78, o=0x8b3e9c8, e=0xbfa3aa34) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/main.cpp:372 #45 0xb674e019 in QCoreApplication::notifyInternal (this=0xbfa3ad78, receiver=0x8b3e9c8, event=0xbfa3aa34) at kernel/qcoreapplication.cpp:732 #46 0xb6751ae9 in QCoreApplication::sendEvent (receiver=0x8b3e9c8, event=0xbfa3aa34) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #47 0xb678acca in QTimerInfoList::activateTimers (this=0x8af7b18) at kernel/qeventdispatcher_unix.cpp:602 #48 0xb678bc4e in QEventDispatcherUNIX::activateTimers (this=0x8af6fe0) at kernel/qeventdispatcher_unix.cpp:861 #49 0xb678bf4c in QEventDispatcherUNIX::processEvents (this=0x8af6fe0, flags=...) at kernel/qeventdispatcher_unix.cpp:923 #50 0xb5a8ea3a in QEventDispatcherX11::processEvents (this=0x8af6fe0, flags=...) at kernel/qeventdispatcher_x11.cpp:152 #51 0xb674b3d7 in QEventLoop::processEvents (this=0xbfa3acbc, flags=...) at kernel/qeventloop.cpp:149 #52 0xb674b51c in QEventLoop::exec (this=0xbfa3acbc, flags=...) at kernel/qeventloop.cpp:201 #53 0xb674e70b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009 #54 0xb59b1256 in QApplication::exec () at kernel/qapplication.cpp:3665 #55 0xb76e795b in kdemain (argc=2, argv=0xbfa3afa4) at /home/nikhil/kdedev/src/KDE/kdebase/workspace/kwin/main.cpp:531 #56 0x080487db in main (argc=2, argv=0xbfa3afa4) at /home/nikhil/kdedev/build/KDE/kdebase/workspace/kwin/kwin_dummy.cpp:3
Created attachment 49287 [details] new attempt Ok, it's for sure in that code, but some other reason. Either there's a "NULL" EffectWindow for some other reason, or some other effect is unref'ing it before the ::finish() is called. I updated the patch to catch the NULL pointer condition (there's a similar check in another place, so this migh actually occur) If it's not it, could you please disable all other effects and see whether this persists?
I investigated this crash some time ago. But unfortunately I don't remember why I didn't finish the fix :-( I hope to find what I tried somewhere in my git branches or in git stash. But I fear I did a git reset --hard.
*** Bug 245469 has been marked as a duplicate of this bug. ***
*** Bug 245824 has been marked as a duplicate of this bug. ***
*** Bug 246503 has been marked as a duplicate of this bug. ***
Same problem here (KDE 4.5 final). Application: KWin (kwin), signal: Segmentation fault [KCrash Handler] #7 0xae73b2c5 in KWin::DesktopGridEffect::finish (this=0x9b59040) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/effects/desktopgrid/desktopgrid.cpp:1322 #8 0xae73e161 in KWin::DesktopGridEffect::prePaintScreen (this=0x9b59040, data=..., time=10) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/effects/desktopgrid/desktopgrid.cpp:146 #9 0xb7820cbd in KWin::EffectsHandlerImpl::prePaintScreen (this=0x9affe88, data=..., time=10) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/effects.cpp:158 #10 0xae7797a8 in KWin::SlideEffect::prePaintScreen (this=0x9b62030, data=..., time=10) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/effects/slide/slide.cpp:60 #11 0xb7820cbd in KWin::EffectsHandlerImpl::prePaintScreen (this=0x9affe88, data=..., time=10) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/effects.cpp:158 #12 0xae73133d in KWin::BoxSwitchEffect::prePaintScreen (this=0x9bdadd8, data=..., time=10) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/effects/boxswitch/boxswitch.cpp:137 #13 0xb7820cbd in KWin::EffectsHandlerImpl::prePaintScreen (this=0x9affe88, data=..., time=10) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/effects.cpp:158 #14 0xae791658 in KWin::CubeEffect::prePaintScreen (this=0x9bdc818, data=..., time=10) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/effects/cube/cube.cpp:317 #15 0xb7820cbd in KWin::EffectsHandlerImpl::prePaintScreen (this=0x9affe88, data=..., time=10) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/effects.cpp:158 #16 0xb6e0a65f in KWin::Effect::prePaintScreen (this=0x9be8c80, data=..., time=10) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/lib/kwineffects.cpp:222 #17 0xb7820cbd in KWin::EffectsHandlerImpl::prePaintScreen (this=0x9affe88, data=..., time=10) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/effects.cpp:158 #18 0xae756fd1 in KWin::MinimizeAnimationEffect::prePaintScreen (this=0x9b6a3c0, data=..., time=10) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/effects/minimizeanimation/minimizeanimation.cpp:64 #19 0xb7820cbd in KWin::EffectsHandlerImpl::prePaintScreen (this=0x9affe88, data=..., time=10) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/effects.cpp:158 #20 0xae7500d1 in KWin::LoginEffect::prePaintScreen (this=0x9b63de8, data=..., time=10) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/effects/login/login.cpp:52 #21 0xb7820cbd in KWin::EffectsHandlerImpl::prePaintScreen (this=0x9affe88, data=..., time=10) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/effects.cpp:158 #22 0xae7bae15 in KWin::TrackMouseEffect::prePaintScreen (this=0x9be1c50, data=..., time=10) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/effects/trackmouse/trackmouse.cpp:107 #23 0xb7820cbd in KWin::EffectsHandlerImpl::prePaintScreen (this=0x9affe88, data=..., time=10) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/effects.cpp:158 #24 0xae7840c5 in KWin::ZoomEffect::prePaintScreen (this=0x9b5b500, data=..., time=10) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/effects/zoom/zoom.cpp:59 #25 0xb7820cbd in KWin::EffectsHandlerImpl::prePaintScreen (this=0x9affe88, data=..., time=10) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/effects.cpp:158 #26 0xb7804ce7 in KWin::Scene::paintScreen (this=0x9af1ea0, mask=0xbfa288e8, region=0xbfa289b4) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/scene.cpp:116 #27 0xb7818128 in KWin::SceneOpenGL::paint (this=0x9af1ea0, damage=..., toplevels=...) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/scene_opengl.cpp:748 #28 0xb77ff5a2 in KWin::Workspace::performCompositing (this=0x9ae6618) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/composite.cpp:454 #29 0xb776f366 in KWin::Workspace::qt_metacall (this=0x9ae6618, _c=QMetaObject::InvokeMetaMethod, _id=190, _a=0xbfa28adc) at /usr/src/debug/kdebase-workspace-4.5.0/build/kwin/workspace.moc:583 #30 0xb67279fd in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4 #31 0xb673af1c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 #32 0xb678e075 in QTimer::timeout() () from /usr/lib/libQtCore.so.4 #33 0xb6740cb6 in QTimer::timerEvent(QTimerEvent*) () from /usr/lib/libQtCore.so.4 #34 0xb6735064 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4 #35 0xb5bf9eec in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #36 0xb5c01c88 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #37 0xb73b5731 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5 #38 0xb778be61 in KWin::Application::notify (this=0xbfa29334, o=0x9ae68c8, e=0xbfa29040) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/main.cpp:372 #39 0xb6721bae in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #40 0xb675487a in ?? () from /usr/lib/libQtCore.so.4 #41 0xb67549df in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #42 0xb5cbdc92 in ?? () from /usr/lib/libQtGui.so.4 #43 0xb672065d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #44 0xb6720ae9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #45 0xb6726120 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4 #46 0xb5bf8bd4 in QApplication::exec() () from /usr/lib/libQtGui.so.4 #47 0xb778ebbf in kdemain (argc=3, argv=0xbfa29594) at /usr/src/debug/kdebase-workspace-4.5.0/kwin/main.cpp:531 #48 0x080485cb in main (argc=3, argv=0xbfa29594) at /usr/src/debug/kdebase-workspace-4.5.0/build/kwin/kwin_dummy.cpp:3
*** Bug 248647 has been marked as a duplicate of this bug. ***
*** Bug 248870 has been marked as a duplicate of this bug. ***
SVN commit 1169047 by graesslin: Block keyboard input during animations in desktop grid. This works around crashers if a key is pressed directly after activating the effect. Working around is not the perfect solution, but we already block mouse events, so it is consistent. And unfortunately the effect has become difficult to maintain and I fear it's like chasing one crash after the other if we allow user interaction during the animations. BUG: 244813 FIXED-IN: 4.5.2 M +2 -0 desktopgrid.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1169047
SVN commit 1169048 by graesslin: Forward port rev 1169047: Block keyboard input during animations in desktop grid. This works around crashers if a key is pressed directly after activating the effect. Working around is not the perfect solution, but we already block mouse events, so it is consistent. And unfortunately the effect has become difficult to maintain and I fear it's like chasing one crash after the other if we allow user interaction during the animations. CCBUG: 244813 M +2 -0 desktopgrid.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1169048
(In reply to comment #12) > Block keyboard input during animations in desktop grid. > This works around crashers if a key is pressed directly after activating the > effect. Is this bug a 'press key when animation is active' or 'do another animation when animation is active'? Since in the second case it would be more foolproof to block doing effects when effects are active.
The crash was caused because desktop grid is unable to handle a deactivation while activating or an activation while deactivating. The commit ensures that it is not possible to deactivate while activating via keyboard. E.g a 2 will do nothing instead of ending and switching to desktop 2. This has already been done for mouse events It is in general not possible to activate a second effect while an effect is active. E.g. it's not possible to start present windows if desktop grid is active. For the effects itself it depends on the implementation if it allows to be activated again. E.g. Coverswitch is able to handle a reactivation.
*** Bug 249519 has been marked as a duplicate of this bug. ***
*** Bug 250903 has been marked as a duplicate of this bug. ***
Created attachment 51652 [details] New crash information added by DrKonqi kwin (4.5.1 (KDE 4.5.1)) on KDE Platform 4.5.1 (KDE 4.5.1) using Qt 4.6.3 - What I was doing when the application crashed: same as bug opener description - Unusual behavior I noticed: same as bug opener description this is 4.5.1 with Blur effect disabled -- Backtrace (Reduced): #8 0x00007f6668e91037 in KWin::EffectWindowImpl::unrefWindow (this=<value optimized out>) at /usr/src/debug/kde-base/kwin-4.5.1/kwin-4.5.1/kwin/effects.cpp:1289 #9 0x00007f6654a3d7e4 in KWin::DesktopGridEffect::finish (this=<value optimized out>) at /usr/src/debug/kde-base/kwin-4.5.1/kwin-4.5.1/kwin/effects/desktopgrid/desktopgrid.cpp:1322 #10 0x00007f6654a43347 in KWin::DesktopGridEffect::prePaintScreen (this=0x226e880, data=..., time=40) at /usr/src/debug/kde-base/kwin-4.5.1/kwin-4.5.1/kwin/effects/desktopgrid/desktopgrid.cpp:146 #11 0x00007f6668e914ca in KWin::EffectsHandlerImpl::prePaintScreen (this=0x223f5d0, data=..., time=40) at /usr/src/debug/kde-base/kwin-4.5.1/kwin-4.5.1/kwin/effects.cpp:158 #12 0x00007f6668e914ca in KWin::EffectsHandlerImpl::prePaintScreen (this=0x223f5d0, data=..., time=40) at /usr/src/debug/kde-base/kwin-4.5.1/kwin-4.5.1/kwin/effects.cpp:158
see comment #13 & "fixed in" field (4.5.2)
Created attachment 52506 [details] New crash information added by DrKonqi kwin (4.5.2 (KDE 4.5.2)) on KDE Platform 4.5.2 (KDE 4.5.2) using Qt 4.7.0 - What I was doing when the application crashed: When moving the mousepointer to the corner, suddenly everything was stuck for a moment, then kwin (with raster graphics system enabled) crashed and produced this backtrace; if i use kwin (with raster graphics system disabled) , i don't have any crash. -- Backtrace (Reduced): #6 0x00007f3faabd566a in KWin::DesktopGridEffect::finish (this=0x223eea0) at ../../../kwin/effects/desktopgrid/desktopgrid.cpp:1331 #7 0x00007f3faabd81d1 in KWin::DesktopGridEffect::prePaintScreen (this=0x223eea0, data=<value optimized out>, time=478) at ../../../kwin/effects/desktopgrid/desktopgrid.cpp:146 #8 0x00007f3fc39dc51b in KWin::EffectsHandlerImpl::prePaintScreen (this=0x2005c50, data=..., time=478) at ../../kwin/effects.cpp:158 #9 0x00007f3faabe52ea in KWin::FadeDesktopEffect::prePaintScreen (this=<value optimized out>, data=..., time=478) at ../../../kwin/effects/fadedesktop/fadedesktop.cpp:63 #10 0x00007f3fc39dc51b in KWin::EffectsHandlerImpl::prePaintScreen (this=0x2005c50, data=..., time=478) at ../../kwin/effects.cpp:158
FYI: you cannot activate the raster engine for (vanilla) kwin ("kwin -graphicssystem raster") - the application should reset this (it's an X11 WM and makes a lot of use of X11 drawables + calls gl_texture_from_pixmap, so QPixmap _has_ to be a X11 Pixmap/XR Picture...) If this is possible on your side nevertheless (distro patch?) that's wrong. The raster engine will unlikely ever work with kwin. Sorry :-(
*** Bug 254235 has been marked as a duplicate of this bug. ***
Created attachment 52630 [details] this should do... really ;-) dangeling pointer issue... the _b patch solves it for sure, even under the xreder + i keep ctrl+f8 pressed (i'm not just guessing. the unref attempt hit the assert in effects.cpp, so i just tried ->isDeleted() what caused another crash there)
(In reply to comment #23) > Created an attachment (id=52630) [details] Is this thing going to write an xmas chime to my console every time i switch desktops?
Created attachment 52635 [details] New crash information added by DrKonqi kwin (4.5.2 (KDE 4.5.2)) on KDE Platform 4.5.2 (KDE 4.5.2) using Qt 4.7.0 - What I was doing when the application crashed: Moved the mousepointer back to the bottom left corner to switch to workspace -- Backtrace (Reduced): #6 0x00007fba7be0b66a in KWin::DesktopGridEffect::finish (this=0x1682f40) at ../../../kwin/effects/desktopgrid/desktopgrid.cpp:1331 #7 0x00007fba7be0e1d1 in KWin::DesktopGridEffect::prePaintScreen (this=0x1682f40, data=<value optimized out>, time=1696) at ../../../kwin/effects/desktopgrid/desktopgrid.cpp:146 #8 0x00007fba94fde51b in KWin::EffectsHandlerImpl::prePaintScreen (this=0x13b54a0, data=..., time=1696) at ../../kwin/effects.cpp:158 #9 0x00007fba7be1b2ea in KWin::FadeDesktopEffect::prePaintScreen (this=<value optimized out>, data=..., time=1696) at ../../../kwin/effects/fadedesktop/fadedesktop.cpp:63 #10 0x00007fba94fde51b in KWin::EffectsHandlerImpl::prePaintScreen (this=0x13b54a0, data=..., time=1696) at ../../kwin/effects.cpp:158
(In reply to comment #24) > Is this thing going to write an xmas chime to my console every time i switch > desktops? =) "everytime it prevents a (pot.) segfault" - proof of concept I did not intend to merge (iff) the warnings upstream ;-) -> if you see them and nothing crashes, the patch worked for you.
*** Bug 254654 has been marked as a duplicate of this bug. ***
SVN commit 1187537 by luebking: catch dangeling pointer in the desktopbutton hash BUG: 244813 M +22 -7 desktopgrid.cpp M +1 -0 desktopgrid.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1187537
*** Bug 254809 has been marked as a duplicate of this bug. ***
Just for info is 4.5.3 due out anytime soon? This (fixed in trunk) crashy thing is getting annoying.
(In reply to comment #30) > Just for info is 4.5.3 due out anytime soon? This (fixed in trunk) crashy thing > is getting annoying. 4.5.3 will be released today. See also: http://techbase.kde.org/Schedules/KDE4/4.5_Release_Schedule#October_28th.2C_2010:_Tag_KDE_4.5.3
errr the fix is only in svn -> 4.6, sorry :-(
*** Bug 255890 has been marked as a duplicate of this bug. ***
(In reply to comment #32) > errr the fix is only in svn -> 4.6, sorry :-( Does this mean that I will keep staring at crashing kwin for another 3 months or so?
no, apparently there's be a 4.5.4 at the end of november -> can be backported for this release. backporting policy says trunk + 2 weeks, what would have been nov. 2nd (4 days after tagging) - sorry again.
SVN commit 1200080 by luebking: backporting r1187537 "catch dangeling pointer in the desktopbutton hash" CCBUG: 244813 M +23 -7 desktopgrid.cpp M +1 -0 desktopgrid.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1200080
(In reply to comment #35) > no, apparently there's be a 4.5.4 at the end of november -> can be backported > for this release. any time now? :)
see comment #36 & "fixed in version" (scroll all the way up) 4.5.5 (theoretically, no announce on www.kde.org so far) was released yesterday, no idea when it hits your distro -> ask there ;-)
Confirm fix in Qt: 4.7.1 KDE Development Platform: 4.5.4 (KDE 4.5.4) KWin: 4.5.4 (KDE 4.5.4) hallelujah!
*** Bug 259194 has been marked as a duplicate of this bug. ***
*** Bug 259344 has been marked as a duplicate of this bug. ***
*** Bug 262099 has been marked as a duplicate of this bug. ***
*** Bug 263431 has been marked as a duplicate of this bug. ***
Created attachment 56807 [details] New crash information added by DrKonqi kwin (4.5.1 (KDE 4.5.1)) on KDE Platform 4.5.1 (KDE 4.5.1) using Qt 4.7.0 Not sure if the bug fix already made it into the current kubuntu 10.10 (including all up-to-date patches etc.); if not, please ignore this. If yes, then I am still experiencing this bug and the fix is not complete. -- Backtrace (Reduced): #6 0x00007f4dda9dc64a in KWin::DesktopGridEffect::finish (this=0xeac790) at ../../../kwin/effects/desktopgrid/desktopgrid.cpp:1322 #7 0x00007f4dda9df1b1 in KWin::DesktopGridEffect::prePaintScreen (this=0xeac790, data=<value optimized out>, time=1033) at ../../../kwin/effects/desktopgrid/desktopgrid.cpp:146 #8 0x00007f4df3bcfb1b in KWin::EffectsHandlerImpl::prePaintScreen (this=0x13ec8b0, data=..., time=1033) at ../../kwin/effects.cpp:158 #9 0x00007f4df3bcfb1b in KWin::EffectsHandlerImpl::prePaintScreen (this=0x13ec8b0, data=..., time=1033) at ../../kwin/effects.cpp:158 #10 0x00007f4df3bcfb1b in KWin::EffectsHandlerImpl::prePaintScreen (this=0x13ec8b0, data=..., time=1033) at ../../kwin/effects.cpp:158
it's not fixed before 4.5.4 and your version is 4.5.1 and the backtraces are the same, therefore you can assume that your version does NOT contain the patch since it add like 10-15 lines _before_ the crash position. (of course ubuntu could have condesed the code by deleting the same amount of empty lines, just to confuse everyone, but that doesn't sound very likely, yesno ;-)
*** Bug 266809 has been marked as a duplicate of this bug. ***
*** Bug 268218 has been marked as a duplicate of this bug. ***
*** Bug 269551 has been marked as a duplicate of this bug. ***
Created attachment 58791 [details] New crash information added by DrKonqi kwin (4.5.1 (KDE 4.5.1)) on KDE Platform 4.5.1 (KDE 4.5.1) using Qt 4.7.0 - What I was doing when the application crashed: Using the desktop grid and operating whith the windows, kwin crashes -- Backtrace (Reduced): #10 0xb76c04af in KWin::EffectWindowImpl::unrefWindow (this=0x8afc4e8) at ../../kwin/effects.cpp:1289 #11 0xafdd4d42 in KWin::DesktopGridEffect::finish (this=0x88e46e0) at ../../../kwin/effects/desktopgrid/desktopgrid.cpp:1322 #12 0xafdd793b in KWin::DesktopGridEffect::prePaintScreen (this=0x88e46e0, data=..., time=143) at ../../../kwin/effects/desktopgrid/desktopgrid.cpp:146 #13 0xb76c285b in KWin::EffectsHandlerImpl::prePaintScreen (this=0x88d29e8, data=..., time=143) at ../../kwin/effects.cpp:158 #14 0xafe11a71 in KWin::SlideEffect::prePaintScreen (this=0x8904588, data=..., time=143) at ../../../kwin/effects/slide/slide.cpp:60
*** Bug 271197 has been marked as a duplicate of this bug. ***
*** Bug 271736 has been marked as a duplicate of this bug. ***