SFLPhone-KDE will freeze if an Akonadi request deadlock

Bug #1316612 reported by Elv13
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
sflphone (Ubuntu)
Fix Released
Undecided
Unassigned
Trusty
Fix Released
Undecided
Unassigned
Utopic
Fix Released
Undecided
Unassigned

Bug Description

Hello

I am the SFLPhone-KDE main developer and maintainer. So users report that the app freeze when loading certain Akonadi collections. After some work, I reproduced the issue. It is caused by an upstream (akonadi) bug, but the API I use for the call is not safe (the synchronous API). While it worked fine for years, this was never a good idea and now the users have to pay the price. I will attach a patch to replace the call by its asynchronous equivalent. I have also contacted the Akonadi team to see if the upstream bug can be fixed.

Original bug report:
https://projects.savoirfairelinux.com/issues/46029

Package used for user testing:
https://projects.savoirfairelinux.com/attachments/download/11537/sflphone-client-kde_1.1.0-rc20120607~ppa1~SYSTEM_amd64.deb (it is 1.3.0, I forgot to update my emergency package script)

Patch testing:
* myself
* https://projects.savoirfairelinux.com/issues/46029#note-10

Revision history for this message
Elv13 (elv1313) wrote :
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "Fix this bug" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Revision history for this message
Overkordbaever (overkordbaever) wrote :

Just tested your fixed package, and the issue does indeed seem to be gone now, although I'm having dependency issues where dpkg complains about sflphone-common is missing (and from what I can see, no such package exists in the ubuntu repos).

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

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in sflphone (Ubuntu):
status: New → Confirmed
Revision history for this message
Jonathan Riddell (jr) wrote :

Fix uploaded to utopic and trusty

Needs ~ubuntu-sru to approve it to get into trusty-proposed

Needs a test case added

Needs testers to check the fix in -proposed

Revision history for this message
Elv13 (elv1313) wrote :

Hello, thanks for taking a look

An automated test case is not possible (as it will freeze instead of failing) so here is a manual one:

1) Add some "vcard" contacts in KAddressbook (necessary)
2) Import a gmail contact list in KAddressbook (necessary)
3) Open the old sflphone-kde client
4) It will freeze
5) Install the new package
6) Enjoy this softphone!

Users alreayd tested the .deb above. The only difference is that it is based upon the stable PPA rather than the upsteam (debian) sflphone daemon package. Other than that the package is identical. So it is up to you, we can wait for more tests, but it most probably wont change anything at this point. We also reproduced the issue internally at Savoir-faire Linux when my colleagues upgraded to 14.04 and they are happy with the fix ever since.

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

This bug was fixed in the package sflphone - 1.3.0-1ubuntu2

---------------
sflphone (1.3.0-1ubuntu2) utopic; urgency=medium

  * Add kubuntu_sflphone-fix-akonadi-freeze.patch from upstream to fix
    freezes when loading akonadi collections LP: #1316612
 -- Jonathan Riddell <email address hidden> Wed, 21 May 2014 13:22:18 +0100

Changed in sflphone (Ubuntu Utopic):
status: Confirmed → Fix Released
Revision history for this message
Scott Kitterman (kitterman) wrote : Please test proposed package

Hello Elv13, or anyone else affected,

Accepted sflphone into trusty-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/sflphone/1.3.0-1ubuntu1.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in sflphone (Ubuntu Trusty):
status: New → Fix Committed
tags: added: verification-needed
Revision history for this message
Kyle Moore (f-ubuntu-e) wrote :

Originally tested using sflphone-kde/1.3.0-1ubuntu1.1 from trusty - app would hang immediately upon startup at the "Account creation wizard" screen.

Enabled trusty-proposed and upgraded:
$ sudo apt-get install sflphone-kde/trusty-proposed
Reading package lists... Done
Building dependency tree
Reading state information... Done
Selected version '1.3.0-1ubuntu1.2' (Ubuntu:14.04/trusty-proposed [amd64]) for 'sflphone-kde'
Selected version '1.3.0-1ubuntu1.2' (Ubuntu:14.04/trusty-proposed [amd64]) for 'sflphone-daemon' because of 'sflphone-kde'
Selected version '1.3.0-1ubuntu1.2' (Ubuntu:14.04/trusty-proposed [all]) for 'sflphone-data' because of 'sflphone-kde'
The following extra packages will be installed:
  sflphone-daemon sflphone-data
The following packages will be upgraded:
  sflphone-daemon sflphone-data sflphone-kde
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,945 kB of archives.
After this operation, 102 kB disk space will be freed.
Do you want to continue? [Y/n]
Get:1 http://jp.archive.ubuntu.com/ubuntu/ trusty-proposed/universe sflphone-kde amd64 1.3.0-1ubuntu1.2 [2,096 kB]
Get:2 http://jp.archive.ubuntu.com/ubuntu/ trusty-proposed/universe sflphone-data all 1.3.0-1ubuntu1.2 [226 kB]
Get:3 http://jp.archive.ubuntu.com/ubuntu/ trusty-proposed/universe sflphone-daemon amd64 1.3.0-1ubuntu1.2 [623 kB]
Fetched 2,945 kB in 3s (774 kB/s)
(Reading database ... 209417 files and directories currently installed.)
Preparing to unpack .../sflphone-kde_1.3.0-1ubuntu1.2_amd64.deb ...
...

After upgrading to '1.3.0-1ubuntu1.2', the app starts up as expected

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package sflphone - 1.3.0-1ubuntu1.2

---------------
sflphone (1.3.0-1ubuntu1.2) trusty; urgency=medium

  * Add kubuntu_sflphone-fix-akonadi-freeze.patch from upstream to fix
    freezes when loading akonadi collections LP: #1316612
 -- Jonathan Riddell <email address hidden> Wed, 21 May 2014 13:22:18 +0100

Changed in sflphone (Ubuntu Trusty):
status: Fix Committed → Fix Released
Revision history for this message
Scott Kitterman (kitterman) wrote : Update Released

The verification of the Stable Release Update for sflphone has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

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.