Bug 272928

Summary: kwin segfault after adding screen edge flip-switch all desktops
Product: [Plasma] kwin Reporter: Volker Kuhlmann <bugz57>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash CC: bugz57
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Volker Kuhlmann 2011-05-10 13:32:20 UTC
Application: kwin (4.6.00 (4.6.0) "release 6")
KDE Platform Version: 4.6.00 (4.6.0) "release 6"
Qt Version: 4.7.1
Operating System: Linux 2.6.37.6-0.5-desktop x86_64
Distribution: "openSUSE 11.4 (x86_64)"

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

Tried out some screen edges.  Added desktop grid to top edge, works. Added "flip switch all desktops" to bottom edge, several lockups of the GUI, except moving mouse pointer, result. The panel digital clock's second display stopped updating about 3 times. Filled input with various mouse movements and clicks. kwin crash handler appears.

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

Thread 2 (Thread 0x2aaaac61e700 (LWP 5999)):
#0  0x00002abfabba538c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00002abfa8d82044 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x2abfa909b180) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00002abfa8d82079 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x2abfa90a9254) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00002abfaa35c853 in ?? () from /usr/X11R6/lib64/libGL.so.1
#4  0x00002abfabba0a3f in start_thread () from /lib64/libpthread.so.0
#5  0x00002abfa7bc167d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x2abfba6e55a0 (LWP 5949)):
[KCrash Handler]
#6  QHash<KWin::EffectWindow*, KWin::WindowMotionManager::WindowMotion>::findNode (this=0x29, akey=@0x7fffce5ffd28, ahp=0x0) at /usr/include/QtCore/qhash.h:882
#7  0x00002abfa9728fb3 in contains (this=0x21, w=0xb66c80) at /usr/include/QtCore/qhash.h:872
#8  KWin::WindowMotionManager::unmanage (this=0x21, w=0xb66c80) at /usr/src/debug/kdebase-workspace-4.6.0/kwin/lib/kwineffects.cpp:1122
#9  0x00002aaaab64d10b in KWin::DesktopGridEffect::windowInputMouseEvent (this=0xabbca0, e=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.6.0/kwin/effects/desktopgrid/desktopgrid.cpp:688
#10 0x00002abfa789be70 in KWin::EffectsHandlerImpl::checkInputWindowEvent (this=<value optimized out>, e=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.6.0/kwin/effects.cpp:926
#11 0x00002abfa783779f in KWin::Workspace::workspaceEvent (this=0x639fb0, e=0x7fffce600b20) at /usr/src/debug/kdebase-workspace-4.6.0/kwin/events.cpp:262
#12 0x00002abfa78147c8 in KWin::Application::x11EventFilter (this=0x7fffce600dc0, e=0x7fffce600b20) at /usr/src/debug/kdebase-workspace-4.6.0/kwin/main.cpp:367
#13 0x00002abfabfefcc5 in qt_x11EventFilter (ev=0x7fffce600b20) at kernel/qapplication_x11.cpp:436
#14 0x00002abfabffdce0 in QApplication::x11ProcessEvent (this=0x7fffce600dc0, event=0x7fffce600b20) at kernel/qapplication_x11.cpp:3276
#15 0x00002abfac026ae4 in QEventDispatcherX11::processEvents (this=0x677240, flags=...) at kernel/qeventdispatcher_x11.cpp:132
#16 0x00002abfab865052 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#17 0x00002abfab865265 in QEventLoop::exec (this=0x7fffce600cb0, flags=...) at kernel/qeventloop.cpp:201
#18 0x00002abfab8696ab in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#19 0x00002abfa7816c8a in kdemain (argc=<value optimized out>, argv=0x7fffce600e20) at /usr/src/debug/kdebase-workspace-4.6.0/kwin/main.cpp:542
#20 0x00002abfa7b0cbfd in __libc_start_main () from /lib64/libc.so.6
#21 0x0000000000400699 in _start () at ../sysdeps/x86_64/elf/start.S:113

Reported using DrKonqi
Comment 1 Thomas Lübking 2011-05-10 21:51:16 UTC
Please check whether the flipswitch freeze is bug #261323 (turning of the window name display should work around)

The crashtrace seems to derive from a window close from the desktop grid, just that "wild input while the kwin eventloop is in no valid state" can be expected to "somehow" crash anyway ;-)
Comment 2 Volker Kuhlmann 2011-05-11 10:28:35 UTC
Thanks Thomas. Nice gimmick - just to show Linux can do it too ;-)

Took me ages to find what setting you were talking about - desktop effect, setup for flip switch, display window titles. Default is ticked, unticking it seems to prevent the crash, I tried it about 10 times successfully.

Btw usability problem: when activated from screen edge I have R hand on mouse, left hand to press tab to cycle through the windows. No way to select though. I'm not moving L hand to press enter, and don't necessarily want to take R hand off mouse. Now LMB to select would be cool...

Thanks -V
Comment 3 Thomas Lübking 2011-05-11 12:05:00 UTC
ok, marking as dupe since the  precondition of this backtrace is completely uncertain and likely an invalid state.

---
About the usability: I wasn't even aware that flipswitch (and only flipswitch, not coverswitch?) is available from the screencorner.

In this context i'd rather say id would make sense to unlink the effect from the tabbox and allow to mousewheel through windows and select the front one with a left click.
(moving the mouse to a corner, and then start alt+tab and then w/o the ability to autoleave/activate on top of it sounds mega-clumsy, so i rather wouldn't waste the corner for this at all ;-)

Feel free to open a wish like this =)
Out of curiosity: does Mikeysoft do this? - I mean: why only flipswitch -next to oc. poresent windows, which started as non alt+tab and is designed towards this- and the half baked mouse+kbd approach looks alot like Redmond :-P

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