<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>263306</bug_id>
          
          <creation_ts>2011-01-16 11:51:25 +0000</creation_ts>
          <short_desc>[BoxSwitch] Crash when last window is closed</short_desc>
          <delta_ts>2011-05-07 11:14:20 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Plasma</classification>
          <product>kwin</product>
          <component>general</component>
          <version>unspecified</version>
          <rep_platform>Compiled Sources</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>crash</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Flöser">mgraesslin</reporter>
          <assigned_to name="KWin default assignee">kwin-bugs-null</assigned_to>
          
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin>4.7.0</cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1073932</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2011-01-16 11:51:25 +0000</bug_when>
    <thetext>Application: kwin (4.6.41 (4.7 &gt;= 20110106))
KDE Platform Version: 4.6.41 (4.7 &gt;= 20110106) (Compiled from sources)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-trunk-amd64 x86_64
Distribution: Debian GNU/Linux 6.0 (n/a)

-- Information about the crash:
- What I was doing when the application crashed:
1. Go to a desktop without any windows
2. Open Kopete contact list with setting to autohide contact list
3. Activate the desktop to make Kopete inactive
4. Start alt+tab with boxswitch and window animation - only one entry for Kopete should be shown
5. Wait till Kopete contact lists get&apos;s hidden
6. CRASH

- Custom settings of the application:
Boxswitch with animate thumbnails, kwin-gles branch running (though desktop gl 1.x).

-- Backtrace:
Application: KWin (kwin), signal: Aborted
[Current thread is 1 (Thread 0x7ffc9e485780 (LWP 21048))]

Thread 2 (Thread 0x7ffc86991710 (LWP 21052)):
#0  0x00007ffc9b46916c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007ffc9dabe954 in ?? () from /usr/lib/libQtScript.so.4
#2  0x00007ffc9dabe989 in ?? () from /usr/lib/libQtScript.so.4
#3  0x00007ffc9b4648ba in start_thread () from /lib/libpthread.so.0
#4  0x00007ffc97b1e02d in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ffc9e485780 (LWP 21048)):
[KCrash Handler]
#6  0x00007ffc97a81165 in raise () from /lib/libc.so.6
#7  0x00007ffc97a83f70 in abort () from /lib/libc.so.6
#8  0x00007ffc9b6fcf8f in qt_message_output(QtMsgType, char const*) () from /usr/lib/libQtCore.so.4
#9  0x00007ffc9b6fd132 in ?? () from /usr/lib/libQtCore.so.4
#10 0x00007ffc9b6fd2e5 in qFatal(char const*, ...) () from /usr/lib/libQtCore.so.4
#11 0x00007ffc86a95b3c in QList&lt;KWin::EffectWindow*&gt;::last (this=0x7fffbf576c30) at /usr/include/qt4/QtCore/qlist.h:271
#12 0x00007ffc86a90c04 in KWin::BoxSwitchEffect::calculateItemSizes (this=0x1948250) at /opt/kde/src/KDE/kdebase/workspace/kwin/effects/boxswitch/boxswitch.cpp:718
#13 0x00007ffc86a8f23b in KWin::BoxSwitchEffect::tabBoxUpdated (this=0x1948250) at /opt/kde/src/KDE/kdebase/workspace/kwin/effects/boxswitch/boxswitch.cpp:449
#14 0x00007ffc9e136cba in KWin::EffectsHandlerImpl::tabBoxUpdated (this=0x185d8f0) at /opt/kde/src/KDE/kdebase/workspace/kwin/effects.cpp:398
#15 0x00007ffc9e097177 in KWin::TabBox::TabBox::setCurrentIndex (this=0x1904f60, index=..., notifyEffects=true) at /opt/kde/src/KDE/kdebase/workspace/kwin/tabbox.cpp:470
#16 0x00007ffc9e096d48 in KWin::TabBox::TabBox::reset (this=0x1904f60, partial_reset=true) at /opt/kde/src/KDE/kdebase/workspace/kwin/tabbox.cpp:360
#17 0x00007ffc9e05d38a in KWin::Workspace::removeClient (this=0x181b250, c=0x1ee5ae0) at /opt/kde/src/KDE/kdebase/workspace/kwin/workspace.cpp:724
#18 0x00007ffc9e075245 in KWin::Client::releaseWindow (this=0x1ee5ae0, on_shutdown=false) at /opt/kde/src/KDE/kdebase/workspace/kwin/client.cpp:265
#19 0x00007ffc9e0b9f79 in KWin::Client::unmapNotifyEvent (this=0x1ee5ae0, e=0x7fffbf5779c0) at /opt/kde/src/KDE/kdebase/workspace/kwin/events.cpp:809
#20 0x00007ffc9e0b992a in KWin::Client::windowEvent (this=0x1ee5ae0, e=0x7fffbf5779c0) at /opt/kde/src/KDE/kdebase/workspace/kwin/events.cpp:655
#21 0x00007ffc9e0b87fb in KWin::Workspace::workspaceEvent (this=0x181b250, e=0x7fffbf5779c0) at /opt/kde/src/KDE/kdebase/workspace/kwin/events.cpp:304
#22 0x00007ffc9e093106 in KWin::Application::x11EventFilter (this=0x7fffbf577c10, e=0x7fffbf5779c0) at /opt/kde/src/KDE/kdebase/workspace/kwin/main.cpp:367
#23 0x00007ffc9a9b6da1 in ?? () from /usr/lib/libQtGui.so.4
#24 0x00007ffc9a9c6951 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#25 0x00007ffc9a9f3967 in ?? () from /usr/lib/libQtGui.so.4
#26 0x00007ffc9b7f6732 in QEventLoop::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) () from /usr/lib/libQtCore.so.4
#27 0x00007ffc9b7f6b1c in QEventLoop::exec(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) () from /usr/lib/libQtCore.so.4
#28 0x00007ffc9b7fabbb in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#29 0x00007ffc9e09426c in kdemain (argc=2, argv=0x7fffbf578248) at /opt/kde/src/KDE/kdebase/workspace/kwin/main.cpp:542
#30 0x0000000000400946 in main (argc=2, argv=0x7fffbf578248) at /opt/kde/build/KDE/kdebase/workspace/kwin/kwin_dummy.cpp:3

Possible duplicates by query: bug 207512, bug 201729, bug 201366, bug 195821, bug 195295.

Reported using DrKonqi</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074051</commentid>
    <comment_count>1</comment_count>
    <who name="Thomas Lübking">thomas.luebking</who>
    <bug_when>2011-01-16 15:58:53 +0000</bug_when>
    <thetext>probably a dupe of all mentioned.

seems the QHash&lt; EffectWindow*, ItemInfo* &gt;::operator[] gets in trouble.
the qFatal is a QList::isEmpty() assertion and the list is part of the hash, during ::contains() for the ::operator[]

could be an upstream issue or corrupted memory (but it happens a bit too predictable for this) - avoiding the (completely poitless) operator[] should however circumvent it.

(it does btw. not look like possibly present(?) Info values would be replaced or at least deleted -&gt; hello leak?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115973</commentid>
    <comment_count>2</comment_count>
    <who name="Martin Flöser">mgraesslin</who>
    <bug_when>2011-05-07 11:14:20 +0000</bug_when>
    <thetext>Git commit 52147c672de192d7a02183f2ab38ef2d1de2af9b by Martin Gräßlin.
Committed on 07/05/2011 at 11:23.
Pushed by graesslin into branch &apos;master&apos;.

Ensure that list is not empty before accessing

With settings to animate windows in boxswitch it was
possible that an empty list was accessed when the last
window closed.
BUG: 263306
FIXED-IN: 4.7.0

M  +4    -0    kwin/effects/boxswitch/boxswitch.cpp     

http://commits.kde.org/kde-workspace/52147c672de192d7a02183f2ab38ef2d1de2af9b</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>