Bug #1591757 “Something randomly stops/starts GPS location servi...” : Bugs : location-service package : Ubuntu

Something randomly stops/starts GPS location service, and interferes with applications that need it

Bug #1591757 reported by AlainKnaff
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
location-service (Ubuntu)
New
Undecided
Unassigned

Bug Description

I'm using the activitytracker.cwayne18 activity tracker application to log paths I'm hiking.

Initially, I noticed that the application kept getting suspended just like the commands running in the terminal application (see bug 1502197).

So, I tried a similar solution, and included all GPS applications that I had into the lifecycle-exempt-appids, along with the default (com.ubuntu.music), and the terminal:

 gsettings set com.canonical.qtmir lifecycle-exempt-appids "['com.ubuntu.music', 'com.ubuntu.terminal', 'me.yohanboniface.sensorsstatus', 'activitytracker.cwayne18', 'gpstracks.karlheinzsalver']"

However, this still didn't help, and I noticed that I still get long stretches of hike represented by straight lines, just as if the tracker still stopped working as soon as I stop constantly looking at it, and only wakes up again when I check its status.

So, at home, I tried stracing the ubuntu-location-serviced, and I noticed a couple of troubling things:

One thread of ubuntu-location-serviced seems to be getting characters "binary 1" and "binary 2" from another thread. Binary 2 causes the following to be logged:

gps_state_thread: line = 1890CMD_STOP has been receiving from HAL thread, release lock so can handle CLEAN_UP\n\0

==> so apparently something is *deliberately* causing the GPS thread to be stopped. Quite troubling. Why is this done? Can it be opted out, just like with the lifecycle-exempt-appids list?

Further debugging showed that the location-service is getting com.ubuntu.location.Service.Session:StopPositionUpdates from *somewhere*, but unfortunately, I couldn't find out from where, and neither why. I don't think it's the application itself, as this happens *both* for the activity tracker, and for the sensors app. Moreover the string StopPositionUpdates can be found nowhere within (any of both) applications' sources.

1) root@alains-pocket-penguin:~# lsb_release -rd
Description: Ubuntu 15.04
Release: 15.04

2) root@alains-pocket-penguin:~# apt-cache policy ubuntu-location-service-bin
ubuntu-location-service-bin:
  Installed: 3.0.0+15.04.20160524.3-0ubuntu1
  Candidate: 3.0.0+15.04.20160524.3-0ubuntu1
  Version table:
 *** 3.0.0+15.04.20160524.3-0ubuntu1 0
       1001 http://ppa.launchpad.net/ci-train-ppa-service/stable-snapshot/ubuntu/ vivid/main armhf Packages
        100 /var/lib/dpkg/status
     2.1+15.04.20150226-0ubuntu1 0
        500 http://ports.ubuntu.com/ubuntu-ports/ vivid/universe armhf Packages

3) What I expected to happen: that location service just keeps running undisturbed, really, until I no longer need it (i.e. until *I* have stopped or closed all applications that need GPS, and not when a mysterious lifecycle manager or HAL thread decides so...)

4) What happened instead:

Different mysterious entities seem to interfere with GPS all the time, at the slightest excuse (such as snapping a pic, or just putting my phone into my pocket...)

Is there a gsettings to get rid of this obnoxious behavior? One of the reasons why I bought an Ubuntu Phone in the first place, rather than an iPhone was so as not to be encumbered by such nonsense. Who came up with this idea and why? Save battery life? Let me tell you something: if the phone is *off* it saves even more battery time, but people get a phone to actually *do* something with it, and saving battery life should obviously take second seat to whatever the owner wants to do.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Loading subscribers...

Remote bug watches

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