Merge lp:~gerboland/qtubuntu/quit-gracefully-on-no-mirconnection into lp:qtubuntu

Proposed by Gerry Boland
Status: Merged
Approved by: Daniel d'Andrada
Approved revision: 364
Merged at revision: 365
Proposed branch: lp:~gerboland/qtubuntu/quit-gracefully-on-no-mirconnection
Merge into: lp:qtubuntu
Diff against target: 35 lines (+12/-5)
1 file modified
src/ubuntumirclient/integration.cpp (+12/-5)
To merge this branch: bzr merge lp:~gerboland/qtubuntu/quit-gracefully-on-no-mirconnection
Reviewer Review Type Date Requested Status
Daniel d'Andrada (community) Approve
Unity8 CI Bot continuous-integration Approve
Review via email: mp+314618@code.launchpad.net

Commit message

Quit gracefully if Mir connection failed

To post a comment you must log in.
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:362
https://unity8-jenkins.ubuntu.com/job/lp-qtubuntu-ci/169/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3767
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3795
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3639
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3639/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3639
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3639/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3639
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3639/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3639
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3639/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3639
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3639/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3639
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3639/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-qtubuntu-ci/169/rebuild

review: Approve (continuous-integration)
363. By Gerry Boland

Get Mir's error message

364. By Gerry Boland

Clarify comment a bit

Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:364
https://unity8-jenkins.ubuntu.com/job/lp-qtubuntu-ci/170/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/3768
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/3796
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3640
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/3640/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3640
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=zesty/3640/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3640
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/3640/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3640
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=zesty/3640/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3640
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/3640/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3640
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=zesty/3640/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-qtubuntu-ci/170/rebuild

review: Approve (continuous-integration)
Revision history for this message
Daniel d'Andrada (dandrader) wrote :

Looks ok. Might worth checking if the connection attempt to extract the error message was successful (who knows?)

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/ubuntumirclient/integration.cpp'
2--- src/ubuntumirclient/integration.cpp 2016-12-01 22:28:20 +0000
3+++ src/ubuntumirclient/integration.cpp 2017-01-12 13:55:02 +0000
4@@ -75,20 +75,27 @@
5 , mAppStateController(new UbuntuAppStateController)
6 , mScaleFactor(1.0)
7 {
8+ QByteArray sessionName;
9 {
10 QStringList args = QCoreApplication::arguments();
11 setupOptions(args);
12- QByteArray sessionName = generateSessionName(args);
13+ sessionName = generateSessionName(args);
14 setupDescription(sessionName);
15 }
16
17 // Create new application instance
18 mInstance = u_application_instance_new_from_description_with_options(mDesc, mOptions);
19
20- if (mInstance == nullptr)
21- qFatal("UbuntuClientIntegration: connection to Mir server failed. Check that a Mir server is\n"
22- "running, and the correct socket is being used and is accessible. The shell may have\n"
23- "rejected the incoming connection, so check its log file");
24+ if (mInstance == nullptr) {
25+ qCritical("[QPA] UbuntuClientIntegration: connection to Mir server failed.\n");
26+
27+ // TODO: add API to platform-api to fetch Mir's error message (bug:1655970).
28+ // Workaround by retrying the connection here in order to get the message.
29+ auto mirConnection = mir_connect_sync(nullptr, sessionName.data());
30+ qCritical("Mir returned: \"%s\"", mir_connection_get_error_message(mirConnection));
31+ mir_connection_release(mirConnection);
32+ exit(EXIT_FAILURE);
33+ }
34
35 mMirConnection = u_application_instance_get_mir_connection(mInstance);
36

Subscribers

People subscribed via source and target branches