Merge lp:~marcustomlinson/unity-scope-click/lp-1591422 into lp:unity-scope-click
Proposed by
Marcus Tomlinson
Status: | Merged |
---|---|
Approved by: | dobey |
Approved revision: | 463 |
Merged at revision: | 463 |
Proposed branch: | lp:~marcustomlinson/unity-scope-click/lp-1591422 |
Merge into: | lp:unity-scope-click |
Diff against target: |
56 lines (+20/-4) 2 files modified
libclickscope/click/preview.cpp (+10/-2) libclickscope/click/ubuntuone_credentials.cpp (+10/-2) |
To merge this branch: | bzr merge lp:~marcustomlinson/unity-scope-click/lp-1591422 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
dobey (community) | Approve | ||
PS Jenkins bot | continuous-integration | Pending | |
Review via email: mp+297269@code.launchpad.net |
Commit message
Ignore promise_
To post a comment you must log in.
Looking at:
https:/ /errors. ubuntu. com/problem/ f271ff40a203e6d 22ab0bf36beb8f6 f6adddb90a,
we can see that the crash originates from:
ubuntuone_ credentials. cpp:63 -> "promise. set_value( token); "
Digging a little deeper into the future source, _M_set_result() seems to only throw std::future_error for the promise_ already_ satisfied condition. This unhandled exception is tearing down the scope.
We have 2 places in code where getCredentials() is called: :CredentialsSer vice::getToken( ) w::get_ consumer_ key()
click:
& InstalledPrevie
I suspect that during "QCoreApplicati on::processEven ts();" in click:: CredentialsServ ice::getToken( ), we may risk processing 2 getCredentials() calls in parallel, causing multiple callbacks into the signal handler.
This change adds a safety net which may or may not make the issue go away completely, but it certainly shouldn't make things any worse.