Media-hub fails to get the call started/ended signals from telepathy-bridge

Bug #1409125 reported by Ricardo Salveti
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
media-hub (Ubuntu)
In Progress
Medium
Ricardo Salveti

Bug Description

phablet@ubuntu-phablet:~$ system-image-cli -i
current build number: 60
device name: mako
channel: ubuntu-touch/vivid-proposed
last update: 2015-01-09 16:47:15
version version: 60
version ubuntu: 20150109
version device: 20141213
version custom: 20150109

Sometimes media-hub is unable to get the call started/ended from telepathy bridge, making it unable to stop/resume the playback when you receive a call.

It works just fine if I restart media-hub after the system is fully up, so it might be a race with telepathy.

Revision history for this message
Ricardo Salveti (rsalveti) wrote :

If using RTM, you can easily reproduce the bug using the packages available at http://people.canonical.com/~rsalveti/boiko/ (including some extra debugging messages).

Check the log that is available at /home/phablet/.cache/upstart/media-hub.log when play an audio and calling your phone.

When it works, you should get the following:
Got call started signal, pausing all multimedia sessions
Pausing Player with key: 0
pause

summary: - Media-hub fails to get the call started/ended from telepathy-bridge
+ Media-hub fails to get the call started/ended signals from telepathy-
+ bridge
Revision history for this message
Ricardo Salveti (rsalveti) wrote :

After adding some debug lines, the problem is that sometimes there is no audiocalls or videocalls caps when starting media-hub, so it never really connects the off/on hook signals.

150 void checkAndAddAccount(const Tp::AccountPtr& account)
151 {
152 Tp::ConnectionCapabilities caps = account->capabilities();
153
154 // anything call like, perhaps overkill?
155 if (caps.audioCalls() || caps.videoCalls() || caps.videoCallsWithAudio() || caps.streamedMediaCalls()) {
156 auto tcm = new TelepathyCallMonitor(account);
157 connect(tcm, SIGNAL(offHook()), SLOT(offHook()));
158 connect(tcm, SIGNAL(onHook()), SLOT(onHook()));
159 mCallMonitors.push_back(tcm);
160 }
161 }

Revision history for this message
Ricardo Salveti (rsalveti) wrote :

Added a debug line in order to get the connection status (account->connection()->status()), and was able to get a crash when I reproduced this issue:
#0 0xb6b2e27c in Tp::Connection::status() const () from /usr/lib/arm-linux-gnueabihf/libtelepathy-qt5.so.0
No symbol table info available.
#1 0x0014ec44 in ?? ()
No symbol table info available.
#2 0xb68140e4 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5
No symbol table info available.
#3 0xb6beb60c in Tp::PendingOperation::finished(Tp::PendingOperation*) () from /usr/lib/arm-linux-gnueabihf/libtelepathy-qt5.so.0
No symbol table info available.
#4 0xb6bed286 in ?? () from /usr/lib/arm-linux-gnueabihf/libtelepathy-qt5.so.0
No symbol table info available.
#5 0xb6814b60 in QObject::event(QEvent*) () from /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5

Which means the connection is probably not fully up at that stage.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package media-hub - 2.0.0+15.04.20150112.2-0ubuntu1

---------------
media-hub (2.0.0+15.04.20150112.2-0ubuntu1) vivid; urgency=low

  [ Ubuntu daily release ]
  * New rebuild forced

  [ Ricardo Salveti de Araujo ]
  * service_implementation: adding debug for call started/ended signals.
    Make sure account and connection are available when setting up
    account manager (patch from Gustavo Boiko). call_monitor: don't
    check caps when hooking up on/off signals, until bug 1409125 is
    fixed. Enable parallel building . (LP: #1409125)
 -- Ubuntu daily release <email address hidden> Mon, 12 Jan 2015 21:38:39 +0000

Changed in media-hub (Ubuntu):
status: New → Fix Released
Revision history for this message
Ricardo Salveti (rsalveti) wrote :

Reopening as we pushed a workaround instead.

Changed in media-hub (Ubuntu):
status: Fix Released → In Progress
assignee: nobody → Ricardo Salveti (rsalveti)
importance: Undecided → Medium
Jim Hodapp (jhodapp)
Changed in media-hub (Ubuntu):
status: In Progress → Fix Released
status: Fix Released → In Progress
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.