Bug 273029 - Plasma crash when closing OpenDesktop plasmoid [OpenDesktop::dataUpdated]
Summary: Plasma crash when closing OpenDesktop plasmoid [OpenDesktop::dataUpdated]
Status: RESOLVED FIXED
Alias: None
Product: plasma4
Classification: Plasma
Component: widget-opendesktop (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Sebastian Kügler
URL:
Keywords:
: 265658 285675 296402 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-05-11 12:48 UTC by goekhan
Modified: 2012-05-31 12:46 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description goekhan 2011-05-11 12:48:31 UTC
Application: plasma-desktop (0.4)
KDE Platform Version: 4.6.3 (4.6.3)
Qt Version: 4.7.2
Operating System: Linux 2.6.38-8-generic i686
Distribution: Ubuntu 11.04

-- Information about the crash:
- What I was doing when the application crashed:
I clicked the X to close the Opendesktop plasmoid and then plasma desktop crashed.

-- Backtrace:
Application: Plasma-Desktop-Umgebung (plasma-desktop), signal: Segmentation fault
[Current thread is 1 (Thread 0xb775aad0 (LWP 1242))]

Thread 8 (Thread 0xaf716b70 (LWP 1245)):
#0  0x03fa63c0 in pthread_getspecific () from /lib/i386-linux-gnu/libpthread.so.0
#1  0x03a5cec0 in get_thread_data () at thread/qthread_unix.cpp:161
#2  QThreadData::current () at thread/qthread_unix.cpp:199
#3  0x03b7dff5 in postEventSourcePrepare (s=0x822f0b8, timeout=0x0) at kernel/qeventdispatcher_glib.cpp:254
#4  0x03b7e069 in postEventSourceCheck (source=0x822f0b8) at kernel/qeventdispatcher_glib.cpp:270
#5  0x0388a71d in g_main_context_check () from /lib/i386-linux-gnu/libglib-2.0.so.0
#6  0x0388b03a in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0x0388b524 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0x03b7e577 in QEventDispatcherGlib::processEvents (this=0x88953d0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#9  0x03b50289 in QEventLoop::processEvents (this=0xaf716280, flags=...) at kernel/qeventloop.cpp:149
#10 0x03b50522 in QEventLoop::exec (this=0xaf716280, flags=...) at kernel/qeventloop.cpp:201
#11 0x03a5a2a0 in QThread::exec (this=0x8895e50) at thread/qthread.cpp:492
#12 0x03b31fdb in QInotifyFileSystemWatcherEngine::run (this=0x8895e50) at io/qfilesystemwatcher_inotify.cpp:248
#13 0x03a5cda2 in QThreadPrivate::start (arg=0x8895e50) at thread/qthread_unix.cpp:320
#14 0x03fa0e99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#15 0x00ac073e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 7 (Thread 0xae0d4b70 (LWP 1246)):
#0  0x018e9d41 in clock_gettime () from /lib/i386-linux-gnu/librt.so.1
#1  0x03ab2dd8 in do_gettime () at tools/qelapsedtimer_unix.cpp:123
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#3  0x03b7f4f2 in updateCurrentTime (this=0x890c2b4, tm=...) at kernel/qeventdispatcher_unix.cpp:339
#4  QTimerInfoList::timerWait (this=0x890c2b4, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x03b7dd32 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xae0d40cc) at kernel/qeventdispatcher_glib.cpp:136
#6  0x03b7ddcd in timerSourcePrepare (source=0x890c280, timeout=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#7  0x03889fd4 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0x0388ae63 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0x0388b524 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0x03b7e577 in QEventDispatcherGlib::processEvents (this=0x8902a28, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#11 0x03b50289 in QEventLoop::processEvents (this=0xae0d4280, flags=...) at kernel/qeventloop.cpp:149
#12 0x03b50522 in QEventLoop::exec (this=0xae0d4280, flags=...) at kernel/qeventloop.cpp:201
#13 0x03a5a2a0 in QThread::exec (this=0x8900800) at thread/qthread.cpp:492
#14 0x03b31fdb in QInotifyFileSystemWatcherEngine::run (this=0x8900800) at io/qfilesystemwatcher_inotify.cpp:248
#15 0x03a5cda2 in QThreadPrivate::start (arg=0x8900800) at thread/qthread_unix.cpp:320
#16 0x03fa0e99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#17 0x00ac073e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 6 (Thread 0xad0aab70 (LWP 9169)):
#0  0x00ddf416 in __kernel_vsyscall ()
#1  0x03fa548c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x00ace3fd in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x03a5d467 in wait (this=0x8cc3450, mutex=0x8cb5c60, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0x8cc3450, mutex=0x8cb5c60, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x00c687e0 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8cc3438, th=0x8ca33a8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0x00c6b47c in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8cb7830, th=0x8ca33a8) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0x00c6842b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8cc3438, th=0x8ca33a8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0x00c6b56a in ThreadWeaver::WorkingHardState::applyForWork (this=0x8cb7830, th=0x8ca33a8) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0x00c68373 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8cc3438, th=0x8ca33a8, previous=0x8a45900) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0x00c69f9e in ThreadWeaver::ThreadRunHelper::run (this=0xad0aa2e4, parent=0x8cc3438, th=0x8ca33a8) at ../../../threadweaver/Weaver/Thread.cpp:87
#11 0x00c6a05b in ThreadWeaver::Thread::run (this=0x8ca33a8) at ../../../threadweaver/Weaver/Thread.cpp:142
#12 0x03a5cda2 in QThreadPrivate::start (arg=0x8ca33a8) at thread/qthread_unix.cpp:320
#13 0x03fa0e99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#14 0x00ac073e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 5 (Thread 0xad8d2b70 (LWP 9170)):
#0  0x00ddf416 in __kernel_vsyscall ()
#1  0x03fa548c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x00ace3fd in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x03a5d467 in wait (this=0x8cc3450, mutex=0x8cb5c60, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0x8cc3450, mutex=0x8cb5c60, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x00c687e0 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8cc3438, th=0x8db7d58) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0x00c6b47c in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8cb7830, th=0x8db7d58) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0x00c6842b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8cc3438, th=0x8db7d58) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0x00c6b56a in ThreadWeaver::WorkingHardState::applyForWork (this=0x8cb7830, th=0x8db7d58) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0x00c68373 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8cc3438, th=0x8db7d58, previous=0x916ddc8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0x00c69f9e in ThreadWeaver::ThreadRunHelper::run (this=0xad8d22e4, parent=0x8cc3438, th=0x8db7d58) at ../../../threadweaver/Weaver/Thread.cpp:87
#11 0x00c6a05b in ThreadWeaver::Thread::run (this=0x8db7d58) at ../../../threadweaver/Weaver/Thread.cpp:142
#12 0x03a5cda2 in QThreadPrivate::start (arg=0x8db7d58) at thread/qthread_unix.cpp:320
#13 0x03fa0e99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#14 0x00ac073e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 4 (Thread 0xac83eb70 (LWP 9171)):
#0  0x00ddf416 in __kernel_vsyscall ()
#1  0x03fa548c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x00ace3fd in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x03a5d467 in wait (this=0x8cc3450, mutex=0x8cb5c60, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0x8cc3450, mutex=0x8cb5c60, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x00c687e0 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8cc3438, th=0x877e298) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0x00c6b47c in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8cb7830, th=0x877e298) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0x00c6842b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8cc3438, th=0x877e298) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0x00c6b56a in ThreadWeaver::WorkingHardState::applyForWork (this=0x8cb7830, th=0x877e298) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0x00c68373 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8cc3438, th=0x877e298, previous=0x87b6db8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0x00c69f9e in ThreadWeaver::ThreadRunHelper::run (this=0xac83e2e4, parent=0x8cc3438, th=0x877e298) at ../../../threadweaver/Weaver/Thread.cpp:87
#11 0x00c6a05b in ThreadWeaver::Thread::run (this=0x877e298) at ../../../threadweaver/Weaver/Thread.cpp:142
#12 0x03a5cda2 in QThreadPrivate::start (arg=0x877e298) at thread/qthread_unix.cpp:320
#13 0x03fa0e99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#14 0x00ac073e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 3 (Thread 0xac03db70 (LWP 9172)):
#0  0x00ddf416 in __kernel_vsyscall ()
#1  0x03fa548c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x00ace3fd in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x03a5d467 in wait (this=0x8cc3450, mutex=0x8cb5c60, time=4294967295) at thread/qwaitcondition_unix.cpp:88
#4  QWaitCondition::wait (this=0x8cc3450, mutex=0x8cb5c60, time=4294967295) at thread/qwaitcondition_unix.cpp:160
#5  0x00c687e0 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8cc3438, th=0x85104c0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0x00c6b47c in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8cb7830, th=0x85104c0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0x00c6842b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8cc3438, th=0x85104c0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0x00c6b56a in ThreadWeaver::WorkingHardState::applyForWork (this=0x8cb7830, th=0x85104c0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0x00c68373 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8cc3438, th=0x85104c0, previous=0x91704f8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0x00c69f9e in ThreadWeaver::ThreadRunHelper::run (this=0xac03d2e4, parent=0x8cc3438, th=0x85104c0) at ../../../threadweaver/Weaver/Thread.cpp:87
#11 0x00c6a05b in ThreadWeaver::Thread::run (this=0x85104c0) at ../../../threadweaver/Weaver/Thread.cpp:142
#12 0x03a5cda2 in QThreadPrivate::start (arg=0x85104c0) at thread/qthread_unix.cpp:320
#13 0x03fa0e99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#14 0x00ac073e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 2 (Thread 0xaa1bfb70 (LWP 13714)):
#0  0x00ddf416 in __kernel_vsyscall ()
#1  0x03fa548c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0x00ace3fd in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6
#3  0x03288b57 in ?? () from /usr/lib/libQtWebKit.so.4
#4  0x03fa0e99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#5  0x00ac073e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 1 (Thread 0xb775aad0 (LWP 1242)):
[KCrash Handler]
#7  0x05e6606c in OpenDesktop::dataUpdated (this=0x97181d8, source=..., data=...) at ../../../applets/community/opendesktop.cpp:262
#8  0x05e666d4 in OpenDesktop::qt_metacall (this=0x97181d8, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0xbfa2dea4) at ./opendesktop.moc:99
#9  0x03b576ba in QMetaObject::metacall (object=0x97181d8, cl=QMetaObject::InvokeMetaMethod, idx=76, argv=0xbfa2dea4) at kernel/qmetaobject.cpp:237
#10 0x03b674ff in QMetaObject::activate (sender=0x82ce4f8, m=0x40db04, local_signal_index=0, argv=0xbfa2dea4) at kernel/qobject.cpp:3287
#11 0x0025b059 in Plasma::DataContainer::dataUpdated (this=0x82ce4f8, _t1=..., _t2=...) at ./datacontainer.moc:112
#12 0x0025ba83 in Plasma::DataContainer::checkForUpdate (this=0x82ce4f8) at ../../plasma/datacontainer.cpp:327
#13 0x0025ef81 in Plasma::DataEngine::timerEvent (this=0x8ed7748, event=0xbfa2e41c) at ../../plasma/dataengine.cpp:386
#14 0x03b66214 in QObject::event (this=0x8ed7748, e=0xbfa2e41c) at kernel/qobject.cpp:1190
#15 0x01b93d24 in QApplicationPrivate::notify_helper (this=0x81e3158, receiver=0x8ed7748, e=0xbfa2e41c) at kernel/qapplication.cpp:4462
#16 0x01b988ce in QApplication::notify (this=0x81c7d68, receiver=0x8ed7748, e=0xbfa2e41c) at kernel/qapplication.cpp:3862
#17 0x010b2dba in KApplication::notify (this=0x81c7d68, receiver=0x8ed7748, event=0xbfa2e41c) at ../../kdeui/kernel/kapplication.cpp:311
#18 0x03b510bb in QCoreApplication::notifyInternal (this=0x81c7d68, receiver=0x8ed7748, event=0xbfa2e41c) at kernel/qcoreapplication.cpp:731
#19 0x03b811e4 in sendEvent (this=0x81e1274) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#20 QTimerInfoList::activateTimers (this=0x81e1274) at kernel/qeventdispatcher_unix.cpp:604
#21 0x03b7ddf4 in timerSourceDispatch (source=0x81e1240) at kernel/qeventdispatcher_glib.cpp:184
#22 0x0388aaa8 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#23 0x0388b270 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#24 0x0388b524 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#25 0x03b7e53c in QEventDispatcherGlib::processEvents (this=0x816fac0, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#26 0x01c47775 in QGuiEventDispatcherGlib::processEvents (this=0x816fac0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#27 0x03b50289 in QEventLoop::processEvents (this=0xbfa2e6b4, flags=...) at kernel/qeventloop.cpp:149
#28 0x03b50522 in QEventLoop::exec (this=0xbfa2e6b4, flags=...) at kernel/qeventloop.cpp:201
#29 0x03b54ecc in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#30 0x01b918e7 in QApplication::exec () at kernel/qapplication.cpp:3736
#31 0x001427ab in kdemain (argc=1, argv=0xbfa2e8d4) at ../../../../plasma/desktop/shell/main.cpp:120
#32 0x080485cb in main (argc=1, argv=0xbfa2e8d4) at plasma-desktop_dummy.cpp:3

Possible duplicates by query: bug 265658.

Reported using DrKonqi
Comment 1 Dario Andres 2011-05-12 00:58:43 UTC
*** Bug 265658 has been marked as a duplicate of this bug. ***
Comment 2 Aaron J. Seigo 2011-12-06 11:56:39 UTC
*** Bug 285675 has been marked as a duplicate of this bug. ***
Comment 3 Aaron J. Seigo 2011-12-06 11:57:50 UTC
Git commit d3d08cb3ce8ce2fd34dc41ab42e50ade5be9be92 by Aaron Seigo.
Committed on 06/12/2011 at 12:55.
Pushed by aseigo into branch 'master'.

don't bother newing/deleting the struct, create it on the stack

BUG:273029

M  +34   -47   applets/community/opendesktop.cpp
M  +10   -2    applets/community/opendesktop.h

http://commits.kde.org/kdeplasma-addons/d3d08cb3ce8ce2fd34dc41ab42e50ade5be9be92
Comment 4 Thijs 2012-05-31 12:46:22 UTC
*** Bug 296402 has been marked as a duplicate of this bug. ***