Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UnifiedNlp not initializing location backend properly after reboot #22

Closed
FoxyBee opened this issue Jan 13, 2015 · 11 comments
Closed

UnifiedNlp not initializing location backend properly after reboot #22

FoxyBee opened this issue Jan 13, 2015 · 11 comments

Comments

@FoxyBee
Copy link

FoxyBee commented Jan 13, 2015

I have the following system: Android 4.4.4 - ART - CyanogenMod 11-20150105-nightly-hammerhead with UnifiedNlp 1.1.3 installed from FDroid.

With a cache clear + clean reboot + location set to 'battery saving' mode, GSM location is unavailable until UnifiedNlp app is launched. I have tested this with 2 location providers (LocalGsmNlpBackend 0.5.6 + GSMLocationNlpBackend 0.0.1.4) with the same result. I believe the key to reproduce this is to clear the cache before reboot. More info here: n76/Local-GSM-Backend#4

Here is my logcat filtered by ".nlp."

01-13 09:20:08.379 I/ActivityManager(608): Start proc com.google.android.gms for service com.google.android.gms/org.microg.nlp.location.LocationServiceV2: pid=1117 uid=10085 gids={50085}
01-13 09:20:08.829 D/org.microg.nlp.geocode.BackendHelper(1117): Binding to: Intent { act=org.microg.nlp.GEOCODER_BACKEND pkg=org.microg.nlp.backend.nominatim cmp=org.microg.nlp.backend.nominatim/.BackendService }
01-13 09:20:08.839 I/ActivityManager(608): Start proc org.microg.nlp.backend.nominatim for service org.microg.nlp.backend.nominatim/.BackendService: pid=1279 uid=10099 gids={50099, 3003, 1028, 1015}
01-13 09:20:08.879 D/ActivityThread(1279): handleBindApplication:org.microg.nlp.backend.nominatim
01-13 09:20:08.939 D/org.microg.nlp.geocode.BackendHelper(1117): Bound to: ComponentInfo{org.microg.nlp.backend.nominatim/org.microg.nlp.backend.nominatim.BackendService}
01-13 09:20:19.831 D/org.microg.nlp.geocode.BackendHelper(1117): Unbinding from: Intent { act=org.microg.nlp.GEOCODER_BACKEND pkg=org.microg.nlp.backend.nominatim cmp=org.microg.nlp.backend.nominatim/.BackendService }
01-13 09:20:19.841 D/org.microg.nlp.geocode.BackendHelper(1117): Binding to: Intent { act=org.microg.nlp.GEOCODER_BACKEND pkg=org.microg.nlp.backend.nominatim cmp=org.microg.nlp.backend.nominatim/.BackendService }
01-13 09:20:19.851 D/org.microg.nlp.geocode.BackendHelper(1117): Bound to: ComponentInfo{org.microg.nlp.backend.nominatim/org.microg.nlp.backend.nominatim.BackendService}
01-13 09:20:19.851 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=+24h0m0s0ms] by WorkSource{1000 android}
01-13 09:20:19.851 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:20:19.851 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=86400000
01-13 09:20:19.960 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=+24h0m0s0ms] by WorkSource{1000 android}
01-13 09:20:19.960 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:20:19.960 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=86400000
01-13 09:22:23.476 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=0] by WorkSource{10100 net.osmand}
01-13 09:22:23.476 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:22:23.476 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=0 fastest=0]
01-13 09:22:23.476 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=1500
01-13 09:22:46.776 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=+24h0m0s0ms] by WorkSource{1000 android}
01-13 09:22:46.776 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:22:46.776 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=86400000
01-13 09:23:08.536 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=0] by WorkSource{10100 net.osmand}
01-13 09:23:08.536 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:23:08.536 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=0 fastest=0]
01-13 09:23:08.536 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=1500
01-13 09:23:40.676 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=+24h0m0s0ms] by WorkSource{1000 android}
01-13 09:23:40.676 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:23:40.676 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=86400000
01-13 09:23:59.086 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=0] by WorkSource{10100 net.osmand}
01-13 09:23:59.086 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:23:59.086 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=0 fastest=0]
01-13 09:23:59.086 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=1500
01-13 09:24:08.106 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=+24h0m0s0ms] by WorkSource{1000 android}
01-13 09:24:08.106 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:24:08.106 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=86400000
01-13 09:24:59.816 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=+24h0m0s0ms] by WorkSource{1000 android}
01-13 09:24:59.816 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:24:59.816 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=86400000
01-13 09:25:38.076 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=0] by WorkSource{10100 net.osmand}
01-13 09:25:38.076 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:25:38.076 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=0 fastest=0]
01-13 09:25:38.076 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=1500
01-13 09:25:40.756 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=+24h0m0s0ms] by WorkSource{1000 android}
01-13 09:25:40.756 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:25:40.766 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=86400000
01-13 09:28:51.306 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=0] by WorkSource{10100 net.osmand}
01-13 09:28:51.306 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:28:51.306 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=0 fastest=0]
01-13 09:28:51.306 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=1500
01-13 09:29:00.666 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=+24h0m0s0ms] by WorkSource{1000 android}
01-13 09:29:00.666 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:29:00.666 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=86400000
01-13 09:29:07.346 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=0] by WorkSource{10100 net.osmand}
01-13 09:29:07.346 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:29:07.346 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=0 fastest=0]
01-13 09:29:07.346 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=1500
01-13 09:29:11.016 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=+24h0m0s0ms] by WorkSource{1000 android}
01-13 09:29:11.016 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:29:11.016 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=86400000

this is where I opened UnifiedNlp app > configure location backends > click ok
as soon as I did that OsmAnd got the location

01-13 09:34:51.756 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=0] by WorkSource{10100 net.osmand}
01-13 09:34:51.756 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:34:51.756 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=0 fastest=0]
01-13 09:34:51.756 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=1500
01-13 09:34:55.346 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=+24h0m0s0ms] by WorkSource{1000 android}
01-13 09:34:55.346 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:34:55.346 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=86400000
01-13 09:34:58.896 I/ActivityManager(608): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.google.android.gms/org.microg.nlp.ui.SettingsActivity} from pid 1239
01-13 09:34:59.406 I/ActivityManager(608): Displayed com.google.android.gms/org.microg.nlp.ui.SettingsActivity: +472ms
01-13 09:34:59.406 I/Timeline(608): Timeline: Activity_windows_visible id: ActivityRecord{6545bc88 u0 com.google.android.gms/org.microg.nlp.ui.SettingsActivity t19} time:911510
01-13 09:35:22.976 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=0] by WorkSource{10100 net.osmand}
01-13 09:35:22.976 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:35:22.976 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=0 fastest=0]
01-13 09:35:22.976 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=1500
01-13 09:35:31.716 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=+24h0m0s0ms] by WorkSource{1000 android}
01-13 09:35:31.716 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:35:31.716 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=86400000
01-13 09:35:44.106 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=0] by WorkSource{10100 net.osmand}
01-13 09:35:44.106 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:35:44.106 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=0 fastest=0]
01-13 09:35:44.106 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=1500
01-13 09:35:53.986 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=+24h0m0s0ms] by WorkSource{1000 android}
01-13 09:35:53.986 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:35:53.986 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=86400000
01-13 09:35:56.406 I/Timeline(608): Timeline: Activity_windows_visible id: ActivityRecord{6545bc88 u0 com.google.android.gms/org.microg.nlp.ui.SettingsActivity t19} time:968516
01-13 09:35:57.936 D/org.microg.nlp.location.BackendHelper(1117): Binding to: Intent { act=org.microg.nlp.LOCATION_BACKEND pkg=org.gfd.gsmlocation cmp=org.gfd.gsmlocation/.GSMService }
01-13 09:35:57.966 D/org.microg.nlp.location.BackendHelper(1117): Not (yet) bound.
01-13 09:35:58.036 D/org.microg.nlp.location.BackendHelper(1117): Bound to: ComponentInfo{org.gfd.gsmlocation/org.gfd.gsmlocation.GSMService}
01-13 09:35:59.066 V/org.microg.nlp.location.BackendFuser(1117): location=Location[network 43.802897,-79.445248 acc=800 et=+16m11s167ms {Bundle[{noGPSLocation=Location[gsm 43.802897,-79.445248 acc=800 et=+16m11s167ms {Bundle[{SERVICE_BACKEND_PROVIDER=gsm, SERVICE_BACKEND_COMPONENT=org.gfd.gsmlocation/.GSMService}]}], SERVICE_BACKEND_PROVIDER=gsm, SERVICE_BACKEND_COMPONENT=org.gfd.gsmlocation/.GSMService}]}]
01-13 09:36:03.216 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: ProviderRequest[ON interval=0] by WorkSource{10100 net.osmand}
01-13 09:36:03.216 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=+24h0m0s0ms fastest=+24h0m0s0ms]
01-13 09:36:03.216 V/org.microg.nlp.location.LocationProviderV2(1117): onSetRequest: request: Request[POWER_LOW network requested=0 fastest=0]
01-13 09:36:03.216 V/org.microg.nlp.location.LocationProviderV2(1117): using autoUpdate=true autoTime=1500
01-13 09:36:03.316 V/org.microg.nlp.location.BackendFuser(1117): location=Location[network 43.802897,-79.445248 acc=800 et=+16m15s411ms {Bundle[{noGPSLocation=Location[gsm 43.802897,-79.445248 acc=800 et=+16m15s411ms {Bundle[{SERVICE_BACKEND_PROVIDER=gsm, SERVICE_BACKEND_COMPONENT=org.gfd.gsmlocation/.GSMService}]}], SERVICE_BACKEND_PROVIDER=gsm, SERVICE_BACKEND_COMPONENT=org.gfd.gsmlocation/.GSMService}]}]

@mar-v-in
Copy link
Member

Thanks for reporting. This is fixed in git and will be included in next release (no longer than a week)

In the meantime, don't reboot too often 😄

@FoxyBee
Copy link
Author

FoxyBee commented Jan 14, 2015

Thank you so much! Will this also fix the issue when UnifiedNlp app is swiped away from the recents screen, then network location stops working altogether:
#20 (comment)

@mar-v-in
Copy link
Member

Yes and no.

The swipe-away causes the service to stop. It is automatically restarted by the system within a certain time and then does the same initialization as after a reboot, which is fixed now.
However the real fix is to ensure that the service is not stopped by swipe-away.

@bastei
Copy link

bastei commented Jan 22, 2015

I have got the same issue with latest version 1.2.0 on Android Lollipop, cm12. I don't get any location but the same entries in logcat as above.
Anything I could do to help fixing this?

@Susurrus
Copy link

I'm running 1.22 out of f-droid and it never seems to turn on. I've been working with @n76 to resolve this but I'm thinking this is a UnifiedNlp bug.

@bastei
Copy link

bastei commented Feb 17, 2015

@mar-v-in this issue is unfortunately not solved. Is it possible to reopen it? Also, I'm still willing to help to fix this.

@mar-v-in mar-v-in changed the title UnifiedNlp not initializing location backend properly UnifiedNlp not initializing location backend properly after reboot Feb 17, 2015
@mar-v-in
Copy link
Member

The issue described by @FoxyBee (no location after reboot, but after settings are opened it works again) should be fixed.

If you've exactly that issue, I will reopen the issue, but I guess your issue is different and location also does not work after opening the settings (completely independent from reboot or not). If that's the case and you made sure that it's not a single backends fault (eg. by trying multiple backends, ideally including atleast one that uses wi-fi, as some devices have broken gsm api implementation), please open a new issue (remember to include a logcat).

PS: I just fixed a small thing in @n76 local gsm backend, that might fix the problem described by @Susurrus
PPS: The latest version of UnifiedNlp fixes a few bugs and should appear on F-Droid soon.

@bastei
Copy link

bastei commented Feb 18, 2015

@mar-v-in
You are absolutely right. It was not exactly the same issue. Moreover, everything is working with µg UnifiedNlp 1.3.0 and LocalGsmNlpBackend 0.5.10 from F-Droid. Thanks a lot!

@n76
Copy link
Contributor

n76 commented Feb 18, 2015

Less than 24 hours since I pulled in the change from @mar-v-in and put a version number on it and it is already in F-Droid. I am impressed with them. (And thank you @mar-v-in for the fix!)

@aelmahmoudy
Copy link
Contributor

@n76 well, updating of apps in F-Droid is done automatically for apps that follow systematic tagging scheme.
So thanks to you upstream guys, this auto-update can be done in F-Droid.

@Susurrus
Copy link

Also seems to be working with me as well. Thanks for the update.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants