Summary: | I closed a Firefox window when crash occured | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | m.wege |
Component: | window-tabbing | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | kdebugs.20.petechap |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 4.9 | |
Sentry Crash Report: |
Description
m.wege
2012-01-05 23:49:02 UTC
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 |