Application: kwin (4.7.95 (4.8 RC1 (4.7.95)) KDE Platform Version: 4.7.95 (4.8 RC1 (4.7.95) Qt Version: 4.7.4 Operating System: Linux 3.0.0-15-generic x86_64 Distribution: Ubuntu 11.10 -- Information about the crash: - What I was doing when the application crashed: I closed a Firefox window when crash occured. There were two of them, do not know if that is relevant. -- Backtrace: Application: KWin (kwin), signal: Segmentation fault [Current thread is 1 (Thread 0x7f107977b7a0 (LWP 3870))] Thread 3 (Thread 0x7f1070c93700 (LWP 3889)): #0 0x00000030c1cda913 in select () at ../sysdeps/unix/syscall-template.S:82 #1 0x00000030ca594bc6 in qt_safe_select (nfds=18, fdread=0x1d81c40, fdwrite=0x1d81ed8, fdexcept=0x1d82170, orig_timeout=<optimized out>) at kernel/qcore_unix.cpp:82 #2 0x00000030ca59a330 in QEventDispatcherUNIXPrivate::doSelect (this=0x1d81a80, flags=..., timeout=0x0) at kernel/qeventdispatcher_unix.cpp:219 #3 0x00000030ca59a833 in QEventDispatcherUNIX::processEvents (this=0x1f14c60, flags=...) at kernel/qeventdispatcher_unix.cpp:918 #4 0x00000030ca56bcf2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #5 0x00000030ca56bef7 in QEventLoop::exec (this=0x7f1070c92db0, flags=...) at kernel/qeventloop.cpp:201 #6 0x00000030ca48327f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:498 #7 0x00000030ca54ecbf in QInotifyFileSystemWatcherEngine::run (this=0x1d80ae0) at io/qfilesystemwatcher_inotify.cpp:248 #8 0x00000030ca485d05 in QThreadPrivate::start (arg=0x1d80ae0) at thread/qthread_unix.cpp:331 #9 0x00000030c2407efc in start_thread (arg=0x7f1070c93700) at pthread_create.c:304 #10 0x00000030c1ce189d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #11 0x0000000000000000 in ?? () Thread 2 (Thread 0x7f106bfff700 (LWP 3890)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162 #1 0x00000030d3b86fe2 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x30d3e801e0) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359 #2 0x00000030d3b87019 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464 #3 0x00000030c2407efc in start_thread (arg=0x7f106bfff700) at pthread_create.c:304 #4 0x00000030c1ce189d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #5 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f107977b7a0 (LWP 3870)): [KCrash Handler] #6 size (this=0xff0000ffc8) at /usr/include/qt4/QtCore/qlist.h:828 #7 QList<KWin::ClientGroup*>::indexOf (this=0xff0000ffc8, t=@0x7fff9ffb5cf8, from=0) at /usr/include/qt4/QtCore/qlist.h:831 #8 0x00007f1079e62abc in KWin::Workspace::indexOfClientGroup (this=<optimized out>, group=0x0) at ../../kwin/workspace.cpp:2108 #9 0x00007f1079e71039 in KWin::Client::setClientGroup (this=0x35bd890, group=<optimized out>) at ../../kwin/client.cpp:1917 #10 0x00007f1079e66056 in KWin::Workspace::removeClientGroup (this=0x1afb470, group=0x1f37c60) at ../../kwin/workspace.cpp:2128 #11 0x00007f1079e78c59 in KWin::ClientGroup::remove (this=0x1f37c60, c=0x22b6e20, newGeom=..., toNullGroup=true) at ../../kwin/clientgroup.cpp:156 #12 0x00007f1079e76f30 in KWin::Client::releaseWindow (this=0x22b6e20, on_shutdown=false) at ../../kwin/client.cpp:279 #13 0x00007f1079e8fb79 in KWin::Client::windowEvent (this=0x22b6e20, e=0x7fff9ffb6540) at ../../kwin/events.cpp:588 #14 0x00007f1079e9018d in KWin::Workspace::workspaceEvent (this=0x1afb470, e=0x7fff9ffb6540) at ../../kwin/events.cpp:293 #15 0x00007f1079e82708 in KWin::Application::x11EventFilter (this=0x7fff9ffb6850, e=0x7fff9ffb6540) at ../../kwin/main.cpp:359 #16 0x000000345706ba55 in qt_x11EventFilter (ev=0x7fff9ffb6540) at kernel/qapplication_x11.cpp:440 #17 qt_x11EventFilter (ev=0x7fff9ffb6540) at kernel/qapplication_x11.cpp:428 #18 0x000000345707ac90 in QApplication::x11ProcessEvent (this=0x7fff9ffb6850, event=0x7fff9ffb6540) at kernel/qapplication_x11.cpp:3402 #19 0x00000034570a4e2a in QEventDispatcherX11::processEvents (this=0x1925f40, flags=...) at kernel/qeventdispatcher_x11.cpp:132 #20 0x00000030ca56bcf2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #21 0x00000030ca56bef7 in QEventLoop::exec (this=0x7fff9ffb6790, flags=...) at kernel/qeventloop.cpp:201 #22 0x00000030ca570789 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064 #23 0x00007f1079e84e56 in kdemain (argc=<optimized out>, argv=<optimized out>) at ../../kwin/main.cpp:525 #24 0x00000030c1c2130d in __libc_start_main (main=0x400640 <main(int, char**)>, argc=3, ubp_av=0x7fff9ffb6eb8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff9ffb6ea8) at libc-start.c:226 #25 0x0000000000400671 in _start () Reported using DrKonqi
This one's gonna be more tricky since the bug is likely not in this location but the clientgroup data has likely been invalidated before The interesting line is #8 0x00007f1079e62abc in KWin::Workspace::indexOfClientGroup (this=<optimized out>, group=0x0) at ../../kwin/workspace.cpp:2108 group is NULL, what means that one of the clients in clientGroups.at('n') has a backref to a NULL clientGroup or (rather, because i doubt QList is broken at this point) the clientGroup object at this time is just junk and the stack polluted.... @M. Wege Did you maybe switch decorations or toggle tabbing support in the oxygen decoration? Otherwise there's a chance that we just fixed the source of this issue for RC2
meh I am seriously tempted to wrap all ClientGroup stuff in smart pointers. Oh and just for the record: you did not use KWin scripting to group windows, right? Because that was/is rather broken till 4.9
(In reply to comment #2) > meh I am seriously tempted to wrap all ClientGroup stuff in smart pointers. I'm not too sure that this would help us here - it's more like the list has been messed up internally, ie. size() is not all correct at this moment, and his is an out of bounds access. I suspect the autoremove-on-deletion "feature" - or it's scripting ;-)
> Did you maybe switch decorations No. > or toggle tabbing support in the oxygen > decoration? Aehm, I did detach the Firefox window which was grouped with another Firefox window. But not directly before, rather much earlier. >Oh and just for the record: you did not use KWin scripting to group windows, >right? Because that was/is rather broken till 4.9 Not that I am aware off.
(In reply to comment #4) > Aehm, I did detach the Firefox window which was grouped with another Firefox > window. But not directly before, rather much earlier. I actually meant the config setting the oxygen deco provides (it can disable tabbing support - for a reason) However, does this read "the firefox window which i closed and any other window which might have closed in consequence was NOT member of a tabgroup at that time at all!" ?
>However, does this read "the firefox window which i closed and any other > window which might have closed in consequence was NOT member of a tabgroup at > that time at all!" ? correct.
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 265160, bug 229292, bug 238279, 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
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 265160, bug 229292, bug 238279, 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
Perhaps not fixed? I just experienced a similar crash, also when closing a firefox window: Application: kwin (4.8.2 (4.8.2)) KDE Platform Version: 4.8.2 (4.8.2) Qt Version: 4.8.1 Operating System: Linux 3.2.0-24-generic x86_64 Distribution: Ubuntu 12.04 LTS Application: KWin (kwin), signal: Segmentation fault Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [Current thread is 1 (Thread 0x7f9668a437c0 (LWP 2277))] Thread 3 (Thread 0x7f9649868700 (LWP 2286)): #0 0x00007fff05bff8de in ?? () #1 0x00007f965d4df15d in __GI_clock_gettime (clock_id=<optimized out>, tp=<optimized out>) at ../sysdeps/unix/clock_gettime.c:116 #2 0x00007f96638c7bb4 in do_gettime (frac=0x7f9649867b68, sec=0x7f9649867b60) at tools/qelapsedtimer_unix.cpp:123 #3 qt_gettime () at tools/qelapsedtimer_unix.cpp:140 #4 0x00007f966399fb8d in QTimerInfoList::updateCurrentTime (this=0x7f9640001198) at kernel/qeventdispatcher_unix.cpp:343 #5 0x00007f966399fec3 in QTimerInfoList::timerWait (this=0x7f9640001198, tm=...) at kernel/qeventdispatcher_unix.cpp:450 #6 0x00007f96639a1d31 in QEventDispatcherUNIX::processEvents (this=0x7f9640000910, flags=...) at kernel/qeventdispatcher_unix.cpp:913 #7 0x00007f966396ec82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #8 0x00007f966396eed7 in QEventLoop::exec (this=0x7f9649867cd0, flags=...) at kernel/qeventloop.cpp:204 #9 0x00007f966386dfa7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501 #10 0x00007f966394e9ff in QInotifyFileSystemWatcherEngine::run (this=0x1cd8960) at io/qfilesystemwatcher_inotify.cpp:248 #11 0x00007f9663870fcb in QThreadPrivate::start (arg=0x1cd8960) at thread/qthread_unix.cpp:298 #12 0x00007f96644bdb74 in ?? () from /usr/lib/nvidia-current-updates/libGL.so.1 #13 0x00007f965ca9be9a in start_thread (arg=0x7f9649868700) at pthread_create.c:308 #14 0x00007f96682594bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #15 0x0000000000000000 in ?? () Thread 2 (Thread 0x7f9649067700 (LWP 2287)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162 #1 0x00007f9664d12222 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4 #2 0x00007f9664d12259 in ?? () from /usr/lib/x86_64-linux-gnu/libQtScript.so.4 #3 0x00007f96644bdb74 in ?? () from /usr/lib/nvidia-current-updates/libGL.so.1 #4 0x00007f965ca9be9a in start_thread (arg=0x7f9649067700) at pthread_create.c:308 #5 0x00007f96682594bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #6 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f9668a437c0 (LWP 2277)): [KCrash Handler] #6 size (this=0x12000ca) at /usr/include/qt4/QtCore/qlist.h:847 #7 QList<KWin::ClientGroup*>::indexOf (this=0x12000ca, t=@0x7fff05a96608: 0x2a0012b, from=0) at /usr/include/qt4/QtCore/qlist.h:850 #8 0x00007f96685628dc in KWin::Workspace::indexOfClientGroup (this=<optimized out>, group=0x2a0012b) at ../../kwin/workspace.cpp:2122 #9 0x00007f9668570b49 in KWin::Client::setClientGroup (this=0x3011ef0, group=<optimized out>) at ../../kwin/client.cpp:1922 #10 0x00007f9668567ac6 in KWin::Workspace::removeClientGroup (this=0x1db6c30, group=0x2dc1d30) at ../../kwin/workspace.cpp:2142 #11 0x00007f96685786d9 in KWin::ClientGroup::remove (this=0x2dc1d30, c=0x30a53b0, newGeom=..., toNullGroup=true) at ../../kwin/clientgroup.cpp:156 #12 0x00007f9668576910 in KWin::Client::releaseWindow (this=0x30a53b0, on_shutdown=false) at ../../kwin/client.cpp:279 #13 0x00007f966858fa59 in KWin::Client::windowEvent (this=0x30a53b0, e=0x7fff05a96ef0) at ../../kwin/events.cpp:582 #14 0x00007f966859006d in KWin::Workspace::workspaceEvent (this=0x1db6c30, e=0x7fff05a96ef0) at ../../kwin/events.cpp:293 #15 0x00007f9668582288 in KWin::Application::x11EventFilter (this=0x7fff05a97200, e=0x7fff05a96ef0) at ../../kwin/main.cpp:359 #16 0x00007f9662d61b85 in qt_x11EventFilter (ev=0x7fff05a96ef0) at kernel/qapplication_x11.cpp:441 #17 qt_x11EventFilter (ev=0x7fff05a96ef0) at kernel/qapplication_x11.cpp:429 #18 0x00007f9662d70f98 in QApplication::x11ProcessEvent (this=0x7fff05a97200, event=0x7fff05a96ef0) at kernel/qapplication_x11.cpp:3444 #19 0x00007f9662d9bb3a in QEventDispatcherX11::processEvents (this=0x1bb3ad0, flags=...) at kernel/qeventdispatcher_x11.cpp:132 #20 0x00007f966396ec82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #21 0x00007f966396eed7 in QEventLoop::exec (this=0x7fff05a97140, flags=...) at kernel/qeventloop.cpp:204 #22 0x00007f9663973f67 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148 #23 0x00007f9668584a06 in kdemain (argc=<optimized out>, argv=<optimized out>) at ../../kwin/main.cpp:541 #24 0x00007f966818876d in __libc_start_main (main=0x400640 <main(int, char**)>, argc=3, ubp_av=0x7fff05a97928, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff05a97918) at libc-start.c:226 #25 0x0000000000400671 in _start ()
i really forgot the "fixed-in" with the commit, pays back now :-( -> the fix is only in what will be released as 4.9