touch-packages team mailing list archive
-
touch-packages team
-
Mailing list archive
-
Message #54724
[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