[Sailfish X] Voicecall-ui prevents deep sleep [answered]

asked 2018-08-17 08:20:01 +0300

Manatus gravatar image

updated 2018-11-14 19:10:28 +0300

This is a stub article where I try to troubleshoot why voicecall-ui process gets stuck with 1.3 - 1.6 % CPU usage and seems to prevent Xperia X going into deep sleep.

No idea yet if this is a common problem or just something in my own Xperia X.

Normally the CPU for this process should show 0.0 %, occasionally spiking depending on phone use. However, in the problem state the CPU usage of voicecall-ui stays at 1.6% even when all visible Sailfish programs are closed in UI and the display is off. (Check the usage with SSH and top command.)

To cure the problem (until it happens again):

systemctl --user restart voicecall-ui-prestart

Version: (Mouhijoki)

Possibly related in dmesg:

[10372.267962] harbour-allradi[25452]: unhandled level 1 translation fault (11) at 0x00000010, esr 0x83000005
[10372.267973] pgd = ffffffc055ec3000
[10372.267993] [00000010] *pgd=0000000000000000    
[10372.268015] CPU: 3 PID: 25452 Comm: harbour-allradi Tainted: G        W    3.10.84 #1
[10372.268021] task: ffffffc0959bc800 ti: ffffffc04d9e8000 task.ti: ffffffc04d9e8000
[10372.268026] pc : [<0000000000000010>] lr : [<00000000f3bd699d>] pstate: a00f0010
[10372.268029] sp : 00000000ffc74ac0
[10372.268033] x12: 00000000f5ea342c 
[10372.268037] x11: 00000000ab24bbc8 x10: 0000000000000002 
[10372.268042] x9 : 00000000ffc74ea4 x8 : 0000000000000004 
[10372.268047] x7 : 00000000ab3a9dc0 x6 : 00000000ab24cdc8 
[10372.268053] x5 : 00000000ffc74ac4 x4 : 0000000000000000 
[10372.268058] x3 : 0000000000000010 x2 : 00000000ab25b620 
[10372.268063] x1 : 0000000000000000 x0 : 00000000ab24cdc8 
[10641.199528] dpm_run_callback(): 0xffffffc0004a3d50 returns -16
[10641.199534] PM: Device alarmtimer failed to suspend: error -16
[10641.205968] PM: Some devices failed to suspend
[10817.628334] afe_callback: cmd = 0x100ef returned error = 0x2
[10817.628385] afe_apr_send_pkt: DSP returned error[ADSP_EBADPARAM]
[10817.628400] afe_send_cal_block: AFE cal for port 0x4000 failed -22

Also bunch of

Freezing of tasks aborted after 0.001 seconds


PM: Some devices failed to suspend

messages from different sources. These ones seem to be there already immediately after the reboot, before voicecall-ui process starts consuming CPU, so they are probably not related.

Update 2018.08.22

It seems this was a self-inflicted issue as it was caused by an unsupported use case of SailfishOS 2.0.

Prerequisites for this bug to appear are:

  • The user calls a contact in Contacts app. (Waiting for an answer is not required.)
  • The contact in contact app has a picture that is shown during the call as background image in the UI.
  • The phone is rotated to landscape immediately or soon after the call. Rotating is important!
  • The user has enabled unsupported landscape mode in Sailfish OS by changing the file /usr/lib/qt5/qml/Sailfish/Silica/Page.qml by replacing the line return allowed to return Orientation.Portrait | Orientation.Landscape

I was able to reproduce the problem (the CPU stuck at 1.6% for voicecall-ui) consistently with above conditions, but not after modifying the Page.qml file back to its original state.

When reproducing the issue, it does not matter whether the phone is in landscape or portrait when the call is started. It triggers only when the phone is rotated.

I close this question now and open it again only if this bug appears in SailfishOS 3.0, in which the landscape mode should be supported whole system wide.

Update 2018.11.14

System wide landscape did not land in SFOS 3 but that does not matter; The landscape mode for the phone app was enabled for cellular tablets at least.

I was not able to reproduce this bug in the Phone app anymore in SFOS with landscape enabled (via QML), and by rotating the phone during the calls.

I'll report to this case if I see it happen.

edit retag flag offensive reopen delete

The question has been closed for the following reason "the question is answered, an answer was accepted" by Manatus
close date 2018-08-22 19:43:55.430153



How do you detect if it goes to deep sleep or not?

juiceme ( 2018-08-17 09:05:05 +0300 )edit

Using Battery Log application, and checking the angle of battery decline. I know it is not sophisticated method, but it is somewhat trustworthy, and has matched with the voicecall-ui state so far on my device. Still much guess work...

Manatus ( 2018-08-17 09:11:28 +0300 )edit