Bug 203487 - Kwin crashes while usin flipswitch Alt+Tab and a window activate a parent window.
Summary: Kwin crashes while usin flipswitch Alt+Tab and a window activate a parent win...
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: compositing (show other bugs)
Version: unspecified
Platform: Mandriva RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-11 23:39 UTC by Emilio
Modified: 2009-09-15 11:43 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Coverflow position to make kwin crash (489.76 KB, image/png)
2009-09-11 12:27 UTC, Emilio
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Emilio 2009-08-11 23:39:41 UTC
Version:            (using KDE 4.3.0)
OS:                Linux
Installed from:    Mandriva RPMs

While using the Alt+Tab flipswitch effect, and having activated the parent window effect, kwin crashes.

Steps to reproduce it:

1-Activate Alt+Tab Flipswitch effect and Parent Window effect.
2-Start a game of KSnake for example.
3-Before the snake crashes against the wall press Alt+Tab and hold it until Ksnake records window appear. Now Kwin crashes, I think due to the effect Parent Window.

I don't know if it is a duplicate of https://bugs.kde.org/show_bug.cgi?id=184602 so I post it.

Backtrace:

Application: KWin (kwin), signal: Aborted
[KCrash Handler]
#6  0xffffe430 in __kernel_vsyscall ()
#7  0xb7e90c00 in raise () from /lib/libc.so.6
#8  0xb7e92668 in abort () from /lib/libc.so.6
#9  0xb66d1d45 in qt_message_output () from /usr/lib/libQtCore.so.4
#10 0xb66d1e3c in qFatal () from /usr/lib/libQtCore.so.4
#11 0xb66d1eed in qt_assert_x () from /usr/lib/libQtCore.so.4
#12 0xb1c09eac in QList<KWin::EffectWindow*>::operator[] (this=0xbff3ca38, i=-1) at /usr/lib/qt4/include/QtCore/qlist.h:403
#13 0xb1c5b4ae in KWin::FlipSwitchEffect::paintScreen (this=0x87d0e58, mask=32, region={d = 0xbff3ca88, static shared_empty = {ref = {_q_value = 308}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbff3cf78) at /usr/src/debug/kdebase-workspace-4.3.0/kwin/effects/flipswitch/flipswitch.cpp:162
#14 0xb8068185 in KWin::EffectsHandlerImpl::paintScreen (this=0x876d840, mask=32, region={d = 0xbff3cbd4, static shared_empty = {ref = {_q_value = 308}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbff3cf78) at /usr/src/debug/kdebase-workspace-4.3.0/kwin/effects.cpp:122
#15 0xb1c0e60c in KWin::DesktopGridEffect::paintScreen (this=0x87e4140, mask=32, region={d = 0xbff3cc18, static shared_empty = {ref = {_q_value = 308}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbff3cf78) at /usr/src/debug/kdebase-workspace-4.3.0/kwin/effects/desktopgrid/desktopgrid.cpp:140
#16 0xb8068185 in KWin::EffectsHandlerImpl::paintScreen (this=0x876d840, mask=32, region={d = 0xbff3cd74, static shared_empty = {ref = {_q_value = 308}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbff3cf78) at /usr/src/debug/kdebase-workspace-4.3.0/kwin/effects.cpp:122
#17 0xb1c3964e in KWin::SlideEffect::paintScreen (this=0x87c7fc0, mask=32, region={d = 0xbff3cdb8, static shared_empty = {ref = {_q_value = 308}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbff3cf78) at /usr/src/debug/kdebase-workspace-4.3.0/kwin/effects/slide/slide.cpp:86
#18 0xb8068185 in KWin::EffectsHandlerImpl::paintScreen (this=0x876d840, mask=32, region={d = 0xbff3cdf8, static shared_empty = {ref = {_q_value = 308}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbff3cf78) at /usr/src/debug/kdebase-workspace-4.3.0/kwin/effects.cpp:122
#19 0xb77c9e1a in KWin::Effect::paintScreen (this=0x86ccd60, mask=32, region={d = 0xbff3ce38, static shared_empty = {ref = {_q_value = 308}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbff3cf78) at /usr/src/debug/kdebase-workspace-4.3.0/kwin/lib/kwineffects.cpp:206
#20 0xb8068185 in KWin::EffectsHandlerImpl::paintScreen (this=0x876d840, mask=32, region={d = 0xbff3ce78, static shared_empty = {ref = {_q_value = 308}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbff3cf78) at /usr/src/debug/kdebase-workspace-4.3.0/kwin/effects.cpp:122
#21 0xb77c9e1a in KWin::Effect::paintScreen (this=0x86ccd30, mask=32, region={d = 0xbff3ceb8, static shared_empty = {ref = {_q_value = 308}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbff3cf78) at /usr/src/debug/kdebase-workspace-4.3.0/kwin/lib/kwineffects.cpp:206
#22 0xb8068185 in KWin::EffectsHandlerImpl::paintScreen (this=0x876d840, mask=32, region={d = 0xbff3cef8, static shared_empty = {ref = {_q_value = 308}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbff3cf78) at /usr/src/debug/kdebase-workspace-4.3.0/kwin/effects.cpp:122
#23 0xb77c9e1a in KWin::Effect::paintScreen (this=0x87d23f0, mask=32, region={d = 0xbff3cf38, static shared_empty = {ref = {_q_value = 308}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbff3cf78) at /usr/src/debug/kdebase-workspace-4.3.0/kwin/lib/kwineffects.cpp:206
#24 0xb8068185 in KWin::EffectsHandlerImpl::paintScreen (this=0x876d840, mask=32, region={d = 0xbff3cfd0, static shared_empty = {ref = {_q_value = 308}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbff3cf78) at /usr/src/debug/kdebase-workspace-4.3.0/kwin/effects.cpp:122
#25 0xb8051ce5 in KWin::Scene::paintScreen (this=0x87726d0, mask=0xbff3d04c, region=0xbff3d118) at /usr/src/debug/kdebase-workspace-4.3.0/kwin/scene.cpp:134
#26 0xb805f635 in KWin::SceneOpenGL::paint (this=0x87726d0, damage={d = 0xbff3d118, static shared_empty = {ref = {_q_value = 308}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, toplevels=
        {{p = {static shared_null = {ref = {_q_value = 12405}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0xbff3d114}, d = 0xbff3d114}})
    at /usr/src/debug/kdebase-workspace-4.3.0/kwin/scene_opengl.cpp:746
#27 0xb804ac4f in KWin::Workspace::performCompositing (this=0x87c13b8) at /usr/src/debug/kdebase-workspace-4.3.0/kwin/composite.cpp:420
#28 0xb7fd8a3a in KWin::Workspace::qt_metacall (this=0x87c13b8, _c=QMetaObject::InvokeMetaMethod, _id=149, _a=0xbff3d1e8) at /usr/src/debug/kdebase-workspace-4.3.0/build/kwin/workspace.moc:473
#29 0xb67ec925 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#30 0xb67ed625 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#31 0xb682a305 in QTimer::timeout () from /usr/lib/libQtCore.so.4
#32 0xb67f3036 in QTimer::timerEvent () from /usr/lib/libQtCore.so.4
#33 0xb67e767b in QObject::event () from /usr/lib/libQtCore.so.4
#34 0xb6a56b5c in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#35 0xb6a5f2b6 in QApplication::notify () from /usr/lib/libQtGui.so.4
#36 0xb7c2b96b in KApplication::notify () from /usr/lib/libkdeui.so.5
#37 0xb7ff7dfc in KWin::Application::notify (this=0xbff3d91c, o=0x87c161c, e=0xbff3d65c) at /usr/src/debug/kdebase-workspace-4.3.0/kwin/main.cpp:371
#38 0xb67d6aee in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#39 0xb6806f9d in ?? () from /usr/lib/libQtCore.so.4
#40 0xb680377e in ?? () from /usr/lib/libQtCore.so.4
#41 0xb3e99cea in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#42 0xb3e9d354 in ?? () from /usr/lib/libglib-2.0.so.0
#43 0xb3e9d4df in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#44 0xb68036da in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#45 0xb6afbb4a in ?? () from /usr/lib/libQtGui.so.4
#46 0xb67d50b3 in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#47 0xb67d550d in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#48 0xb67d7a66 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#49 0xb6a569c4 in QApplication::exec () from /usr/lib/libQtGui.so.4
#50 0xb7ff930e in kdemain (argc=3, argv=0xbff3daf4) at /usr/src/debug/kdebase-workspace-4.3.0/kwin/main.cpp:527
#51 0x0804856f in main (argc=) at /usr/src/debug/kdebase-workspace-4.3.0/build/kwin/kwin_dummy.cpp:3


Thanks
Comment 1 Martin Flöser 2009-08-12 10:34:51 UTC
looks like a duplicate of our alt+tab crashes when a window is closed, although this is a different backtrace.
Comment 2 Dario Andres 2009-08-12 16:50:46 UTC
Indeed it looks related to bug 203286 or bug 187761.
Regards
Comment 3 Martin Flöser 2009-09-04 23:01:54 UTC
That might sound strange: please retest with 4.4 as flipswitch has been reimplemented.
Comment 4 Emilio 2009-09-05 11:59:00 UTC
I will test KDE 4.4 but it will take me some days because I need to compile it and I'm quite busy this week. I will comment the results here as soon as possible.


Thanks
Comment 5 Emilio 2009-09-10 22:36:59 UTC
I've been doing some tests with KDE 4.3.66 and the problem seems to be solved.

I saw that you changed the behavior of the effect. Now when the new window appear while using Alt-Tab the previous window hides. I mean only the new window is shown. If this is the correct behavior I will do some more tests and if in a couple of days I get no crash, I will close the bug.

Thanks
Comment 6 Emilio 2009-09-11 12:23:56 UTC
After doing some more tests I've not been able to reproduce this crash anymore with the flipswitch effect but with the Cover flow effect.

To reproduce it with the cover flow effect I do the following:

1- Open Ksnake
2- Drive the snake to the wall so the Records window appear.
3- Press Alt+tab before snake crashes to the wall, and hold it till KWin crashes.

I've only made it crash if I hold Alt+tab with the Ksnake window in the main position. I will attach a picture now to explain it better.

I will attach a new backtrace as soon as posible.

Thanks
Comment 7 Emilio 2009-09-11 12:27:38 UTC
Created attachment 36867 [details]
Coverflow position to make kwin crash
Comment 8 Emilio 2009-09-11 12:36:35 UTC
And here is a new backtrace:

Application: KWin (kwin), signal: Segmentation fault
[KCrash Handler]
#6  WindowPaintData (this=0xbfecb5c0, w=0x1) at /usr/src/debug/kdebase-workspace-4.3.66svn1016707/kwin/lib/kwineffects.cpp:76
#7  0xb31808d7 in KWin::CoverSwitchEffect::paintFrontWindow (this=0x81cd720, frontWindow=0x1, width=1280, leftWindows=0, rightWindows=0, reflectedWindow=true)
    at /usr/src/debug/kdebase-workspace-4.3.66svn1016707/kwin/effects/coverswitch/coverswitch.cpp:792
#8  0xb31818e7 in KWin::CoverSwitchEffect::paintScene (this=0x81cd720, frontWindow=0x1, leftWindows=0x81cd780, rightWindows=0x81cd784, reflectedWindows=true)
    at /usr/src/debug/kdebase-workspace-4.3.66svn1016707/kwin/effects/coverswitch/coverswitch.cpp:429
#9  0xb3188a85 in KWin::CoverSwitchEffect::paintScreen (this=0x81cd720, mask=32, region={d = 0xbfecb888, static shared_empty = {ref = {_q_value = 300}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbfecb9e8) at /usr/src/debug/kdebase-workspace-4.3.66svn1016707/kwin/effects/coverswitch/coverswitch.cpp:248
#10 0xb7fdffcf in KWin::EffectsHandlerImpl::paintScreen (this=0x81458f8, mask=32, region={d = 0xbfecb8c8, static shared_empty = {ref = {_q_value = 300}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbfecb9e8) at /usr/src/debug/kdebase-workspace-4.3.66svn1016707/kwin/effects.cpp:122
#11 0xb7f00b66 in KWin::Effect::paintScreen (this=0x81ccbc8, mask=32, region={d = 0xbfecb908, static shared_empty = {ref = {_q_value = 300}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbfecb9e8) at /usr/src/debug/kdebase-workspace-4.3.66svn1016707/kwin/lib/kwineffects.cpp:206
#12 0xb7fdffcf in KWin::EffectsHandlerImpl::paintScreen (this=0x81458f8, mask=32, region={d = 0xbfecb95c, static shared_empty = {ref = {_q_value = 300}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbfecb9e8) at /usr/src/debug/kdebase-workspace-4.3.66svn1016707/kwin/effects.cpp:122
#13 0xb317edad in KWin::ZoomEffect::paintScreen (this=0x8193898, mask=32, region={d = 0xbfecb9a8, static shared_empty = {ref = {_q_value = 300}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbfecb9e8) at /usr/src/debug/kdebase-workspace-4.3.66svn1016707/kwin/effects/zoom/zoom.cpp:73
#14 0xb7fdffcf in KWin::EffectsHandlerImpl::paintScreen (this=0x81458f8, mask=32, region={d = 0xbfecba40, static shared_empty = {ref = {_q_value = 300}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, 
    data=@0xbfecb9e8) at /usr/src/debug/kdebase-workspace-4.3.66svn1016707/kwin/effects.cpp:122
#15 0xb7fc9e00 in KWin::Scene::paintScreen (this=0x812fd80, mask=0xbfecbac4, region=0xbfecbb84) at /usr/src/debug/kdebase-workspace-4.3.66svn1016707/kwin/scene.cpp:134
#16 0xb7fd9c3a in KWin::SceneOpenGL::paint (this=0x812fd80, damage={d = 0xbfecbb84, static shared_empty = {ref = {_q_value = 300}, rgn = 0x0, xrectangles = 0x0, qt_rgn = 0x0}}, toplevels=
        {{p = {static shared_null = {ref = {_q_value = 14011}, alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, d = 0xbfecbb80}, d = 0xbfecbb80}})
    at /usr/src/debug/kdebase-workspace-4.3.66svn1016707/kwin/scene_opengl.cpp:746
#17 0xb7fc4dbb in KWin::Workspace::performCompositing (this=0x812f7d8) at /usr/src/debug/kdebase-workspace-4.3.66svn1016707/kwin/composite.cpp:420
#18 0xb7f57b9d in KWin::Workspace::qt_metacall (this=0x812f7d8, _c=QMetaObject::InvokeMetaMethod, _id=149, _a=0xbfecbc58)
    at /usr/src/debug/kdebase-workspace-4.3.66svn1016707/build/kwin/workspace.moc:473
#19 0xb6b26788 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4
#20 0xb6b27412 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#21 0xb6b62fe7 in QTimer::timeout() () from /usr/lib/libQtCore.so.4
#22 0xb6b2cc0e in QTimer::timerEvent(QTimerEvent*) () from /usr/lib/libQtCore.so.4
#23 0xb6b2172f in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#24 0xb6d9c7bc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#25 0xb6da4aae in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#26 0xb7abcefd in KApplication::notify (this=0xbfecc41c, receiver=0x812fa3c, event=0xbfecc120) at /usr/src/debug/kdelibs-4.3.66svn1016707/kdeui/kernel/kapplication.cpp:302
#27 0xb7f6efbd in KWin::Application::notify (this=0xbfecc41c, o=0x812fa3c, e=0xbfecc120) at /usr/src/debug/kdebase-workspace-4.3.66svn1016707/kwin/main.cpp:366
#28 0xb6b1116b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#29 0xb6b405f6 in ?? () from /usr/lib/libQtCore.so.4
#30 0xb6b3c980 in ?? () from /usr/lib/libQtCore.so.4
#31 0xb4df19c8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#32 0xb4df5083 in ?? () from /usr/lib/libglib-2.0.so.0
#33 0xb4df5241 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#34 0xb6b3c8d8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#35 0xb6e3cca5 in ?? () from /usr/lib/libQtGui.so.4
#36 0xb6b0f78a in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#37 0xb6b0fbd2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#38 0xb6b12079 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#39 0xb6d9c637 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#40 0xb7f70ad3 in kdemain (argc=3, argv=0xbfecc604) at /usr/src/debug/kdebase-workspace-4.3.66svn1016707/kwin/main.cpp:522
#41 0x080487c2 in main (argc=9987080, argv=0xb7cc6ab0) at /usr/src/debug/kdebase-workspace-4.3.66svn1016707/build/kwin/kwin_dummy.cpp:3
Comment 9 Thomas Lübking 2009-09-11 17:20:07 UTC
this is apparently fixed with recent svn updates as well
just recompiled, tested around the version change, got a segfault before and only an "wrong" (the record isn't displayd) window list after - and i recall Martin lately pushed some coverswitch fix, likely r1016998
Comment 10 Emilio 2009-09-15 11:37:49 UTC
Then if you say this is fixed you can close this report.

Thank you very much
Comment 11 Martin Flöser 2009-09-15 11:43:06 UTC
(In reply to comment #10)
> Then if you say this is fixed you can close this report.
> 
> Thank you very much
yes it is fixed. I just tested and even the display list is correct with latest svn ;-)