> On April 25, 2015, 10:27 a.m., David Edmundson wrote:
> > Ship it * 1000
> 
> David Edmundson wrote:
>     Wait. How can this make any difference?
>     
>     DBus slots all happen in the main thread's event loop, which means we 
> must have finished all this function before that.
>     
>     The only way this could change the behaviour is if something in new 
> DesktopView() is calling creating a new event loop or calling 
> qApp->processEvents()
>     
>     do you still have the entire trace?
> 
> David Edmundson wrote:
>     Well, I was right
>     
>     ActivitiesSync::currentActivity
>     
>             while (activities->serviceStatus() == 
> KActivities::Consumer::Unknown) {
>                 QCoreApplication::instance()->processEvents();
>             }
>             
>     
>     Your QML code is creating an activities model which calls this rather 
> questionable segment of code.
>     It's possible Kicker is too.
>     
>     You can push your change if you want a quick fix, it won't do any harm, 
> but the real fix will be replacing this method. 
>     
>     Blocking DBus calls should be made with the normal sensible blocking DBus 
> API (or not done at all) not doing this processing all sorts of things out of 
> whack.

full backtrace for anyone else: http://ix.io/dKR


- David


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/123494/#review79491
-----------------------------------------------------------


On April 25, 2015, 3:56 a.m., Bhushan Shah wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/123494/
> -----------------------------------------------------------
> 
> (Updated April 25, 2015, 3:56 a.m.)
> 
> 
> Review request for Plasma and Marco Martin.
> 
> 
> Repository: plasma-workspace
> 
> 
> Description
> -------
> 
> This avoids the crash situation where something have created the activity 
> consumer earlier and currentActivityChanged signal is emitted before view is 
> created.
> 
> ```
> #0  PlasmaQuick::View::setContainment (this=0x0, cont=0x16a9fc0) at 
> /home/bshah/aur/plasma-framework-git/src/plasma-framework/src/plasmaquick/view.cpp:243
> #1  0x0000000000462097 in StandaloneAppCorona::currentActivityChanged 
> (this=0x7772a0, newActivity=...)
>     at 
> /home/bshah/aur/plasma-workspace-git/src/plasma-workspace/shell/standaloneappcorona.cpp:192
> #2  0x00007ffff32383c9 in QMetaObject::activate(QObject*, int, int, void**) 
> () from /usr/lib/libQt5Core.so.5
> #3  0x00007ffff71f9763 in KActivities::Consumer::currentActivityChanged 
> (this=0x741aa0, _t1=...) at 
> /home/bshah/aur/kactivities-git/src/build/src/lib/core/moc_consumer.cpp:216
> #4  0x00007ffff71f94dd in KActivities::Consumer::qt_static_metacall 
> (_o=0x741aa0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffffffa570)
>     at 
> /home/bshah/aur/kactivities-git/src/build/src/lib/core/moc_consumer.cpp:103
> #5  0x00007ffff32383c9 in QMetaObject::activate(QObject*, int, int, void**) 
> () from /usr/lib/libQt5Core.so.5
> #6  0x00007ffff71f91d6 in 
> KActivities::ActivitiesCache::currentActivityChanged (this=0x77c900, _t1=...) 
> at 
> /home/bshah/aur/kactivities-git/src/build/src/lib/core/moc_activitiescache_p.cpp:353
> #7  0x00007ffff71ee4f7 in KActivities::ActivitiesCache::setCurrentActivity 
> (this=0x77c900, activity=...)
>     at 
> /home/bshah/aur/kactivities-git/src/kactivities/src/lib/core/activitiescache_p.cpp:297
> ```
> 
> I hit this crash when creating recent media backend for pmc. First 
> backendsmodel is initalized which in turn loads the recentmedia backend and 
> hence creates the activity consumer first. Afterwards when signal is 
> connected it calls currentActivityChanged slot and fails to set containment 
> on null view.
> 
> 
> Diffs
> -----
> 
>   shell/standaloneappcorona.cpp efa5c91 
> 
> Diff: https://git.reviewboard.kde.org/r/123494/diff/
> 
> 
> Testing
> -------
> 
> works fine
> 
> 
> Thanks,
> 
> Bhushan Shah
> 
>

_______________________________________________
Plasma-devel mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to