Bug 265160

Summary: KWin crashes when grouping windows trying to do shading
Product: [Plasma] kwin Reporter: David Zhang <interneta340>
Component: window-tabbingAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description David Zhang 2011-02-02 04:20:58 UTC
Application: kwin (4.5.1 (KDE 4.5.1))
KDE Platform Version: 4.5.1 (KDE 4.5.1)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-25-generic i686
Distribution: Ubuntu 10.10

-- Information about the crash:
- What I was doing when the application crashed:

I grouped two windows together, and then right clicked on to do the shading, and then switched to the other window, KWin crashed. Every time.

The crash can be reproduced every time.

-- Backtrace:
Application: KWin (kwin), signal: Segmentation fault
[Current thread is 1 (Thread 0xb76eb720 (LWP 1465))]

Thread 2 (Thread 0xae5cfb70 (LWP 1485)):
#0  0x00a17e36 in clock_gettime () from /lib/librt.so.1
#1  0x0715550b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0x0722c6e5 in QTimerInfoList::updateCurrentTime (this=0x8d3fad8) at kernel/qeventdispatcher_unix.cpp:339
#4  0x0722c72a in QTimerInfoList::timerWait (this=0x8d3fad8, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x0722dcab in QEventDispatcherUNIX::processEvents (this=0x8d2ba40, flags=...) at kernel/qeventdispatcher_unix.cpp:906
#6  0x071fa609 in QEventLoop::processEvents (this=0xae5cf280, flags=) at kernel/qeventloop.cpp:149
#7  0x071faa8a in QEventLoop::exec (this=0xae5cf280, flags=...) at kernel/qeventloop.cpp:201
#8  0x070f6b7e in QThread::exec (this=0x8cce4d0) at thread/qthread.cpp:490
#9  0x071d935b in QInotifyFileSystemWatcherEngine::run (this=0x8cce4d0) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x070f9df9 in QThreadPrivate::start (arg=0x8cce4d0) at thread/qthread_unix.cpp:266
#11 0x00324cc9 in start_thread () from /lib/libpthread.so.0
#12 0x00b0469e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb76eb720 (LWP 1465)):
[KCrash Handler]
#7  0x082534f0 in __dynamic_cast () from /usr/lib/libstdc++.so.6
#8  0x0046164e in KWin::Toplevel::windowType (this=0x6e0069, direct=false, supported_types=0) at ../../kwin/toplevel.cpp:154
#9  0x003d750e in isDesktop (this=0x6e0069) at ../../kwin/toplevel.h:279
#10 KWin::Client::isSpecialWindow (this=0x6e0069) at ../../kwin/client.cpp:2076
#11 0x003d75b2 in KWin::Client::isShadeable (this=0x6e0069) at ../../kwin/client.cpp:950
#12 0x003df77f in KWin::Client::setShade (this=0x6e0069, mode=KWin::ShadeNormal) at ../../kwin/client.cpp:955
#13 0x003e2ec1 in KWin::ClientGroup::updateStates (this=0xb4ee55e0, main=0xb4eebd10, only=0x0) at ../../kwin/clientgroup.cpp:293
#14 0x00446435 in KWin::Client::setGeometry (this=0xb4eebd10, x=0, y=0, w=1024, h=27, force=KWin::NormalGeometrySet) at ../../kwin/geometry.cpp:2048
#15 0x003e2f27 in setGeometry (this=0xb4ee55e0, main=0xb3221ad0, only=0x0) at ../../kwin/client.h:901
#16 KWin::ClientGroup::updateStates (this=0xb4ee55e0, main=0xb3221ad0, only=0x0) at ../../kwin/clientgroup.cpp:295
#17 0x00446435 in KWin::Client::setGeometry (this=0xb3221ad0, x=0, y=0, w=1024, h=20, force=KWin::NormalGeometrySet) at ../../kwin/geometry.cpp:2048
#18 0x003e2f27 in setGeometry (this=0xb4ee55e0, main=0xb4eebd10, only=0x0) at ../../kwin/client.h:901
#19 KWin::ClientGroup::updateStates (this=0xb4ee55e0, main=0xb4eebd10, only=0x0) at ../../kwin/clientgroup.cpp:295
#20 0x00446435 in KWin::Client::setGeometry (this=0xb4eebd10, x=0, y=0, w=1024, h=737, force=KWin::NormalGeometrySet) at ../../kwin/geometry.cpp:2048
#21 0x0044eb21 in KWin::Client::setGeometry(QRect const&, KWin::ForceGeometry_t) () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so
#22 0x00447a41 in KWin::Client::blockGeometryUpdates (this=0xb4eebd10, block=false) at ../../kwin/geometry.cpp:2188
#23 0x0044807d in ~GeometryUpdatesBlocker (this=0xb4eebd10, vertical=true, horizontal=true, adjust=false) at ../../kwin/client.h:670
#24 KWin::Client::changeMaximize (this=0xb4eebd10, vertical=true, horizontal=true, adjust=false) at ../../kwin/geometry.cpp:2427
#25 0x00448c44 in KWin::Client::setMaximize (this=0xb4eebd10, vertically=true, horizontally=true) at ../../kwin/geometry.cpp:2211
#26 0x0044d545 in KWin::Client::finishMoveResize (this=0xb4eebd10, cancel=false) at ../../kwin/geometry.cpp:2850
#27 0x0041457b in KWin::Client::buttonReleaseEvent (this=0xb4eebd10, w=33703078, state=256, x=356, y=0, x_root=356, y_root=1) at ../../kwin/events.cpp:1398
#28 0x00415049 in KWin::Client::windowEvent (this=0xb4eebd10, e=0xbf8e905c) at ../../kwin/events.cpp:689
#29 0x00415985 in KWin::Workspace::workspaceEvent (this=0x859b3a0, e=0xbf8e905c) at ../../kwin/events.cpp:335
#30 0x003ecb32 in KWin::Application::x11EventFilter (this=0xbf8e9244, e=0xbf8e905c) at ../../kwin/main.cpp:363
#31 0x02e40eb0 in qt_x11EventFilter (ev=0xbf8e905c) at kernel/qapplication_x11.cpp:408
#32 0x02e51ab0 in QApplication::x11ProcessEvent (this=0xbf8e9244, event=0xbf8e905c) at kernel/qapplication_x11.cpp:3248
#33 0x02e82fc7 in QEventDispatcherX11::processEvents (this=0x849d980, flags=...) at kernel/qeventdispatcher_x11.cpp:132
#34 0x071fa609 in QEventLoop::processEvents (this=0xbf8e9194, flags=) at kernel/qeventloop.cpp:149
#35 0x071faa8a in QEventLoop::exec (this=0xbf8e9194, flags=...) at kernel/qeventloop.cpp:201
#36 0x071ff00f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#37 0x02dbee07 in QApplication::exec () at kernel/qapplication.cpp:3672
#38 0x003eec54 in kdemain (argc=1, argv=0xbf8e94a4) at ../../kwin/main.cpp:531
#39 0x080485ab in main (argc=1, argv=0xbf8e94a4) at kwin_dummy.cpp:3

Possible duplicates by query: bug 253336, bug 233756.

Reported using DrKonqi
Comment 1 Thomas Lübking 2011-02-02 22:30:27 UTC
Which decoration? Oxygen?
Though not a clear dupe of the others (no bridge invocation here) i can't reproduce (4.6) so it might have (implicitly? - shade strategy code also changed) fixed meanwhile.
Comment 2 David Zhang 2011-02-03 00:56:13 UTC
Yes, it's Oxygen. Let me know if u need more details. 
Thanks.



----- 原始邮件 ----
发件人: Thomas Lübking  <thomas.luebking@gmail.com>
收件人: interneta340@yahoo.com.cn
发送日期: 2011/2/2 (周三) 4:30:28 下午
主   题: [Bug 265160] KWin crashes when grouping windows trying to do shading

https://bugs.kde.org/show_bug.cgi?id=265160





--- Comment #1 from Thomas Lübking <thomas luebking gmail com>  2011-02-02 
22:30:27 ---
Which decoration? Oxygen?
Though not a clear dupe of the others (no bridge invocation here) i can't
reproduce (4.6) so it might have (implicitly? - shade strategy code also
changed) fixed meanwhile.
Comment 3 Thomas Lübking 2011-02-04 22:19:47 UTC
please test with 4.6.x if you can
Comment 4 Martin Flöser 2011-05-07 10:13:56 UTC
waiting for test results. Please reopen if you are able to reproduce with 4.6
Comment 5 Thomas Lübking 2012-02-11 15:03:11 UTC
Git commit 94b2ad7b85801e37e2df4671cdc4f26b6d7e5506 by Thomas Lübking.
Committed on 12/01/2012 at 07:42.
Pushed by luebking into branch 'master'.

fix tabbing
Related: bug 290959, bug 229292, bug 238279, bug 290758, bug 222831, bug 278275, bug 245747, bug 230000, bug 253697, bug 230570, bug 265977, bug 225337, bug 225339

REVIEW: 103855

M  +1    -1    kwin/CMakeLists.txt
M  +2    -2    kwin/activation.cpp
M  +92   -51   kwin/bridge.cpp
M  +17   -11   kwin/bridge.h
M  +77   -47   kwin/client.cpp
M  +21   -12   kwin/client.h
D  +0    -357  kwin/clientgroup.cpp
D  +0    -266  kwin/clientgroup.h
M  +0    -1    kwin/clients/CMakeLists.txt
M  +2    -2    kwin/clients/aurorae/src/aurorae.cpp
M  +51   -62   kwin/clients/oxygen/oxygenclient.cpp
M  +4    -4    kwin/clients/oxygen/oxygenclient.h
M  +3    -3    kwin/clients/oxygen/oxygenclientgroupitemdata.cpp
M  +1    -1    kwin/clients/oxygen/oxygenclientgroupitemdata.h
M  +1    -1    kwin/clients/oxygen/oxygenfactory.cpp
D  +0    -15   kwin/clients/tabstrip/CMakeLists.txt
D  +0    -10   kwin/clients/tabstrip/config/CMakeLists.txt
D  +0    -96   kwin/clients/tabstrip/config/tabstripconfig.cpp
D  +0    -56   kwin/clients/tabstrip/config/tabstripconfig.h
D  +0    -78   kwin/clients/tabstrip/config/tabstripconfig.ui
D  +0    -63   kwin/clients/tabstrip/tabstrip.desktop
D  +0    -317  kwin/clients/tabstrip/tabstripbutton.cpp
D  +0    -55   kwin/clients/tabstrip/tabstripbutton.h
D  +0    -443  kwin/clients/tabstrip/tabstripdecoration.cpp
D  +0    -60   kwin/clients/tabstrip/tabstripdecoration.h
D  +0    -113  kwin/clients/tabstrip/tabstripfactory.cpp
D  +0    -63   kwin/clients/tabstrip/tabstripfactory.h
M  +12   -10   kwin/effects.cpp
M  +3    -3    kwin/effects.h
M  +1    -1    kwin/effects/boxswitch/boxswitch.cpp
M  +4    -4    kwin/effects/desktopgrid/desktopgrid.cpp
M  +2    -2    kwin/effects/flipswitch/flipswitch.cpp
M  +3    -3    kwin/effects/highlightwindow/highlightwindow.cpp
M  +3    -3    kwin/effects/presentwindows/presentwindows.cpp
M  +1    -1    kwin/effects/slideback/slideback.cpp
M  +3    -3    kwin/events.cpp
M  +15   -15   kwin/geometry.cpp
M  +19   -14   kwin/kcmkwin/kwindecoration/preview.cpp
M  +12   -11   kwin/kcmkwin/kwindecoration/preview.h
M  +3    -3    kwin/kwinbindings.cpp
M  +4    -4    kwin/layers.cpp
M  +27   -22   kwin/libkdecorations/kcommondecoration.cpp
M  +13   -11   kwin/libkdecorations/kcommondecoration.h
M  +31   -24   kwin/libkdecorations/kdecoration.cpp
M  +45   -52   kwin/libkdecorations/kdecoration.h
M  +15   -11   kwin/libkdecorations/kdecorationbridge.h
M  +1    -1    kwin/libkwineffects/kwineffects.cpp
M  +5    -5    kwin/libkwineffects/kwineffects.h
M  +92   -25   kwin/manage.cpp
M  +5    -5    kwin/options.cpp
M  +2    -2    kwin/options.h
M  +2    -2    kwin/scene.cpp
M  +1    -1    kwin/scene.h
M  +1    -16   kwin/scripting/meta.cpp
M  +0    -11   kwin/scripting/meta.h
M  +0    -4    kwin/scripting/workspace_wrapper.cpp
M  +0    -4    kwin/scripting/workspace_wrapper.h
M  +11   -13   kwin/sm.cpp
M  +2    -2    kwin/sm.h
A  +295  -0    kwin/tabgroup.cpp     [License: GPL (v2)]
A  +186  -0    kwin/tabgroup.h     [License: GPL (v2)]
M  +4    -0    kwin/toplevel.cpp
M  +122  -166  kwin/useractions.cpp
M  +8    -90   kwin/workspace.cpp
M  +13   -31   kwin/workspace.h

http://commits.kde.org/kde-workspace/94b2ad7b85801e37e2df4671cdc4f26b6d7e5506
Comment 6 Thomas Lübking 2012-02-11 15:30:57 UTC
Git commit 206257d750ca75e9b666acfc1413781614ab9a2d by Thomas Lübking.
Committed on 12/01/2012 at 07:42.
Pushed by luebking into branch 'master'.

fix tabbing
Related: bug 290959, bug 229292, bug 238279, bug 290758, bug 222831, bug 278275, bug 245747, bug 230000, bug 253697, bug 230570, bug 265977, bug 225337, bug 225339

REVIEW: 103855

M  +1    -1    kwin/CMakeLists.txt
M  +2    -2    kwin/activation.cpp
M  +92   -51   kwin/bridge.cpp
M  +17   -11   kwin/bridge.h
M  +77   -47   kwin/client.cpp
M  +21   -12   kwin/client.h
D  +0    -357  kwin/clientgroup.cpp
D  +0    -266  kwin/clientgroup.h
M  +0    -1    kwin/clients/CMakeLists.txt
M  +2    -2    kwin/clients/aurorae/src/aurorae.cpp
M  +51   -62   kwin/clients/oxygen/oxygenclient.cpp
M  +4    -4    kwin/clients/oxygen/oxygenclient.h
M  +3    -3    kwin/clients/oxygen/oxygenclientgroupitemdata.cpp
M  +1    -1    kwin/clients/oxygen/oxygenclientgroupitemdata.h
M  +1    -1    kwin/clients/oxygen/oxygenfactory.cpp
D  +0    -15   kwin/clients/tabstrip/CMakeLists.txt
D  +0    -10   kwin/clients/tabstrip/config/CMakeLists.txt
D  +0    -96   kwin/clients/tabstrip/config/tabstripconfig.cpp
D  +0    -56   kwin/clients/tabstrip/config/tabstripconfig.h
D  +0    -78   kwin/clients/tabstrip/config/tabstripconfig.ui
D  +0    -63   kwin/clients/tabstrip/tabstrip.desktop
D  +0    -317  kwin/clients/tabstrip/tabstripbutton.cpp
D  +0    -55   kwin/clients/tabstrip/tabstripbutton.h
D  +0    -443  kwin/clients/tabstrip/tabstripdecoration.cpp
D  +0    -60   kwin/clients/tabstrip/tabstripdecoration.h
D  +0    -113  kwin/clients/tabstrip/tabstripfactory.cpp
D  +0    -63   kwin/clients/tabstrip/tabstripfactory.h
M  +12   -10   kwin/effects.cpp
M  +3    -3    kwin/effects.h
M  +1    -1    kwin/effects/boxswitch/boxswitch.cpp
M  +4    -4    kwin/effects/desktopgrid/desktopgrid.cpp
M  +2    -2    kwin/effects/flipswitch/flipswitch.cpp
M  +3    -3    kwin/effects/highlightwindow/highlightwindow.cpp
M  +3    -3    kwin/effects/presentwindows/presentwindows.cpp
M  +1    -1    kwin/effects/slideback/slideback.cpp
M  +3    -3    kwin/events.cpp
M  +15   -15   kwin/geometry.cpp
M  +19   -14   kwin/kcmkwin/kwindecoration/preview.cpp
M  +12   -11   kwin/kcmkwin/kwindecoration/preview.h
M  +3    -3    kwin/kwinbindings.cpp
M  +4    -4    kwin/layers.cpp
M  +27   -22   kwin/libkdecorations/kcommondecoration.cpp
M  +13   -11   kwin/libkdecorations/kcommondecoration.h
M  +31   -24   kwin/libkdecorations/kdecoration.cpp
M  +45   -52   kwin/libkdecorations/kdecoration.h
M  +15   -11   kwin/libkdecorations/kdecorationbridge.h
M  +1    -1    kwin/libkwineffects/kwineffects.cpp
M  +5    -5    kwin/libkwineffects/kwineffects.h
M  +92   -25   kwin/manage.cpp
M  +5    -5    kwin/options.cpp
M  +2    -2    kwin/options.h
M  +2    -2    kwin/scene.cpp
M  +1    -1    kwin/scene.h
M  +1    -16   kwin/scripting/meta.cpp
M  +0    -11   kwin/scripting/meta.h
M  +0    -4    kwin/scripting/workspace_wrapper.cpp
M  +0    -4    kwin/scripting/workspace_wrapper.h
M  +11   -13   kwin/sm.cpp
M  +2    -2    kwin/sm.h
A  +295  -0    kwin/tabgroup.cpp     [License: GPL (v2)]
A  +186  -0    kwin/tabgroup.h     [License: GPL (v2)]
M  +4    -0    kwin/toplevel.cpp
M  +122  -166  kwin/useractions.cpp
M  +8    -90   kwin/workspace.cpp
M  +13   -31   kwin/workspace.h

http://commits.kde.org/kde-workspace/206257d750ca75e9b666acfc1413781614ab9a2d