← Back to team overview

touch-packages team mailing list archive

[Bug 1421009] Re: unity8 sometimes fails to respond to com.canonical.UnityGreeter IsActive

 

I just got this after 7 tries.  On the screen is the Ubuntu spinner.
Here's a stacktrace:

(gdb) bt full
#0  0xffffffff in syscall () at /lib/arm-linux-gnueabihf/libc.so.6
#1  0xffffffff in QBasicMutex::lockInternal() (op=0, val=3, timeout=0x0, addr=<optimized out>) at thread/qmutex_linux.cpp:154
        addr2 = 0x0
        val2 = 0
#2  0xffffffff in QBasicMutex::lockInternal() (timeout=-1, elapsedTimer=0x0, d_ptr=...) at thread/qmutex_linux.cpp:195
#3  0xffffffff in QBasicMutex::lockInternal() (this=this@entry=0x132b2e4)
    at thread/qmutex_linux.cpp:211
#4  0xffffffff in QMutex::lock() (this=0x132b2e4) at thread/qmutex.h:67
        self = 0xb6efd410
        success = true
        current = 0x132b2d8
#5  0xffffffff in QMutex::lock() (timeout=-1, this=0x132b2d8)
    at thread/qmutex.cpp:628
        self = 0xb6efd410
        success = true
        current = 0x132b2d8
#6  0xffffffff in QMutex::lock() (this=this@entry=0x132b414)
    at thread/qmutex.cpp:223
        current = 0x132b2d8
#7  0xffffffff in qDBusRealToggleWatch(QDBusConnectionPrivate*, DBusWatch*, int) (m=0x132b414, s=0x132b3f0, a=ToggleWatchAction, this=<synthetic pointer>)
    at qdbusthreaddebug_p.h:191
        locker = 
            {<QDBusMutexLocker> = {<QDBusLockerBase> = {<No data fields>}, self = 0x132b3f0, mutex = 0x132b414, action = ToggleWatchAction}, <No data fields>}
        i = <optimized out>
#8  0xffffffff in qDBusRealToggleWatch(QDBusConnectionPrivate*, DBusWatch*, int) (s=0x132b3f0, a=ToggleWatchAction, this=<synthetic pointer>)
    at qdbusthreaddebug_p.h:206
        locker = 
            {<QDBusMutexLocker> = {<QDBusLockerBase> = {<No data fields>}, self = 0x132b3f0, mutex = 0x132b414, action = ToggleWatchAction}, <No data fields>}
        i = <optimized out>
#9  0xffffffff in qDBusRealToggleWatch(QDBusConnectionPrivate*, DBusWatch*, int) (d=0x132b3f0, watch=0x132c480, fd=41) at qdbusintegrator.cpp:344
        locker = 
            {<QDBusMutexLocker> = {<QDBusLockerBase> = {<No data fields>}, self = 0x132b3f0, mutex = 0x132b414, action = ToggleWatchAction}, <No data fields>}
        i = <optimized out>
#10 0xffffffff in check_write_watch (transport=0x132c3e8)
    at ../../dbus/dbus-transport-socket.c:167
        needed = <optimized out>
        transport = 0x132c3e8
        socket_transport = 0x132c3e8
#11 0xffffffff in socket_do_iteration (transport=0x132c3e8, flags=1, timeout_milliseconds=<optimized out>) at ../../dbus/dbus-transport-socket.c:1210
        socket_transport = 0x132c3e8
        poll_fd = {fd = 41, events = 0, revents = -16705}
        poll_res = <optimized out>
        poll_timeout = <optimized out>
#12 0xffffffff in _dbus_transport_do_iteration (transport=0x132c3e8, flags=1, timeout_milliseconds=-1) at ../../dbus/dbus-transport.c:1001
#13 0xffffffff in _dbus_connection_do_iteration_unlocked (connection=0x132c808, pending=<optimized out>, flags=1, timeout_milliseconds=-1)
    at ../../dbus/dbus-connection.c:1227
#14 0xffffffff in _dbus_connection_send_preallocated_unlocked_no_update (connection=connection@entry=0x132c808, preallocated=0x0, message=message@entry=0x14ee998, client_serial=client_serial@entry=0x0) at ../../dbus/dbus-connection.c:2057
#15 0xffffffff in _dbus_connection_send_and_unlock (client_serial=0x0, message=0x14ee998, preallocated=<optimized out>, connection=0x132c808)
    at ../../dbus/dbus-connection.c:2077
        status = <optimized out>
        preallocated = <optimized out>
#16 0xffffffff in _dbus_connection_send_and_unlock (connection=0x132c808, message=0x14ee998, client_serial=0x0) at ../../dbus/dbus-connection.c:2114
        preallocated = <optimized out>
#17 0xffffffff in dbus_bus_add_match (connection=0x132c808, rule=0x1816360 "type='signal',sender='com.canonical.UserMetrics',path='/com/canonical/UserMetrics/DataSource/3',interface='com.canonical.usermetrics.DataSource',member='emptyDataStringChanged'", error=0x0) at ../../dbus/dbus-bus.c:1553
        msg = 0x14ee998
        __FUNCTION__ = "dbus_bus_add_match"
#18 0xffffffff in QDBusConnectionPrivate::connectSignal(QString const&, QDBusConnectionPrivate::SignalHook const&) (error=0x0, rule=<optimized out>, connection=<optimized out>) at qdbus_symbols_p.h:90
        it = <optimized out>
        __PRETTY_FUNCTION__ = "void QDBusConnectionPrivate::connectSignal(const QString&, const QDBusConnectionPrivate::SignalHook&)"
#19 0xffffffff in QDBusConnectionPrivate::connectSignal(QString const&, QDBusConnectionPrivate::SignalHook const&) (this=this@entry=0x132b3f0, key=..., hook=...) at qdbusintegrator.cpp:2180
        it = <optimized out>
        __PRETTY_FUNCTION__ = "void QDBusConnectionPrivate::connectSignal(const QString&, const QDBusConnectionPrivate::SignalHook&)"
#20 0xffffffff in QDBusConnectionPrivate::connectRelay(QString const&, QString const&, QString const&, QDBusAbstractInterface*, QMetaMethod const&) (this=0x132b3f0, service=..., path=..., interface=..., receiver=receiver@entry=0x1814670, signal=...) at qdbusintegrator.cpp:2351
        key = {static null = {<No data fields>}, d = 0x18164a0}
        sig = {d = 0x1816230}
        locker = 
          {<QDBusLockerBase> = {<No data fields>}, self = 0x132b3f0, action = ConnectRelayAction}
        end = {i = 0x132e588}
        hook = 
            {service = {static null = {<No data fields>}, d = 0x1815880}, path = {static null = {<No data fields>}, d = 0x161b748}, signature = {static null = {<No data fields>}, d = 0x1816300}, obj = 0x1814670, midx = 6, params = {d = 0x1815fd0}, argumentMatch = {<QList<QString>> = {{p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0xb64bca90 <QListData::shared_null>}, d = 0xb64bca90 <QListData::shared_null>}}, <No data fields>}, matchRule = {d = 0x1816350}}
        it = {i = 0xaeb166d8}
#21 0xffffffff in QDBusAbstractInterface::connectNotify(QMetaMethod const&) (this=0x1814670, signal=...) at qdbusabstractinterface.cpp:612
        destroyedSignal = 
          {mobj = 0x29278 <QObject::staticMetaObject>, handle = 14}
#22 0xffffffff in QMetaObjectPrivate::connect(QObject const*, int, QMetaObject const*, QObject const*, int, QMetaObject const*, int, int*) (sender=0x1814670, signal_index=3, smeta=0xa88e4cf0 <ComCanonicalUsermetricsDataSourceInterface::staticMetaObject>, receiver=<optimized out>, method_index=6, rmeta=0xa88e4540 <UserMetricsOutput::DataSource::staticMetaObject>, type=0, types=0x0)
    at kernel/qobject.cpp:3259
        s = 0x1814670
        callFunction = 0xa88c8509 <UserMetricsOutput::DataSource::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>
        locker = 
          {mtx1 = 0xb65fea70 <_q_ObjectMutexPool+324>, mtx2 = 0xb65feaf0 <_q_ObjectMutexPool+452>, locked = false}
        c = {d = 0x18162a8}
        r = <optimized out>
        smethod = 
          {mobj = 0xa88e4cf0 <ComCanonicalUsermetricsDataSourceInterface::staticMetaObject>, handle = 14}
#23 0xffffffff in QObject::connect(QObject const*, char const*, QObject const*, char const*, Qt::ConnectionType) (sender=0x1814670, signal=<optimized out>, receiver=receiver@entry=0x1815a68, method=<optimized out>, type=type@entry=Qt::AutoConnection) at kernel/qobject.cpp:2713
        __PRETTY_FUNCTION__ = "static QMetaObject::Connection QObject::connect(const QObject*, const char*, const QObject*, const char*, Qt::ConnectionType)"
        signalTypes = 
            {a = 10, s = 1, ptr = 0xbebfe2a8, {array = "\n\000\000\000\030Y\201\001X㿾\330[\201\001H\264\062\001\350t\030\266\004\000\000\000\022\000\000\000\001\000\000\000\002\000\000\000\020\177\360\266hZ\201\001\235n\214\250#1\017\266\000\000\000\000\000\000\000\000\020\000\000\000\004\000\000\000\000\000\000\000\351L.\266", q_for_alignment_1 = 108465825647689738, q_for_alignment_2 = 2.0237847769712101e-301}}
        tmp_method_name = {d = 0x18150f0}
        method_arg = <optimized out>
        methodName = {d = 0x1815f78}
        types = 0x0
        handle = {d_ptr = 0x0}
        tmp_signal_name = {d = 0x1815f90}
        rmeta = 0xa88e4540 <UserMetricsOutput::DataSource::staticMetaObject>
        method_index_relative = 6
        smeta = 0xa88e4cf0 <ComCanonicalUsermetricsDataSourceInterface::staticMetaObject>
        signal_arg = <optimized out>
        signalName = {d = 0x1815f60}
        signal_index = 3
        methodTypes = 
            {a = 10, s = 1, ptr = 0xbebfe308, {array = "\n\000\000\000p\353\200\001\000\320_\266L\017\215\250\000\000\000\000\333LH\266\000`&\266X㿾\001\000\000\000X㿾\020\177\360\266H(~\001L\017\215\250\020\177\360\266\020\177\360\266hZ\201\001\235n\214\250DZ3\266H_\201\001\063\262\063\266", q_for_alignment_1 = 108345257325756426, q_for_alignment_2 = 1.9738149582863987e-301}}
#24 0xffffffff in UserMetricsOutput::SyncedDataSource::SyncedDataSource(QSharedPointer<ComCanonicalUsermetricsDataSourceInterface>, QString const&, QObject*) (this=0x1815a68, interface=..., localeDir=..., parent=<optimized out>)
    at /build/buildd/libusermetrics-1.1.1+14.10.20141020/src/libusermetricsoutput/SyncedDataSource.cpp:31
#25 0xffffffff in UserMetricsOutput::SyncedUserMetricsStore::addDataSource(QDBusObjectPath const&) (this=this@entry=0x17e2830, path=...)
    at /build/buildd/libusermetrics-1.1.1+14.10.20141020/src/libusermetricsoutput/SyncedUserMetricsStore.cpp:137
        dataSource = {value = <optimized out>, d = 0x1814758}
#26 0xffffffff in UserMetricsOutput::SyncedUserMetricsStore::sync() (this=0x17e2830)
    at /build/buildd/libusermetrics-1.1.1+14.10.20141020/src/libusermetricsoutput/SyncedUserMetricsStore.cpp:66
        path = <optimized out>
        __for_range = <unknown type in /usr/lib/debug/.build-id/fb/f5574326e5704e94ee764c36b1b503f847631c.debug, CU 0x103906, DIE 0x13df05>
        interface = <optimized out>
        systemData = <optimized out>
#27 0xffffffff in QObject::event(QEvent*) (this=<optimized out>, e=<optimized out>) at kernel/qobject.cpp:1241
        mce = <optimized out>
        sw = 
          {receiver = 0x17e2830, previousSender = 0x0, currentSender = {sender = 0x0, signal = -1, ref = 1}, switched = true}
#28 0xffffffff in QCoreApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=<optimized out>, event=<optimized out>)
    at kernel/qcoreapplication.cpp:997
        d = <optimized out>
#29 0xffffffff in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x12ceb58, receiver=receiver@entry=0x17e2830, event=event@entry=0x17d7458)
    at kernel/qcoreapplication.cpp:935
        threadData = 0x12cec00
        loopLevelCounter = {threadData = 0x12cec00}
        result = false
        cbdata = {0x17e2830, 0x17d7458, 0xbebfe65f}
        d = <optimized out>
#30 0xffffffff in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (event=0x17d7458, receiver=0x17e2830)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:237
        e = 0x17d7458
        pe = <optimized out>
        r = 0x17e2830
        unlocker = {m = <synthetic pointer>}
        event_deleter = {d = 0x17d7458}
        __PRETTY_FUNCTION__ = "static void QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)"
        locker = {val = 19721244}
        startOffset = 0
        i = <optimized out>
        cleanup = 
          {receiver = 0x0, event_type = 0, data = 0x12cec00, exceptionCaught = true}
#31 0xffffffff in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x12cec00) at kernel/qcoreapplication.cpp:1539
        e = 0x17d7458
        pe = <optimized out>
        r = 0x17e2830
        unlocker = {m = <synthetic pointer>}
        event_deleter = {d = 0x17d7458}
        __PRETTY_FUNCTION__ = "static void QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)"
        locker = {val = 19721244}
        startOffset = 0
        i = <optimized out>
        cleanup = 
          {receiver = 0x0, event_type = 0, data = 0x12cec00, exceptionCaught = true}
#32 0xffffffff in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=receiver@entry=0x0, event_type=event_type@entry=0)
    at kernel/qcoreapplication.cpp:1397
        data = <optimized out>
#33 0xffffffff in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x12ec7b8) at kernel/qeventdispatcher_glib.cpp:279
        source = 0x12ec7b8
#34 0xffffffff in g_main_context_dispatch (context=0x12ecf30)
    at /build/buildd/glib2.0-2.43.3/./glib/gmain.c:3122
        dispatch = 
    0xb647fc4d <postEventSourceDispatch(GSource*, GSourceFunc, gpointer)>
        prev_source = 0x0
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = <optimized out>
        cb_data = 0x0
        need_destroy = <optimized out>
        source = 0x12ec7b8
        current = 0x13b8f30
        i = 0
#35 0xffffffff in g_main_context_dispatch (context=context@entry=0x12ecf30)
    at /build/buildd/glib2.0-2.43.3/./glib/gmain.c:3737
#36 0xffffffff in g_main_context_iterate (context=context@entry=0x12ecf30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/buildd/glib2.0-2.43.3/./glib/gmain.c:3808
        max_priority = 0
        timeout = 0
        some_ready = 1
        nfds = <optimized out>
        allocated_nfds = <optimized out>
        fds = 0x1811ee8
#37 0xffffffff in g_main_context_iteration (context=0x12ecf30, may_block=1)
    at /build/buildd/glib2.0-2.43.3/./glib/gmain.c:3869
        retval = <optimized out>
#38 0xffffffff in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x12ec8b0, flags=...)
    at kernel/qeventdispatcher_glib.cpp:426
        d = 0x12eccb0
        canWait = true
        savedFlags = {i = 0}
        result = <optimized out>
#39 0xffffffff in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0xbebfe82c, flags=...) at kernel/qeventloop.cpp:212
        locker = {val = 19721368}
        __PRETTY_FUNCTION__ = "int QEventLoop::exec(QEventLoop::ProcessEventsFlags)"
        ref = {d = 0x1811468, locker = @0xbebfe7d4, exceptionCaught = true}
        d = 0x1811468
#40 0xffffffff in  () at /usr/lib/arm-linux-gnueabihf/libQt5XmlPatterns.so.5
#41 0xffffffff in  () at /usr/lib/arm-linux-gnueabihf/libQt5XmlPatterns.so.5
#42 0xffffffff in QXmlSchema::load(QUrl const&) ()
    at /usr/lib/arm-linux-gnueabihf/libQt5XmlPatterns.so.5
#43 0xffffffff in UserMetricsOutput::GSettingsColorThemeProvider::GSettingsColorThemeProvider(QObject*) (this=0x17e1908, parent=<optimized out>)
    at /build/buildd/libusermetrics-1.1.1+14.10.20141020/src/libusermetricsoutput/GSettingsColorThemeProvider.cpp:49
        schemaFile = {static null = {<No data fields>}, d = 0x1811668}
        baseDir = <optimized out>
        __for_range = 
              @0x17e1910: {<QList<QString>> = {{p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x1811380}, d = 0x1811380}}, <No data fields>}
#44 0xffffffff in UserMetricsOutput::UserMetrics::getInstance() ()
    at /build/buildd/libusermetrics-1.1.1+14.10.20141020/src/libusermetricsoutput/UserMetrics.cpp:43
        dbusConnection = 
          {static staticMetaObject = {d = {superdata = 0x0, stringdata = 0xb5f496cc <qt_meta_stringdata_QDBusConnection>, data = 0xb5f495a8 <qt_meta_data_QDBusConnection>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x132b3f0}
#45 0xffffffff in QQmlType::SingletonInstanceInfo::init(QQmlEngine*) ()
    at /usr/lib/arm-linux-gnueabihf/libQt5Qml.so.5
#46 0xffffffff in QV4::QmlTypeWrapper::get(QV4::Managed*, QV4::StringRef, bool*) () at /usr/lib/arm-linux-gnueabihf/libQt5Qml.so.5
#47 0xffffffff in QV4::Runtime::getProperty(QV4::ExecutionContext*, QV4::ValueRef, QV4::StringRef) () at /usr/lib/arm-linux-gnueabihf/libQt5Qml.so.5
#48 0xffffffff in  ()

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity8 in Ubuntu.
https://bugs.launchpad.net/bugs/1421009

Title:
  unity8 sometimes fails to respond to com.canonical.UnityGreeter
  IsActive

Status in unity8 package in Ubuntu:
  New

Bug description:
  The following gdbus call is failing with a "Error: Timeout was
  reached" message:

  gdbus call --session --dest com.canonical.UnityGreeter --object-path /
  --method org.freedesktop.DBus.Properties.Get
  com.canonical.UnityGreeter IsActive

  
  This is being seen on krillin devices starting with image 106 from ubuntu-touch/devel-proposed. It doesn't happen every time, so far today, I've seen it 3 times from about 12 tests. On the most recent failure, I grabbed a console and tried repeatedly to run the command from the shell, even after 2 hours the timeout was still being returned (after about 28 seconds).

  A copy of ~/.cache/upstart/unity8.log is here:
  http://paste.ubuntu.com/10179482/

  I have 3 test cases where the problem was observed:
  http://d-jenkins.ubuntu-ci:8080/job/vivid-boottest-qtchooser/1/console
  http://d-jenkins.ubuntu-ci:8080/job/vivid-boottest-gsettings-ubuntu-touch-schemas/1/console
  http://d-jenkins.ubuntu-ci:8080/job/fjg-boottest/3/console

  In all cases, the test is using adt-run (from autopkgtest) to drive a
  test on the phone device. adt-run uses the above gdbus call to
  determine if the desktop is active. In all the examples, the device
  was freshly flashed.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/unity8/+bug/1421009/+subscriptions


References