Application: kwin (4.5.00 (KDE 4.5.0)) KDE Platform Version: 4.5.00 (KDE 4.5.0) Qt Version: 4.7.0 Operating System: Linux 2.6.32-24-generic x86_64 Distribution: Ubuntu 10.04.1 LTS -- Information about the crash: - What I was doing when the application crashed: I was playing Cave Story in full screen. Linux binary downloaded from here: http://www.miraigamer.net/cavestory/downloads_1.php And when I came back either kwin had already crashed or it crashed immediately. I suspect immediate because I saw it gone (no titlebars, no compositing) it then came back and there was the bug reporter. This was not my first game session tonight, but I did only upgrade to KDE 4.5 this morning. I had no kwin crashes before now (and have been playing since before the upgrade, at least a couple hours of game time). -- Backtrace: Application: KWin (kwin), signal: Aborted [Current thread is 1 (Thread 0x7feb85ba07a0 (LWP 2309))] Thread 2 (Thread 0x7feb65bc2710 (LWP 2410)): #0 0x00007feb85529fe3 in select () at ../sysdeps/unix/syscall-template.S:82 #1 0x00007feb81e5127e in qt_safe_select (nfds=22, fdread=0x1910240, fdwrite=0x19104d8, fdexcept=0x1910770, orig_timeout=0x0) at kernel/qcore_unix.cpp:82 #2 0x00007feb81e565ab in QEventDispatcherUNIXPrivate::doSelect (this=0x1910080, flags=<value optimized out>, timeout=<value optimized out>) at kernel/qeventdispatcher_unix.cpp:219 #3 0x00007feb81e571db in QEventDispatcherUNIX::processEvents (this=0x1bcfc60, flags=) at kernel/qeventdispatcher_unix.cpp:919 #4 0x00007feb81e267b2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149 #5 0x00007feb81e26b9c in QEventLoop::exec (this=0x7feb65bc1d70, flags=) at kernel/qeventloop.cpp:201 #6 0x00007feb81d3223d in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490 #7 0x00007feb81e066d8 in QInotifyFileSystemWatcherEngine::run (this=0x1d7cf00) at io/qfilesystemwatcher_inotify.cpp:248 #8 0x00007feb81d351be in QThreadPrivate::start (arg=0x1d7cf00) at thread/qthread_unix.cpp:266 #9 0x00007feb81aa39ca in start_thread (arg=<value optimized out>) at pthread_create.c:300 #10 0x00007feb855316fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #11 0x0000000000000000 in ?? () Thread 1 (Thread 0x7feb85ba07a0 (LWP 2309)): [KCrash Handler] #6 0x00007feb8547ea75 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #7 0x00007feb854825c0 in *__GI_abort () at abort.c:92 #8 0x00007feb854b84fb in __libc_message (do_abort=<value optimized out>, fmt=<value optimized out>) at ../sysdeps/unix/sysv/linux/libc_fatal.c:189 #9 0x00007feb854c25b6 in malloc_printerr (action=3, str=0x7feb85592ab3 "free(): invalid pointer", ptr=<value optimized out>) at malloc.c:6264 #10 0x00007feb81e411c4 in QVectorTypedData<QObjectPrivate::ConnectionList>::free (this=<value optimized out>, __in_chrg=<value optimized out>) at ../../include/QtCore/../../src/corelib/tools/qvector.h:96 #11 QVector<QObjectPrivate::ConnectionList>::free (this=<value optimized out>, __in_chrg=<value optimized out>) at ../../include/QtCore/../../src/corelib/tools/qvector.h:439 #12 ~QVector (this=<value optimized out>, __in_chrg=<value optimized out>) at ../../include/QtCore/../../src/corelib/tools/qvector.h:119 #13 ~QObjectConnectionListVector (this=<value optimized out>, __in_chrg=<value optimized out>) at kernel/qobject.cpp:261 #14 ~QObject (this=<value optimized out>, __in_chrg=<value optimized out>) at kernel/qobject.cpp:902 #15 0x00007feb739d3f37 in ~Animation (this=0x905, __in_chrg=<value optimized out>) at ../../../libs/oxygen/oxygenanimation.h:55 #16 0x00007feb81e399ff in QObjectPrivate::deleteChildren (this=0x2e5e3a0) at kernel/qobject.cpp:1957 #17 0x00007feb81e4109b in ~QObject (this=<value optimized out>, __in_chrg=<value optimized out>) at kernel/qobject.cpp:945 #18 0x00007feb73c06cae in ~AnimationData (this=0x2e5e340, __in_chrg=<value optimized out>) at ../../../kstyles/oxygen/animations/oxygenanimationdata.h:57 #19 ~GenericData (this=0x2e5e340, __in_chrg=<value optimized out>) at ../../../kstyles/oxygen/animations/oxygengenericdata.h:55 #20 ~WidgetStateData (this=0x2e5e340, __in_chrg=<value optimized out>) at ../../../kstyles/oxygen/animations/oxygenwidgetstatedata.h:51 #21 ~EnableData (this=0x2e5e340, __in_chrg=<value optimized out>) at ../../../kstyles/oxygen/animations/oxygenenabledata.h:50 #22 0x00007feb73c31711 in Oxygen::WidgetStateEngine::unregisterWidget(QObject*) () from /usr/lib/kde4/plugins/styles/oxygen.so #23 0x00007feb73c2d7f8 in Oxygen::WidgetStateEngine::qt_metacall (this=0x193ee20, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff8d3840a0) at ./oxygenwidgetstateengine.moc:73 #24 0x00007feb81e3f7a7 in QMetaObject::activate (sender=0x3059c50, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0xffffffffffffffff) at kernel/qobject.cpp:3280 #25 0x00007feb81e3fcef in QObject::destroyed (this=0x905, _t1=0x3059c50) at .moc/release-shared/moc_qobject.cpp:149 #26 0x00007feb81e40c57 in ~QObject (this=<value optimized out>, __in_chrg=<value optimized out>) at kernel/qobject.cpp:842 #27 0x00007feb80fd68ca in ~QWidget (this=0x3059c50, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1579 #28 0x00007feb6d25208e in ~B2Button (this=0x905, __in_chrg=<value optimized out>) at ../../../../kwin/clients/b2/b2client.h:55 #29 0x00007feb81e399ff in QObjectPrivate::deleteChildren (this=0x294b2a0) at kernel/qobject.cpp:1957 #30 0x00007feb80fd6838 in ~QWidget (this=0x23e03d0, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1559 #31 0x00007feb6d252301 in ~B2Titlebar (this=0x23e03d0, __in_chrg=<value optimized out>) at ../../../../kwin/clients/b2/b2client.h:91 #32 0x00007feb81e399ff in QObjectPrivate::deleteChildren (this=0x2ec8ff0) at kernel/qobject.cpp:1957 #33 0x00007feb80fd5b9c in ~QWidget (this=0x28f8e40, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1559 #34 0x00007feb84073a0d in ~KDecoration (this=0x31139b0, __in_chrg=<value optimized out>) at ../../../kwin/lib/kdecoration.cpp:71 #35 0x00007feb6d2520b3 in ~B2Client (this=0x905, __in_chrg=<value optimized out>) at ../../../../kwin/clients/b2/b2client.h:122 #36 0x00007feb85812715 in KWin::Client::destroyDecoration (this=0x2ed0860) at ../../kwin/client.cpp:377 #37 0x00007feb85813930 in KWin::Client::releaseWindow (this=0x2ed0860, on_shutdown=false) at ../../kwin/client.cpp:246 #38 0x00007feb85845b4b in KWin::Client::windowEvent (this=0x2ed0860, e=0x7fff8d384ce0) at ../../kwin/events.cpp:655 #39 0x00007feb85846168 in KWin::Workspace::workspaceEvent (this=0x1a7fd30, e=0x7fff8d384ce0) at ../../kwin/events.cpp:307 #40 0x00007feb85821968 in KWin::Application::x11EventFilter (this=0x7fff8d384f20, e=0x7fff8d384ce0) at ../../kwin/main.cpp:363 #41 0x00007feb80ff1881 in qt_x11EventFilter (ev=0x7fff8d384ce0) at kernel/qapplication_x11.cpp:408 #42 0x00007feb81001501 in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fff8d384ce0) at kernel/qapplication_x11.cpp:3248 #43 0x00007feb8102e8ef in QEventDispatcherX11::processEvents (this=<value optimized out>, flags=) at kernel/qeventdispatcher_x11.cpp:132 #44 0x00007feb81e267b2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149 #45 0x00007feb81e26b9c in QEventLoop::exec (this=0x7fff8d384e60, flags=) at kernel/qeventloop.cpp:201 #46 0x00007feb81e2ac4b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009 #47 0x00007feb8582365d in kdemain (argc=<value optimized out>, argv=<value optimized out>) at ../../kwin/main.cpp:531 #48 0x00007feb85469c4d in __libc_start_main (main=<value optimized out>, argc=<value optimized out>, ubp_av=<value optimized out>, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=0x7fff8d385528) at libc-start.c:226 #49 0x00000000004006b9 in _start () Possible duplicates by query: bug 215345. Reported using DrKonqi
Looks like Oxygen style animations clash with the B2 button implementation... (ewww... could hit bespin as well... ;-)
*** Bug 249579 has been marked as a duplicate of this bug. ***
Copied from bug 249579: One workaround I can think of is to not install animations on kwin decoration buttons (from the style), since they are not used anyway: by construction, all decoration buttons re-implement their paintEvent, and don't rely on the widget style for painting. (in the style, the animations are installed on QAbstractButton, because some private classes from Qt inherits from it, and need animation. E.G. the dockwidget buttons)
ok. I had another idea. Maybe it is due to the fact that when a widget is deleted, its associated 'Animation' objects (which are children of a different widget) are deleted with explicit "delete XXX", as oposed to XXX->deleteLater(). Now this might happen in incorrect event loop, or when still processing signal-slot connection. I'll give a shot at 'deleteLater'
SVN commit 1171373 by hpereiradacosta: use ->deleteLater() rather than delete, when unregistering animations. CCBUG: 247827 M +1 -1 oxygendatamap.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1171373
------------------------------------------------------------------------ r1171484 | hpereiradacosta | 2010-09-03 17:49:00 -0600 (Fri, 03 Sep 2010) | 2 lines replaced "delete animationData" by "animationData->deleteLater()" when a target is unregistered. (thats the backport to 4.5 branch)
*** Bug 250155 has been marked as a duplicate of this bug. ***
Dear Bug Submitter, This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond. 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 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 mark the bug 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!
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!