I open the "Dashboard overlay" and choose "Add widgets" and after this I choose "Download additional widgets" The crash happens within several seconds and is reproducable. Moving the mouse cursor shortens the time you have to wait for the crash. Reproducible: Always Steps to Reproduce: 1. Switch to "View Dashboard" 2. Click on additonal widgets 3. Choose "Download widgets" Actual Results: plasmashell is crashes. The backtrace is too long for the comment fields. I will attach them. Qt Version: 5.4.0 Operating System: Linux 3.16.0-31-generic x86_64 Distribution: Ubuntu 14.10
Created attachment 91556 [details] Backtrace of crash
Created attachment 91557 [details] Reproduced situation in Virtualbox shows situation
Comment on attachment 91556 [details] Backtrace of crash Pasting backtrace inline Thread 1 (Thread 0x7fdd8efb0880 (LWP 2377)): [KCrash Handler] #5 0x00007fdd8c32cdc0 in isObject (this=<optimized out>) at ../../include/QtQml/5.4.0/QtQml/private/../../../../../src/qml/jsruntime/qv4value_inl_p.h:65 #6 as<QV4::VariantObject> (this=<optimized out>) at ../../include/QtQml/5.4.0/QtQml/private/../../../../../src/qml/jsruntime/qv4value_inl_p.h:276 #7 value_cast<QV4::VariantObject> (v=...) at ../../include/QtQml/5.4.0/QtQml/private/../../../../../src/qml/jsruntime/qv4value_p.h:558 #8 Scoped (v=<optimized out>, scope=<synthetic pointer>, this=<synthetic pointer>) at ../../include/QtQml/5.4.0/QtQml/private/../../../../../src/qml/jsruntime/qv4scopedvalue_p.h:304 #9 QQmlVMEMetaObject::writeVarProperty (this=0x7736290, id=1, value=...) at qml/qqmlvmemetaobject.cpp:1030 #10 0x00007fdd8c3478d4 in QQmlPropertyPrivate::writeBinding (object=0x0, core=..., context=0x7e56bf0, expression=0x7241430, result=..., isUndefined=false, flags=...) at qml/qqmlproperty.cpp:1539 #11 0x00007fdd8c3b900f in QQmlBinding::update (this=0x7241410, flags=...) at qml/qqmlbinding.cpp:224 #12 0x00007fdd8c3b976e in update (this=<optimized out>) at qml/qqmlbinding_p.h:97 #13 QQmlBinding::expressionChanged (e=<optimized out>) at qml/qqmlbinding.cpp:285 #14 0x00007fdd8c393bb7 in QQmlNotifier::emitNotify (endpoint=0x87bbda0, a=a@entry=0x7fff0b742f70) at qml/qqmlnotifier.cpp:73 #15 0x00007fdd8c33301c in QQmlData::signalEmitted (object=0x74c1370, index=29, a=0x7fff0b742f70) at qml/qqmlengine.cpp:715 #16 0x00007fdd8a633dd1 in QMetaObject::activate (sender=0x74c1370, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff0b742f70) at kernel/qobject.cpp:3603 #17 0x00007fdd8c32beef in QQmlVMEMetaObject::metaCall (this=0x7b8dfe0, c=QMetaObject::InvokeMetaMethod, _id=38, a=0x7fff0b742f70) at qml/qqmlvmemetaobject.cpp:914 #18 0x00007fdd8c309f1d in CallMethod (object=0x0, index=1282983752, returnType=43, argCount=0, argTypes=0x7fdc46fff0e0, engine=0x0, callArgs=0x7fdc46fff088) at jsruntime/qv4qobjectwrapper.cpp:1165 #19 0x00007fdd8c30c545 in CallPrecise (object=0x74c1370, data=..., engine=0x760d790, callArgs=0x7fdc46fff088) at jsruntime/qv4qobjectwrapper.cpp:1403 #20 0x00007fdd8c30cc63 in QV4::QObjectMethod::callInternal (this=<optimized out>, callData=0x7fdc46fff088) at jsruntime/qv4qobjectwrapper.cpp:1884 #21 0x00007fdd8c3181f2 in call (d=0x7fdc46fff088, this=<optimized out>) at jsruntime/qv4object_p.h:278 #22 QV4::Runtime::callActivationProperty (context=<optimized out>, name=0x7fdc4c74c610, callData=0x7fdc46fff088) at jsruntime/qv4runtime.cpp:904 #23 0x00007fdc4c709da6 in ?? () #24 0x0000000007b56b70 in ?? () #25 0x0000000007b56b70 in ?? () #26 0x00007fdc4cd38000 in ?? () #27 0x00007fdc46fff058 in ?? () #28 0x00007fdc4cd38000 in ?? () #29 0x0000000007b56b70 in ?? () #30 0x0000000007b56b70 in ?? () #31 0x0000000007b56b70 in ?? () #32 0x00007fdc4cd38000 in ?? () #33 0x00007fdd8c2c8eb6 in QV4::SimpleScriptFunction::call (that=0x7fdc4c74db70, callData=<optimized out>) at jsruntime/qv4functionobject.cpp:511 #34 0x00007fdd8c3b07af in call (d=<optimized out>, this=<optimized out>) at ../../include/QtQml/5.4.0/QtQml/private/../../../../../src/qml/jsruntime/qv4object_p.h:278 #35 QQmlJavaScriptExpression::evaluate (this=0x7b36c60, context=<optimized out>, function=..., callData=<optimized out>, isUndefined=0x0) at qml/qqmljavascriptexpression.cpp:158 #36 0x00007fdd8c3549d6 in QQmlBoundSignalExpression::evaluate (this=0x7b36c40, a=0x7fff0b7437d0) at qml/qqmlboundsignal.cpp:281 #37 0x00007fdd8c35541b in QQmlBoundSignal_callback (e=0x6ed7648, a=0x7fff0b743ae0) at qml/qqmlboundsignal.cpp:408 #38 0x00007fdd8c393bb7 in QQmlNotifier::emitNotify (endpoint=0x6ed7648, a=a@entry=0x7fff0b743ae0) at qml/qqmlnotifier.cpp:73 #39 0x00007fdd8c33301c in QQmlData::signalEmitted (object=0x74c1370, index=3, a=0x7fff0b743ae0) at qml/qqmlengine.cpp:715 #40 0x00007fdd8a633dd1 in QMetaObject::activate (sender=sender@entry=0x74c1370, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff0b743ae0) at kernel/qobject.cpp:3603 #41 0x00007fdd8a634ce7 in QMetaObject::activate (sender=sender@entry=0x74c1370, m=m@entry=0x7fdd78348960 <Plasma::DataSource::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff0b743ae0) at kernel/qobject.cpp:3582 #42 0x00007fdd78133797 in Plasma::DataSource::newData (this=this@entry=0x74c1370, _t1=..., _t2=...) at moc_datasource.cpp:358 #43 0x00007fdd78122c8a in Plasma::DataSource::dataUpdated (this=0x74c1370, sourceName=..., data=...) at ../../../../src/declarativeimports/core/datasource.cpp:151 #44 0x00007fdd7813509d in Plasma::DataSource::qt_static_metacall (_o=0x0, _c=1282983752, _id=1191178480, _a=0x0) at moc_datasource.cpp:178 #45 0x00007fdd8a634659 in QMetaObject::activate (sender=sender@entry=0x69730c0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff0b743cf0) at kernel/qobject.cpp:3716 #46 0x00007fdd8a634ce7 in QMetaObject::activate (sender=sender@entry=0x69730c0, m=m@entry=0x7fdd8e6f2fc0 <Plasma::SignalRelay::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff0b743cf0) at kernel/qobject.cpp:3582 #47 0x00007fdd8e49adf7 in Plasma::SignalRelay::dataUpdated (this=this@entry=0x69730c0, _t1=..., _t2=...) at ./moc_datacontainer_p.cpp:125 #48 0x00007fdd8e49b501 in Plasma::SignalRelay::timerEvent (this=0x69730c0, event=<optimized out>) at ../../../src/plasma/private/datacontainer_p.cpp:157 #49 0x00007fdd8a635773 in QObject::event (this=0x69730c0, e=<optimized out>) at kernel/qobject.cpp:1267 #50 0x00007fdd8af0ad3c in QApplicationPrivate::notify_helper (this=0x26413d0, receiver=0x69730c0, e=0x7fff0b744010) at kernel/qapplication.cpp:3722 #51 0x00007fdd8af10330 in QApplication::notify (this=0x7fff0b7443c0, receiver=0x69730c0, e=0x7fff0b744010) at kernel/qapplication.cpp:3505 #52 0x00007fdd8a60503b in QCoreApplication::notifyInternal (this=0x7fff0b7443c0, receiver=0x69730c0, event=event@entry=0x7fff0b744010) at kernel/qcoreapplication.cpp:932 #53 0x00007fdd8a65b1a5 in sendEvent (event=0x7fff0b744010, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228 #54 QTimerInfoList::activateTimers (this=0x26789f0) at kernel/qtimerinfo_unix.cpp:635 #55 0x00007fdd8a65b609 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:177 #56 idleTimerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:224 #57 0x00007fdd86619c5d in g_main_dispatch (context=0x7fdd740016f0) at /build/buildd/glib2.0-2.42.1/./glib/gmain.c:3111 #58 g_main_context_dispatch (context=context@entry=0x7fdd740016f0) at /build/buildd/glib2.0-2.42.1/./glib/gmain.c:3710 #59 0x00007fdd86619f48 in g_main_context_iterate (context=context@entry=0x7fdd740016f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.42.1/./glib/gmain.c:3781 #60 0x00007fdd86619ffc in g_main_context_iteration (context=0x7fdd740016f0, may_block=1) at /build/buildd/glib2.0-2.42.1/./glib/gmain.c:3842 #61 0x00007fdd8a65c277 in QEventDispatcherGlib::processEvents (this=0x2684ff0, flags=...) at kernel/qeventdispatcher_glib.cpp:418 #62 0x00007fdd8a6028d2 in QEventLoop::exec (this=this@entry=0x7fff0b744260, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #63 0x00007fdd8a60a37c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1185 #64 0x00007fdd8a94abcc in QGuiApplication::exec () at kernel/qguiapplication.cpp:1535 #65 0x00007fdd8af06df5 in QApplication::exec () at kernel/qapplication.cpp:2956 #66 0x000000000042fccf in main (argc=2, argv=<optimized out>) at ../../shell/main.cpp:150 I can not reproduce this crash though with given steps
Interesting, After seeing your layout in video I have managed to find out that crash is due to system load viewer.. Can you confirm that if you remove the system load viewer applet; it no longer crashes?
Yes I can confirm it for the VM and for the native installation on hardware. So the widget seems no like the situation.
Actually I can reproduce this even without dashboard; perhaps this is due to some spike in CPU or memory usage..
I reproduced the situation with different CPU counts in the VM. On single core systems the crash happens shortly after loading the widget. On a quad core system with a single numa node zone it is reproducable like in the video.
*** Bug 342830 has been marked as a duplicate of this bug. ***
tough it seems the crash is happening somewhere in the Javascript interpreter, not in the Plot component
Is the component widget explorer stil valid or should we change it to general?
I was able to reproduce this every time, until I got rid of the system load widget. Now I can scroll through the widget menu at will, with no crash.
reproduced, adding some extra info, which shouldn't be much of a surprise. (gdb) frame 34 #34 0x00007fffda1d39fb in Plasma::DataSource::dataUpdated (this=0x20499e0, sourceName="mem/swap/used", data={...}) at /home/david/projects/kde5/src/frameworks/plasma-framework/src/declarativeimports/core/datasource.cpp:179 179 emit newData(sourceName, data); (gdb) print sourceName $2 = "mem/swap/used" (gdb) print data $3 = {["max"] = {type = QString, data = "4093948"}, ["min"] = {type = QString, data = "0"}, ["name"] = {type = QString, data = "Used Swap Memory"}, ["type"] = {type = QString, data = "integer"}, ["units"] = {type = QString, data = "KB"}, ["value"] = {type = QString, data = "443916"}} All looks in order on our side, which makes it a Qt problem. My working theory is that the garbage collector is running in another thread after the variant map has been copied to a JS object and it's getting lost..but obviously that shouldn't happen. Now I can reproduce I'll upgrade to Qt5.5 and see if I still get it.
*** Bug 345722 has been marked as a duplicate of this bug. ***
*** Bug 346358 has been marked as a duplicate of this bug. ***
*** Bug 346650 has been marked as a duplicate of this bug. ***
*** Bug 346769 has been marked as a duplicate of this bug. ***
*** Bug 347241 has been marked as a duplicate of this bug. ***
*** Bug 348332 has been marked as a duplicate of this bug. ***
*** Bug 348421 has been marked as a duplicate of this bug. ***
FYI I can not reproduce this with Qt 5.5
*** Bug 348745 has been marked as a duplicate of this bug. ***
*** Bug 349101 has been marked as a duplicate of this bug. ***
*** Bug 349375 has been marked as a duplicate of this bug. ***
*** Bug 350146 has been marked as a duplicate of this bug. ***
*** Bug 350338 has been marked as a duplicate of this bug. ***
This seems to have been fixed with Qt 5.5. I've three different system load viewer applet on my desktop. But I can not reproduce this crash. If you can reproduce this with Qt 5.5 please reopen.
OS information: -Version- Kernel : Linux 4.1.3-2-desktop (x86_64) Compiled : #1 SMP PREEMPT Wed Jul 29 09:47:55 UTC 2015 (41613e2) C Library : GNU C Library version 2.21 (git 4e42b5b8f89f) (stable) Default C Compiler : GNU C Compiler version 5.1.1 20150713 [gcc-5-branch revision 225736] (SUSE Linux) Distribution : openSUSE (TW) 20150802 (x86_64) -Current Session- Computer Name : linux User Name : verwijs (André Verwijs) Home Directory : /home/verwijs Desktop Environment : Unknown (Window Manager: KWin) -Misc- Uptime : 2 hours, 4 minutes Load Average : 1,00, 0,00, 0,00 ----------------------------------------------------------------------------------------------------------------------------- me getting the same.... backtrace: https://goo.gl/M4yTEt (dropbox: view or download)