Bug 306348

Summary: kwin freezes when pressing Alt+Tab (using the cover switch effect) in an empty virtual desktop.
Product: [Plasma] kwin Reporter: Jekyll Wu <adaptee>
Component: tabboxAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: critical    
Priority: NOR    
Version: git master   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Jekyll Wu 2012-09-06 14:38:03 UTC
This looks like a recent regression. I noticed it for the first time maybe when bug 305875 was introduced, and encountered it for another two or three times afterward. Today I finally find out how to reproduce it 100%, as described in the title.

I built kwin from the current HEAD ( 883628749ac942b486ecf32a5dbbec0fda6a0b57 )

I'm using nouveau 1.0.1 and kernel-3.5.3 . Haven't tried the official nvidia driver, if that matters.

Here is the backtrace obtained after the freeze :

#0  0xb76bd988 in deref (this=<optimized out>) at /usr/include/qt4/QtCore/qatomic_i386.h:127
#1  ~QList (this=<optimized out>, this=<optimized out>, this=<optimized out>) at /usr/include/qt4/QtCore/qlist.h:731
#2  QListIterator (this=<optimized out>, this=<optimized out>, this=<optimized out>, container=..., this=<optimized out>, container=...)
    at /usr/include/qt4/QtCore/qlist.h:730
#3  KWin::TabBox::TabBoxHandlerImpl::checkApplications (this=<optimized out>, client=0x961f498)
    at /tmp/portage/kde-base/kwin-9999/work/kwin-9999/kwin/tabbox/tabbox.cpp:165
#4  0xb76be0d2 in KWin::TabBox::TabBoxHandlerImpl::clientToAddToList (this=<optimized out>, 
    client=<error reading variable: Unhandled dwarf expression opcode 0x0>, desktop=<optimized out>)
    at /tmp/portage/kde-base/kwin-9999/work/kwin-9999/kwin/tabbox/tabbox.cpp:236
#5  0xb76cabcb in KWin::TabBox::ClientModel::createClientList (this=<optimized out>, desktop=<optimized out>, 
    partialReset=<error reading variable: Unhandled dwarf expression opcode 0x0>)
    at /tmp/portage/kde-base/kwin-9999/work/kwin-9999/kwin/tabbox/clientmodel.cpp:173
#6  0xb76ca5c0 in KWin::TabBox::ClientModel::createClientList (this=0x8f8c5e8, partialReset=<optimized out>)
    at /tmp/portage/kde-base/kwin-9999/work/kwin-9999/kwin/tabbox/clientmodel.cpp:145
#7  0xb76d2734 in KWin::TabBox::TabBoxHandler::createModel (this=<error reading variable: Unhandled dwarf expression opcode 0x0>, 
    partialReset=<error reading variable: Unhandled dwarf expression opcode 0x2>)
    at /tmp/portage/kde-base/kwin-9999/work/kwin-9999/kwin/tabbox/tabboxhandler.cpp:454
#8  0xb76c22a9 in KWin::TabBox::TabBox::reset (this=<error reading variable: Unhandled dwarf expression opcode 0xdd>, 
    partial_reset=<error reading variable: Unhandled dwarf expression opcode 0x7>) at /tmp/portage/kde-base/kwin-9999/work/kwin-9999/kwin/tabbox/tabbox.cpp:539
#9  0xb76c49c5 in KWin::TabBox::TabBox::startKDEWalkThroughWindows (this=<optimized out>, mode=<error reading variable: Unhandled dwarf expression opcode 0x7>)
    at /tmp/portage/kde-base/kwin-9999/work/kwin-9999/kwin/tabbox/tabbox.cpp:1177
#10 0xb76c4176 in KWin::TabBox::TabBox::navigatingThroughWindows (this=<optimized out>, forward=<optimized out>, 
    shortcut=<error reading variable: Unhandled dwarf expression opcode 0xc8>, mode=<error reading variable: Unhandled dwarf expression opcode 0x1>)
    at /tmp/portage/kde-base/kwin-9999/work/kwin-9999/kwin/tabbox/tabbox.cpp:907
#11 0xb76c7e0c in slotWalkThroughWindows (this=<error reading variable: Unhandled dwarf expression opcode 0x0>)
    at /tmp/portage/kde-base/kwin-9999/work/kwin-9999/kwin/tabbox/tabbox.cpp:921
#12 KWin::TabBox::TabBox::qt_static_metacall (_o=<optimized out>, _c=QMetaObject::InvokeMetaMethod, 
    _id=<error reading variable: Unhandled dwarf expression opcode 0x7>, _a=<error reading variable: Unhandled dwarf expression opcode 0x0>)
    at /tmp/portage/kde-base/kwin-9999/work/kwin-9999_build/kwin/tabbox.moc:153
#13 0xb5e92761 in QMetaObject::activate (sender=0x8f56040, m=0xb5cbea78 <QAction::staticMetaObject>, local_signal_index=1, argv=0xbfded868)
    at kernel/qobject.cpp:3547
#14 0xb537a3ad in QAction::triggered (this=0x8f56040, _t1=false) at .moc/release-shared/moc_qaction.cpp:277
#15 0xb537a64b in QAction::activate (this=0x8f56040, event=QAction::Trigger) at kernel/qaction.cpp:1257
#16 0xb7195d0f in trigger (this=0x8f56040) at /usr/include/qt4/QtGui/qaction.h:218
#17 KGlobalAccelPrivate::_k_invokeAction (this=0x8f8e130, componentUnique=..., actionUnique=..., timestamp=69834425)
    at /mnt/personal/build/portage/kde-base/kdelibs-9999/work/kdelibs-9999/kdeui/shortcuts/kglobalaccel.cpp:449
#18 0xb7196c46 in qt_static_metacall (_a=0xbfdeda30, _o=0x8f6ce10, _c=<optimized out>, _id=<optimized out>)
    at /mnt/personal/build/portage/kde-base/kdelibs-9999/work/kdelibs-9999_build/kdeui/kglobalaccel.moc:54
#19 KGlobalAccel::qt_static_metacall (_o=0x8f6ce10, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfdeda30)
    at /mnt/personal/build/portage/kde-base/kdelibs-9999/work/kdelibs-9999_build/kdeui/kglobalaccel.moc:48
#20 0xb5e92761 in QMetaObject::activate (sender=0x8f6fa08, m=0xb7399598 <OrgKdeKglobalaccelComponentInterface::staticMetaObject>, local_signal_index=0, 
    argv=0xbfdeda30) at kernel/qobject.cpp:3547
#21 0xb72d2f05 in OrgKdeKglobalaccelComponentInterface::globalShortcutPressed (this=0x8f6fa08, _t1=..., _t2=..., _t3=69834425)
    at /mnt/personal/build/portage/kde-base/kdelibs-9999/work/kdelibs-9999_build/kdeui/kglobalaccel_component_interface.moc:164
#22 0xb72d364e in qt_static_metacall (_a=0xbfdedc08, _id=0, _o=0x8f6fa08, _c=<optimized out>)
    at /mnt/personal/build/portage/kde-base/kdelibs-9999/work/kdelibs-9999_build/kdeui/kglobalaccel_component_interface.moc:75
#23 OrgKdeKglobalaccelComponentInterface::qt_static_metacall (_o=0x8f6fa08, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfdedc08)
    at /mnt/personal/build/portage/kde-base/kdelibs-9999/work/kdelibs-9999_build/kdeui/kglobalaccel_component_interface.moc:69
#24 0xb72d3bfc in OrgKdeKglobalaccelComponentInterface::qt_metacall (this=0x8f6fa08, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfdedc08)
    at /mnt/personal/build/portage/kde-base/kdelibs-9999/work/kdelibs-9999_build/kdeui/kglobalaccel_component_interface.moc:130
#25 0xb5ffa565 in ?? () from /usr/lib/qt4/libQtDBus.so.4
#26 0xb60047dd in ?? () from /usr/lib/qt4/libQtDBus.so.4
#27 0xb5e96d0b in QObject::event (this=0x8f6fa08, e=0x9553260) at kernel/qobject.cpp:1195
#28 0xb5381cf4 in notify_helper (e=0x9553260, receiver=0x8f6fa08, this=0x8e04658) at kernel/qapplication.cpp:4557
#29 QApplicationPrivate::notify_helper (this=0x8e04658, receiver=0x8f6fa08, e=0x9553260) at kernel/qapplication.cpp:4529
#30 0xb5387b4a in QApplication::notify (this=0x9553260, receiver=0x8f6fa08, e=0x9553260) at kernel/qapplication.cpp:4286
#31 0xb7142ec1 in KApplication::notify (this=0xbfdee4b8, receiver=0x8f6fa08, event=0x9553260)
    at /mnt/personal/build/portage/kde-base/kdelibs-9999/work/kdelibs-9999/kdeui/kernel/kapplication.cpp:311
#32 0xb75de48e in KWin::Application::notify (
    this=<error reading variable: DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjunction with DW_OP_piece or DW_OP_bit_piece.>, o=<error reading variable: Unhandled dwarf expression opcode 0x2>, e=<error reading variable: Unhandled dwarf expression opcode 0x2>)
    at /tmp/portage/kde-base/kwin-9999/work/kwin-9999/kwin/main.cpp:371
#33 0xb5e7bf5e in QCoreApplication::notifyInternal (this=0xbfdee4b8, receiver=0x8f6fa08, event=0x9553260) at kernel/qcoreapplication.cpp:915
#34 0xb5e7fb30 in sendEvent (event=<optimized out>, receiver=<optimized out>) at kernel/qcoreapplication.h:231
#35 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8dba130) at kernel/qcoreapplication.cpp:1539
#36 0xb5e7fe6c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1432
#37 0xb543536a in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#38 QEventDispatcherX11::processEvents (this=0x8dbaea0, flags=...) at kernel/qeventdispatcher_x11.cpp:75
#39 0xb5e7a80d in QEventLoop::processEvents (this=0xbfdee3c4, flags=...) at kernel/qeventloop.cpp:149
#40 0xb5e7aaa9 in QEventLoop::exec (this=0xbfdee3c4, flags=...) at kernel/qeventloop.cpp:204
#41 0xb5e7ff1a in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#42 0xb537f3b4 in QApplication::exec () at kernel/qapplication.cpp:3818
#43 0xb75dfc60 in kdemain (argc=<optimized out>, argv=<optimized out>) at /tmp/portage/kde-base/kwin-9999/work/kwin-9999/kwin/main.cpp:545
#44 0xb73bc597 in __libc_start_main (main=0x8048710 <main(int, char**)>, argc=1, ubp_av=0xbfdee804, init=0x8048720 <__libc_csu_init>, 
    fini=0x8048780 <__libc_csu_fini>, rtld_fini=0xb778f3b0 <_dl_fini>, stack_end=0xbfdee7fc) at libc-start.c:226
#45 0x08048641 in _start () at ../sysdeps/i386/elf/start.S:119





Reproducible: Always

Steps to Reproduce:
1. Choose the "cover switch" effect for switching window
2. go to an empty virtual desktop and press Alt+Tab

Actual Results:  
kwin freezes

Expected Results:  
it should not freeze
Comment 1 Jekyll Wu 2012-09-06 14:38:49 UTC
$ qdbus org.kde.kwin /KWin supportInformation 

KWin Support Information:
The following information should be used when requesting support on e.g. http://forum.kde.org.
It provides information about the currently running instance, which options are used,
what OpenGL driver and which effects are running.
Please post the information provided underneath this introductory text to a paste bin service
like http://paste.kde.org instead of pasting into support threads.

==========================

Options
=======
focusPolicy: 0
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: false
activeMouseScreen: false
placement: 4
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10
centerSnapZone: 0
snapOnlyWhenOverlapping: false
showDesktopIsMinimizeAll: false
rollOverDesktops: true
focusStealingPreventionLevel: 2
legacyFullscreenSupport: false
operationTitlebarDblClick: 
commandActiveTitlebar1: 0
commandActiveTitlebar2: 30
commandActiveTitlebar3: 2
commandInactiveTitlebar1: 4
commandInactiveTitlebar2: 30
commandInactiveTitlebar3: 2
commandWindow1: 7
commandWindow2: 8
commandWindow3: 8
commandWindowWheel: 31
commandAll1: 10
commandAll2: 3
commandAll3: 14
keyCmdAllModKey: 16777251
showGeometryTip: false
electricBorders: false
electricBorderDelay: 150
electricBorderCooldown: 350
electricBorderPushbackPixels: 1
electricBorderMaximize: false
electricBorderTiling: false
borderlessMaximizedWindows: false
killPingTimeout: 5000
hideUtilityWindowsForInactive: true
inactiveTabsSkipTaskbar: false
autogroupSimilarWindows: false
autogroupInForeground: true
compositingMode: 1
useCompositing: true
compositingInitialized: true
hiddenPreviews: 1
unredirectFullscreen: false
glSmoothScale: 1
glVSync: true
xrenderSmoothScale: false
maxFpsInterval: 17
refreshRate: 0
vBlankTime: 6144
glDirect: true
glStrictBinding: true
glStrictBindingFollowsDriver: true

Compositing
===========
Qt Graphics System: raster
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: nouveau
OpenGL renderer string: Gallium 0.4 on NV86
OpenGL version string: 3.0 Mesa 9.0-devel
Driver: Nouveau
GPU class: G80/G90
OpenGL version: 3.0
Mesa version: 9.0
X server version: 1.12.99
Linux kernel version: 3.5.3
Direct rendering: yes
Requires strict binding: yes
GLSL shaders:  yes
Texture NPOT support:  yes
OpenGL 2 Shaders are used

Loaded Effects:
---------------
kwin4_effect_zoom
kwin4_effect_login
kwin4_effect_slidingpopups
kwin4_effect_coverswitch
kwin4_effect_translucency
kwin4_effect_screenshot
kwin4_effect_slide
kwin4_effect_diminactive
kwin4_effect_fade
kwin4_effect_dialogparent
kwin4_effect_taskbarthumbnail
kwin4_effect_presentwindows
kwin4_effect_blur
kwin4_effect_dashboard

Currently Active Effects:
-------------------------
kwin4_effect_translucency
kwin4_effect_diminactive
kwin4_effect_blur

Effect Settings:
----------------
kwin4_effect_zoom:
zoomFactor: 1.25
mousePointer: 0
mouseTracking: 0
enableFocusTracking: false
followFocus: true
focusDelay: 350
moveFactor: 20
targetZoom: 1

kwin4_effect_login:
fadeToBlack: false

kwin4_effect_slidingpopups:
fadeInTime: 125
fadeOutTime: 125

kwin4_effect_coverswitch:
animationDuration: 100
animateSwitch: true
animateStart: true
animateStop: true
reflection: true
windowTitle: true
zPosition: 592
dynamicThumbnails: true
thumbnailWindows: 8
primaryTabBox: true
secondaryTabBox: false

kwin4_effect_translucency:
decoration: 1
moveResize: 0.8
dialogs: 1
inactive: 1
comboboxPopups: 1
menus: 1
individualMenuConfig: false
dropDownMenus: 1
popupMenus: 1
tornOffMenus: 1
moveResizeDuration: 400
activeInactiveDuration: 400

kwin4_effect_screenshot:

kwin4_effect_slide:

kwin4_effect_diminactive:
dimPanels: false
dimDesktop: false
dimKeepAbove: false
dimByGroup: true
dimStrength: 25

kwin4_effect_fade:

kwin4_effect_dialogparent:
changeTime: 150

kwin4_effect_taskbarthumbnail:

kwin4_effect_presentwindows:
layoutMode: 0
showCaptions: true
showIcons: true
doNotCloseWindows: false
ignoreMinimized: false
accuracy: 20
fillGaps: true
fadeDuration: 75
showPanel: false
leftButtonWindow: 1
rightButtonWindow: 2
middleButtonWindow: 0
leftButtonDesktop: 2
middleButtonDesktop: 0
rightButtonDesktop: 0
dragToClose: false

kwin4_effect_blur:
blurRadius: 12
cacheTexture: true

kwin4_effect_dashboard:
brightness: 0.5
saturation: 0.5
blur: false
Comment 2 Thomas Lübking 2012-09-06 14:41:38 UTC
sure it's not bug #306260 (ie. how recent is your version and is the patch merged to master? (no access to my build sys atm.))
Comment 3 Martin Flöser 2012-09-06 14:43:23 UTC
> is the patch
> merged to master? (no access to my build sys atm.))
no
Comment 4 Martin Flöser 2012-09-07 06:35:59 UTC
I merged KDE/4.9 into master, so please test again.
Comment 5 Jekyll Wu 2012-09-07 13:57:16 UTC
No freezing now. Thanks
Comment 6 Thomas Lübking 2012-09-07 13:59:03 UTC

*** This bug has been marked as a duplicate of bug 306260 ***