← Back to team overview

ubuntu-phone team mailing list archive

Re: Dash crash

 

Hi Roman,

I've just found a case which makes dash crash - this is when my test scope creates at least two duplicated results for given search request (same uri, title, icon... everything - they need to be exactly the same to trigger the crash) Can you check if same thing happens to your scope (may be a problem with the remote service you're using, not your scope)?

Cheers,
Pawel


On 15.02.2016 06:53, Roman Shchekin wrote:
Hi all

I deveped scope called "Academy". C++ source code is: https://github.com/QtRoS/courseexplorer (courseexplorer is working name)

First time it worked fine on my phone (BQ E4.5, latest stable update). Now sometimes I am getting dash crash - "Scope" /application/ restarts (don't sure if I can call it application).
Here is scenario:
1. Open scope "Academy"
2. Find something, for example "Haskell"
3. Push back arrow (or just clear search query)
4. Maybe you will get crash
So it fails with *empty search*. Interesting thing is that you can run empty search any times via "Pull to refresh" - it works well. It crashes only after search with non-empty query (when you are returning back). Another interesting thing is that I am using ScopeBase::cache_directory as cache for search results, downloaded for *empty search* (when search request is non-empty, I am always using data from coursera, edx and etc.). So when scope is requested to show all results (query string is empty) I am pushing about 400 results almost instantly. I have logging in my scope. Here it is (in files scope-registry and unity8-dash):
http://paste.ubuntu.com/15072249/ - the most interesting part is:
Query: Finished with source: "Udacity"
That means that all my code in Query is finished.
http://paste.ubuntu.com/15072258/ - the most interesting is:
flushUpdates: "academy.mrqtros_academy" #results = 79 finalize: false
flushUpdates: "academy.mrqtros_academy" #results = 81 finalize: false
flushUpdates: "academy.mrqtros_academy" #results = 92 finalize: false
Loading module: 'libubuntu_application_api_touch_mirclient.so.3.0.0'
file:///usr/share/unity8//Dash/Dash.qml:39: ReferenceError: window is not defined file:///usr/share/unity8//Dash/Dash.qml:265: ReferenceError: scopeStyle is not defined
Seems that dash failed to flush results of search.

Please, help me with that. It's part of scope showdown and I really don't want to lose scores because of that.

P.S. Scope works fine on desktop (stress-tested it well)
P.S.S. I have strong C++ knowlege, so I am almost sure, that it is not my fault
P.S.S.S. Yes, I tested old version without cache - also crashes sometimes.





Follow ups

References