Summary: | Kwin/Aurorae crashes when I close a window | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Darryl <ddrs> |
Component: | decorations | Assignee: | Martin Flöser <mgraesslin> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | bonustrack, jangerrit, kwin-bugs-null, loki13gm, salcolon |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Darryl
2010-06-19 00:10:29 UTC
may be weakly related to bug #241876 (both in button/QGraphicsStuff) As I never experienced a crash during development: which Aurorae theme are you using? *** Bug 242165 has been marked as a duplicate of this bug. *** SVN commit 1139942 by graesslin: Defer deletion of the AuroraeScene and View to the next event loop. It is possible that the scene get's deleted before processing mouse events is finished which causes crashes. BUG: 242165 FIXED-IN: 4.5.0 CCBUG: 241876 CCBUG: 242116 M +8 -1 aurorae.cpp M +1 -0 aurorae.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1139942 (In reply to comment #2) > As I never experienced a crash during development: which Aurorae theme are you > using? The Aurorae theme I'm using is glowglass-cupertino The crash might have been fixed with the commit above. Please test when packages for RC are available :-) (In reply to comment #6) > The crash might have been fixed with the commit above. Please test when > packages for RC are available :-) Hello, after upgrading yesterday to 4.4.90, I had hoped that it was fixed, but unfortunately it is not. The exact same thing happens as previously noted. Not sure I mentioned before, I'm using Kubuntu 10.04. the backtrace is the _exact_ same? (also do you really mean that both, windowmanager desktop -wallpaper, panels, plasmoids, etc- crash?) you /might/ be able to bypass this bug by "export QT_NO_GLIB=1" in ~/.xprofile or just "QT_NO_GLIB=1 kwin --replace &", but that's of course no fix. (In reply to comment #8) > the backtrace is the _exact_ same? > (also do you really mean that both, windowmanager desktop -wallpaper, panels, > plasmoids, etc- crash?) > > you /might/ be able to bypass this bug by "export QT_NO_GLIB=1" in ~/.xprofile > or just "QT_NO_GLIB=1 kwin --replace &", but that's of course no fix. Hello, here is the backtrace, also I was unable to find the .xprofile file so I created it but it didn't work, I was wondering do I need to log out and back in for it to have an effect? Application: Plasma Workspace (plasma-desktop), signal: Aborted [Current thread is 1 (Thread 0x7f1e3b00f7a0 (LWP 2155))] Thread 6 (Thread 0x7f1e17453710 (LWP 2159)): #0 0x00007f1e3a921f83 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87 #1 0x00007f1e2f5254a9 in ?? () from /lib/libglib-2.0.so.0 #2 0x00007f1e2f5258fc in g_main_context_iteration () from /lib/libglib-2.0.so.0 #3 0x00007f1e37faa9c6 in QEventDispatcherGlib::processEvents (this=0x1cdfc20, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414 #4 0x00007f1e37f7d5b2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149 #5 0x00007f1e37f7d98c in QEventLoop::exec (this=0x7f1e17452d70, flags=) at kernel/qeventloop.cpp:201 #6 0x00007f1e37e891cd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490 #7 0x00007f1e37f5d4d8 in QInotifyFileSystemWatcherEngine::run (this=0x1d48230) at io/qfilesystemwatcher_inotify.cpp:248 #8 0x00007f1e37e8c14e in QThreadPrivate::start (arg=0x1d48230) at thread/qthread_unix.cpp:266 #9 0x00007f1e37bfa9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300 #10 0x00007f1e3a92e6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #11 0x0000000000000000 in ?? () Thread 5 (Thread 0x7f1e1017f710 (LWP 4584)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162 #1 0x00007f1e37e8cd0b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x20afb60, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 QWaitCondition::wait (this=<value optimized out>, mutex=0x20afb60, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159 #3 0x00007f1e347e6d84 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x20a8440, th=0x163a640) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365 #4 0x00007f1e347e9f8b in ThreadWeaver::WorkingHardState::applyForWork (this=0x20a81c0, th=0x163a640) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71 #5 0x00007f1e347e9fa4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x20a81c0, th=0x163a640) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74 #6 0x00007f1e347e84ff in ThreadWeaver::ThreadRunHelper::run (this=0x7f1e1017edc0, parent=0x20a8440, th=0x163a640) at ../../../threadweaver/Weaver/Thread.cpp:87 #7 0x00007f1e347e8a58 in ThreadWeaver::Thread::run (this=0x163a640) at ../../../threadweaver/Weaver/Thread.cpp:142 #8 0x00007f1e37e8c14e in QThreadPrivate::start (arg=0x163a640) at thread/qthread_unix.cpp:266 #9 0x00007f1e37bfa9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300 #10 0x00007f1e3a92e6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #11 0x0000000000000000 in ?? () Thread 4 (Thread 0x7f1e10e72710 (LWP 4585)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162 #1 0x00007f1e37e8cd0b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x20afb60, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 QWaitCondition::wait (this=<value optimized out>, mutex=0x20afb60, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159 #3 0x00007f1e347e6d84 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x20a8440, th=0x1e27240) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365 #4 0x00007f1e347e9f8b in ThreadWeaver::WorkingHardState::applyForWork (this=0x20a81c0, th=0x1e27240) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71 #5 0x00007f1e347e84ff in ThreadWeaver::ThreadRunHelper::run (this=0x7f1e10e71dc0, parent=0x20a8440, th=0x1e27240) at ../../../threadweaver/Weaver/Thread.cpp:87 #6 0x00007f1e347e8a58 in ThreadWeaver::Thread::run (this=0x1e27240) at ../../../threadweaver/Weaver/Thread.cpp:142 #7 0x00007f1e37e8c14e in QThreadPrivate::start (arg=0x1e27240) at thread/qthread_unix.cpp:266 #8 0x00007f1e37bfa9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300 #9 0x00007f1e3a92e6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #10 0x0000000000000000 in ?? () Thread 3 (Thread 0x7f1e154c4710 (LWP 4586)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162 #1 0x00007f1e37e8cd0b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x20afb60, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 QWaitCondition::wait (this=<value optimized out>, mutex=0x20afb60, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159 #3 0x00007f1e347e6d84 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x20a8440, th=0x2dc3640) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365 #4 0x00007f1e347e9f8b in ThreadWeaver::WorkingHardState::applyForWork (this=0x20a81c0, th=0x2dc3640) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71 #5 0x00007f1e347e84ff in ThreadWeaver::ThreadRunHelper::run (this=0x7f1e154c3dc0, parent=0x20a8440, th=0x2dc3640) at ../../../threadweaver/Weaver/Thread.cpp:87 #6 0x00007f1e347e8a58 in ThreadWeaver::Thread::run (this=0x2dc3640) at ../../../threadweaver/Weaver/Thread.cpp:142 #7 0x00007f1e37e8c14e in QThreadPrivate::start (arg=0x2dc3640) at thread/qthread_unix.cpp:266 #8 0x00007f1e37bfa9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300 #9 0x00007f1e3a92e6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #10 0x0000000000000000 in ?? () Thread 2 (Thread 0x7f1e0c4b1710 (LWP 4587)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162 #1 0x00007f1e37e8cd0b in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0x20afb60, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 QWaitCondition::wait (this=<value optimized out>, mutex=0x20afb60, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159 #3 0x00007f1e347e6d84 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x20a8440, th=0x2dc4620) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365 #4 0x00007f1e347e9f8b in ThreadWeaver::WorkingHardState::applyForWork (this=0x20a81c0, th=0x2dc4620) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71 #5 0x00007f1e347e84ff in ThreadWeaver::ThreadRunHelper::run (this=0x7f1e0c4b0dc0, parent=0x20a8440, th=0x2dc4620) at ../../../threadweaver/Weaver/Thread.cpp:87 #6 0x00007f1e347e8a58 in ThreadWeaver::Thread::run (this=0x2dc4620) at ../../../threadweaver/Weaver/Thread.cpp:142 #7 0x00007f1e37e8c14e in QThreadPrivate::start (arg=0x2dc4620) at thread/qthread_unix.cpp:266 #8 0x00007f1e37bfa9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300 #9 0x00007f1e3a92e6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #10 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f1e3b00f7a0 (LWP 2155)): [KCrash Handler] #6 0x00007f1e3a87ba75 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #7 0x00007f1e3a87f5c0 in *__GI_abort () at abort.c:92 #8 0x00007f1e37e83764 in qt_message_output (msgType=QtFatalMsg, buf=<value optimized out>) at global/qglobal.cpp:2271 #9 0x00007f1e37e83942 in qt_message (msgType=QtFatalMsg, msg=0x7f1e3a5d0228 "Fatal Error: Accessed global static '%s *%s()' after destruction. Defined at %s:%d", ap=0x7fffbf6d38d0) at global/qglobal.cpp:2317 #10 0x00007f1e37e83af5 in qFatal (msg=0x86b <Address 0x86b out of bounds>) at global/qglobal.cpp:2500 #11 0x00007f1e3a46c52f in operator-> () at ../../plasma/dataenginemanager.cpp:79 #12 Plasma::DataEngineManager::self () at ../../plasma/dataenginemanager.cpp:83 #13 0x00007f1e10e875d5 in ~DataEngineConsumer (this=0x2175940, __in_chrg=<value optimized out>) at ../../../../../../../plasma/generic/dataengines/weather/ions/envcan/../dataengineconsumer.h:40 #14 ~EnvCanadaIon (this=0x2175940, __in_chrg=<value optimized out>) at ../../../../../../../plasma/generic/dataengines/weather/ions/envcan/ion_envcan.cpp:64 #15 0x00007f1e3a46c1fe in ~DataEngineManagerPrivate (this=0x1b74bc0, __in_chrg=<value optimized out>) at ../../plasma/dataenginemanager.cpp:54 #16 ~DataEngineManager (this=0x1b74bc0, __in_chrg=<value optimized out>) at ../../plasma/dataenginemanager.cpp:93 #17 0x00007f1e3a46c387 in ~DataEngineManagerSingleton () at ../../plasma/dataenginemanager.cpp:74 #18 destroy () at ../../plasma/dataenginemanager.cpp:79 #19 0x00007f1e3a881262 in __run_exit_handlers (status=1) at exit.c:78 #20 *__GI_exit (status=1) at exit.c:100 #21 0x00007f1e37161f08 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:745 #22 0x00007f1e38c32fc8 in KApplication::xioErrhandler (this=0x1520410, dpy=0x1550580) at ../../kdeui/kernel/kapplication.cpp:415 #23 0x00007f1e394ab7fe in _XIOError () from /usr/lib/libX11.so.6 #24 0x00007f1e394b3355 in ?? () from /usr/lib/libX11.so.6 #25 0x00007f1e394b3c07 in _XEventsQueued () from /usr/lib/libX11.so.6 #26 0x00007f1e3949c40b in XEventsQueued () from /usr/lib/libX11.so.6 #27 0x00007f1e3719cfac in x11EventSourceCheck (s=0x153ea30) at kernel/qguieventdispatcher_glib.cpp:87 #28 0x00007f1e2f524b0a in g_main_context_check () from /lib/libglib-2.0.so.0 #29 0x00007f1e2f5254c3 in ?? () from /lib/libglib-2.0.so.0 #30 0x00007f1e2f5258fc in g_main_context_iteration () from /lib/libglib-2.0.so.0 #31 0x00007f1e37faa973 in QEventDispatcherGlib::processEvents (this=0x1503d60, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412 #32 0x00007f1e3719cdee in QGuiEventDispatcherGlib::processEvents (this=0x86b, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204 #33 0x00007f1e37f7d5b2 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149 #34 0x00007f1e37f7d98c in QEventLoop::exec (this=0x7fffbf6d3d60, flags=) at kernel/qeventloop.cpp:201 #35 0x00007f1e37f81a3b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009 #36 0x00007f1e3ac076d6 in kdemain (argc=<value optimized out>, argv=<value optimized out>) at ../../../../plasma/desktop/shell/main.cpp:118 #37 0x00007f1e3a866c4d 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=0x7fffbf6d4128) at libc-start.c:226 #38 0x00000000004006c9 in _start () a) the second backtrace does not match the first one at all. the second is about plasma-desktop (wallpaper, panels, etc.) while the first one is about kwin ("window titlebars") -> does kwin still crash? b) yes, you have to logout/login to apply .xprofile. alternatively you can set the environment when starting a process (what only makes sense if you can reproduce the same crash more or less reliably, though) (In reply to comment #10) Hello, sorry about the non-matching backtraces. The kwin doesn't report that it crashes, now. Also I tried both of your suggestions and neither one seemed to work. Thanks, so the kwin crash is actually fixed. For the plasma crash you should report a new bug report. *** Bug 279319 has been marked as a duplicate of this bug. *** we still have reports for this in 4.7 - not being able to eat an event is somehow a major defect of the QGraphicsScene design... :-( I'll reopen this for the moment, sorry. *** Bug 287295 has been marked as a duplicate of this bug. *** Git commit c2e053c8d0bb9663aba7db33dc698b6bfd3164f6 by Thomas Lübking. Committed on 05/12/2011 at 15:29. Pushed by luebking into branch 'master'. queue aurorae decoration button events to prevent them from destroying the scene in the same event cycle BUG: 242116 REVIEW: 103336 M +12 -10 kwin/clients/aurorae/src/aurorae.cpp http://commits.kde.org/kde-workspace/c2e053c8d0bb9663aba7db33dc698b6bfd3164f6 *** Bug 294726 has been marked as a duplicate of this bug. *** |