Application: kwin (4.7.2 (4.7.2)) KDE Platform Version: 4.7.2 (4.7.2) Qt Version: 4.7.2 Operating System: Linux 2.6.38-11-generic x86_64 Distribution: Ubuntu 11.04 -- Information about the crash: This happens when I choose to close a window within Photoshop by clicking on the close button in the titlebar - KWin crashes (and immediately restarts). It never happens when I use ctrl+f4 or ctrl+w to close an image window. This crash happens most of the time but not every time - I haven't figured out yet what is unique to the times it crashes, except that it only happens after I have been using Photoshop for a little while. Photoshop works flawlessly on my system except for this bug. I am using Adobe Photoshop CS2 with Wine 1.2.2, KDE 4.7.2. Strangely, once KWin has restarted, all of the windows in Photoshop (and the larger Photoshop window itself) no longer have a close button in the titlebar - only a minimize and maximize button, and I have to kill it in order to close it. The rest of my system continues to behave perfectly normally, as does Photoshop when I restart that. I'm happy to provide more information if any is needed! Cheers. The crash can be reproduced some of the time. -- Backtrace: Application: KWin (kwin), signal: Segmentation fault [Current thread is 1 (Thread 0x7f34cc1057a0 (LWP 2145))] Thread 3 (Thread 0x7f34b1c57700 (LWP 2188)): #0 0x00007f34cb950143 in select () at ../sysdeps/unix/syscall-template.S:82 #1 0x00007f34c7dab32c in qt_safe_select (nfds=17, fdread=0x2a38ef0, fdwrite=0x2a39188, fdexcept=0x2a39420, orig_timeout=<value optimized out>) at kernel/qcore_unix.cpp:82 #2 0x00007f34c7db03d0 in QEventDispatcherUNIXPrivate::doSelect (this=0x2a38d30, flags=..., timeout=0x0) at kernel/qeventdispatcher_unix.cpp:219 #3 0x00007f34c7db104a in QEventDispatcherUNIX::processEvents (this=0x2a38730, flags=...) at kernel/qeventdispatcher_unix.cpp:919 #4 0x00007f34c7d82882 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149 #5 0x00007f34c7d82abc in QEventLoop::exec (this=0x7f34b1c56db0, flags=...) at kernel/qeventloop.cpp:201 #6 0x00007f34c7c99924 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:492 #7 0x00007f34c7d64c2f in QInotifyFileSystemWatcherEngine::run (this=0x2a37bb0) at io/qfilesystemwatcher_inotify.cpp:248 #8 0x00007f34c7c9c175 in QThreadPrivate::start (arg=0x2a37bb0) at thread/qthread_unix.cpp:320 #9 0x00007f34c1f7bd8c in start_thread (arg=0x7f34b1c57700) at pthread_create.c:304 #10 0x00007f34cb95804d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #11 0x0000000000000000 in ?? () Thread 2 (Thread 0x7f34b1456700 (LWP 2189)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162 #1 0x00007f34ca7b62a2 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f34caacf180) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359 #2 0x00007f34ca7b62d9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7f34caadd254) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464 #3 0x00007f34c1f7bd8c in start_thread (arg=0x7f34b1456700) at pthread_create.c:304 #4 0x00007f34cb95804d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #5 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f34cc1057a0 (LWP 2145)): [KCrash Handler] #6 internalWinId (this=0x2eefc90) at ../../include/QtGui/../../src/gui/kernel/qwidget.h:234 #7 QWidget::effectiveWinId (this=0x2eefc90) at kernel/qwidget.cpp:2543 #8 0x00007f34c71c2ae4 in QETWidget::translateMouseEvent (this=0x2eefc90, event=0x7fff43f42ee0) at kernel/qapplication_x11.cpp:4440 #9 0x00007f34c71c1ab7 in QApplication::x11ProcessEvent (this=0x7fff43f43120, event=0x7fff43f42ee0) at kernel/qapplication_x11.cpp:3680 #10 0x00007f34c71eb224 in QEventDispatcherX11::processEvents (this=0x25532e0, flags=...) at kernel/qeventdispatcher_x11.cpp:132 #11 0x00007f34c7d82882 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149 #12 0x00007f34c7d82abc in QEventLoop::exec (this=0x7fff43f43060, flags=...) at kernel/qeventloop.cpp:201 #13 0x00007f34c7d86ecb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008 #14 0x00007f34cbc60fbe in kdemain () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #15 0x00007f34cb890eff in __libc_start_main (main=0x400730 <_start+256>, argc=3, ubp_av=0x7fff43f43788, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=0x7fff43f43778) at libc-start.c:226 #16 0x0000000000400659 in _start () Possible duplicates by query: bug 216879. Reported using DrKonqi
looks similar to bug 216879
yes, looks - but aside fragile Qt code, it's rather meaningless ;-) @Toby: what window decoration (titlebar theme) are you using
Hi there - the window decoration is Oxygen (as is the widget style). Perhaps I'll try a different window decoration theme and see if the crashes don't happen or happen differently. Thanks for looking into it!
no, the aurorae decoration has a reported issue on closing windows. if you can reproduce this crash for somewhat certain, try "kwin --graphicssystem native --replace &" and please in case the crashes stop afterwards (notice that you'll have to do that after _each_ login)
I still haven't found a surefire way to reproduce the crash, but the crash does still occur even with KWin running with --graphicssystem native. The backtrace was identical as far as I can tell. If it's of any relevance, when I run kwin from a terminal, regardless of the --graphicssystem option, I get 'kwin(27291): Shaders are not supported' after the rest of the output about my system. Let me know if there's any other info I can give, or anything else to try. -- Backtrace: Application: KWin (kwin), signal: Segmentation fault [Current thread is 1 (Thread 0x7f2f7f7977a0 (LWP 27291))] Thread 3 (Thread 0x7f2f652c7700 (LWP 27296)): #0 0x00007f2f7efe2143 in select () at ../sysdeps/unix/syscall-template.S:82 #1 0x00007f2f7b43d32c in qt_safe_select (nfds=15, fdread=0x217d980, fdwrite=0x217dc18, fdexcept=0x217deb0, orig_timeout=<value optimized out>) at kernel/qcore_unix.cpp:82 #2 0x00007f2f7b4423d0 in QEventDispatcherUNIXPrivate::doSelect (this=0x217d7c0, flags=..., timeout=0x0) at kernel/qeventdispatcher_unix.cpp:219 #3 0x00007f2f7b44304a in QEventDispatcherUNIX::processEvents (this=0x217d0c0, flags=...) at kernel/qeventdispatcher_unix.cpp:919 #4 0x00007f2f7b414882 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149 #5 0x00007f2f7b414abc in QEventLoop::exec (this=0x7f2f652c6db0, flags=...) at kernel/qeventloop.cpp:201 #6 0x00007f2f7b32b924 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:492 #7 0x00007f2f7b3f6c2f in QInotifyFileSystemWatcherEngine::run (this=0x217c560) at io/qfilesystemwatcher_inotify.cpp:248 #8 0x00007f2f7b32e175 in QThreadPrivate::start (arg=0x217c560) at thread/qthread_unix.cpp:320 #9 0x00007f2f7560dd8c in start_thread (arg=0x7f2f652c7700) at pthread_create.c:304 #10 0x00007f2f7efea04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #11 0x0000000000000000 in ?? () Thread 2 (Thread 0x7f2f64a03700 (LWP 27297)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162 #1 0x00007f2f7de482a2 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f2f7e161180) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359 #2 0x00007f2f7de482d9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7f2f7e16f254) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464 #3 0x00007f2f7560dd8c in start_thread (arg=0x7f2f64a03700) at pthread_create.c:304 #4 0x00007f2f7efea04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #5 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f2f7f7977a0 (LWP 27291)): [KCrash Handler] #6 height (this=0x7f2f7f2932d8, p=..., ignoreChildrenInDestructor=false) at ../../include/QtCore/../../src/corelib/tools/qrect.h:307 #7 rect (this=0x7f2f7f2932d8, p=..., ignoreChildrenInDestructor=false) at ../../include/QtGui/../../src/gui/kernel/qwidget.h:1007 #8 pointInsideRectAndMask (this=0x7f2f7f2932d8, p=..., ignoreChildrenInDestructor=false) at ../../include/QtGui/private/../../../src/gui/kernel/qwidget_p.h:987 #9 QWidgetPrivate::childAt_helper (this=0x7f2f7f2932d8, p=..., ignoreChildrenInDestructor=false) at kernel/qwidget.cpp:9839 #10 0x00007f2f7a8550d8 in QETWidget::translateMouseEvent (this=0x27c0350, event=<value optimized out>) at kernel/qapplication_x11.cpp:4546 #11 0x00007f2f7a853ab7 in QApplication::x11ProcessEvent (this=0x7fff0ddcc2f0, event=0x7fff0ddcc0b0) at kernel/qapplication_x11.cpp:3680 #12 0x00007f2f7a87d224 in QEventDispatcherX11::processEvents (this=0x1cc22e0, flags=...) at kernel/qeventdispatcher_x11.cpp:132 #13 0x00007f2f7b414882 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149 #14 0x00007f2f7b414abc in QEventLoop::exec (this=0x7fff0ddcc230, flags=...) at kernel/qeventloop.cpp:201 #15 0x00007f2f7b418ecb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008 #16 0x00007f2f7f2f2fbe in kdemain () from /usr/lib/kde4/libkdeinit/libkdeinit4_kwin.so #17 0x00007f2f7ef22eff in __libc_start_main (main=0x400730 <_start+256>, argc=4, ubp_av=0x7fff0ddcc958, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=0x7fff0ddcc948) at libc-start.c:226 #18 0x0000000000400659 in _start ()
Ok, please try an/other decoration/s (i'd advocate including bespin, because i know it does not use kcommondecoration, maybe qtcurve or skultpture do neither) to rule out a bug in the oxygen decoration. Also ensure: "oxygen" like in "oxyen" - not sth. like "oxygen-air \ by <some guy>" (latter are aurorae themes)
It was definitely the plain old "Oxygen" decoration that is enabled by default in KDE that I was using. I'm now using Bespin and I haven't gotten the same crash yet, but I still haven't figured out how to reproduce the crash so I might just be getting lucky. Unfortunately I'm really busy right now so I don't have time to figure how to reliably reproduce the crash, but when I get the time I'll post my results here.
*** Bug 294814 has been marked as a duplicate of this bug. ***
Unfortunately the crash report is still missing a clear way on how to reproduce the issue and whether this crash is related to KCommonDecoration (e.g. Oxygen) compared to KDecoration (e.g. bespin). For further investigation we should also consider that this crash and the dup happened on ubuntu.
*** Bug 317720 has been marked as a duplicate of this bug. ***
*** Bug 320497 has been marked as a duplicate of this bug. ***
*** Bug 321013 has been marked as a duplicate of this bug. ***
*** Bug 299480 has been marked as a duplicate of this bug. ***
translateMouseEvents passes events following a MotionNotify to installed eventfilters and afterwards tries to access it's internalWinId() which returns a member of the QWidget dptr. -> We either cause deletion of the ETWidget or corrupt memory by one of those events. If somebody can reproduce this halfwise reliably and inject a patch into kwin: please raise hands. (Maybe running kwin in valgrind might show sth. as well) -------------------------------------------------------------------------------------------------------------------------------------- if (event->type == MotionNotify) { // mouse move if (event->xmotion.root != RootWindow(X11->display, x11Info().screen()) && ! qt_xdnd_dragging) return false; XMotionEvent lastMotion = event->xmotion; while(XPending(X11->display)) { // compress mouse moves XNextEvent(X11->display, &nextEvent); if (nextEvent.type == ConfigureNotify || nextEvent.type == PropertyNotify || nextEvent.type == Expose || nextEvent.type == GraphicsExpose || nextEvent.type == NoExpose || nextEvent.type == KeymapNotify || ((nextEvent.type == EnterNotify || nextEvent.type == LeaveNotify) && qt_button_down == this) || (nextEvent.type == ClientMessage && (nextEvent.xclient.message_type == ATOM(_QT_SCROLL_DONE) || (nextEvent.xclient.message_type == ATOM(WM_PROTOCOLS) && (Atom)nextEvent.xclient.data.l[0] == ATOM(_NET_WM_SYNC_REQUEST))))) { // Pass the event through the event dispatcher filter so that applications // which install an event filter on the dispatcher get to handle it first. if (!QAbstractEventDispatcher::instance()->filterEvent(&nextEvent)) qApp->x11ProcessEvent(&nextEvent); continue; I assume one of them causes the KWin eventFilter to conditionally either
*** Bug 325159 has been marked as a duplicate of this bug. ***
Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone!
Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone!