Merge lp:~gerboland/qtmir/segv-on-mir-start-timeout into lp:qtmir

Proposed by Gerry Boland
Status: Merged
Approved by: Gerry Boland
Approved revision: 503
Merged at revision: 533
Proposed branch: lp:~gerboland/qtmir/segv-on-mir-start-timeout
Merge into: lp:qtmir
Diff against target: 57 lines (+5/-10)
3 files modified
src/platforms/mirserver/mirserverintegration.cpp (+1/-3)
src/platforms/mirserver/qmirserver.cpp (+3/-6)
src/platforms/mirserver/qmirserver.h (+1/-1)
To merge this branch: bzr merge lp:~gerboland/qtmir/segv-on-mir-start-timeout
Reviewer Review Type Date Requested Status
Unity8 CI Bot (community) continuous-integration Approve
Daniel van Vugt Approve
Review via email: mp+296707@code.launchpad.net

Commit message

Dump core if Mir fails to start in time - dump will help us see where Mir blocked

To post a comment you must log in.
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Nice.

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

PASSED: Continuous integration, rev:503
https://unity8-jenkins.ubuntu.com/job/lp-qtmir-ci/269/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/1907
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/1933
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1869
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/1869
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/1869
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1860
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1860/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1860
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1860/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/1860
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/1860/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1860
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1860/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1860
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1860/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/1860
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/1860/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1860
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1860/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1860
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1860/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/1860
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/1860/artifact/output/*zip*/output.zip

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

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

PASSED: Continuous integration, rev:503
https://unity8-jenkins.ubuntu.com/job/lp-qtmir-ci/282/
Executed test runs:
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build/2036
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2064
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/1976
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/1976
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/1976
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1968
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/1968/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1968
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/1968/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/1968
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/1968/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1968
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/1968/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1968
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/1968/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/1968
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/1968/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1968
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/1968/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1968
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/1968/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/1968
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/1968/artifact/output/*zip*/output.zip

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

review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/platforms/mirserver/mirserverintegration.cpp'
2--- src/platforms/mirserver/mirserverintegration.cpp 2016-05-05 14:34:21 +0000
3+++ src/platforms/mirserver/mirserverintegration.cpp 2016-06-07 17:59:16 +0000
4@@ -140,9 +140,7 @@
5 void MirServerIntegration::initialize()
6 {
7 // Creates instance of and start the Mir server in a separate thread
8- if (!m_mirServer->start()) {
9- exit(2);
10- }
11+ m_mirServer->start();
12
13 auto screens = m_mirServer->screensModel().lock();
14 if (!screens) {
15
16=== modified file 'src/platforms/mirserver/qmirserver.cpp'
17--- src/platforms/mirserver/qmirserver.cpp 2016-04-29 15:41:00 +0000
18+++ src/platforms/mirserver/qmirserver.cpp 2016-06-07 17:59:16 +0000
19@@ -45,23 +45,20 @@
20 stop();
21 }
22
23-bool QMirServer::start()
24+void QMirServer::start()
25 {
26 Q_D(QMirServer);
27
28 d->serverThread->start(QThread::TimeCriticalPriority);
29
30- if (!d->serverThread->waitForMirStartup())
31- {
32- qCritical() << "ERROR: QMirServer - Mir failed to start";
33- return false;
34+ if (!d->serverThread->waitForMirStartup()) {
35+ qFatal("ERROR: QMirServer - Mir failed to start"); // will core dump
36 }
37 d->screensModel->update();
38 d->screensController = QSharedPointer<ScreensController>(
39 new ScreensController(d->screensModel, d->server->the_display(),
40 d->server->the_display_configuration_controller()));
41 Q_EMIT started();
42- return true;
43 }
44
45 void QMirServer::stop()
46
47=== modified file 'src/platforms/mirserver/qmirserver.h'
48--- src/platforms/mirserver/qmirserver.h 2016-04-29 15:41:00 +0000
49+++ src/platforms/mirserver/qmirserver.h 2016-06-07 17:59:16 +0000
50@@ -34,7 +34,7 @@
51 QMirServer(int &argc, char **argv, QObject* parent=0);
52 virtual ~QMirServer();
53
54- bool start();
55+ void start();
56 Q_SLOT void stop();
57 bool isRunning() const;
58

Subscribers

People subscribed via source and target branches