IchnaeaNlpBackend icon indicating copy to clipboard operation
IchnaeaNlpBackend copied to clipboard

Occasionally freezing

Open DocSniper opened this issue 9 years ago • 7 comments

The plugin is occasionally freezing and when this happens the location can no more be determined in any app. The logcat doesn't give useful hints. Reinstalling does not help either. Someone else ?

DocSniper avatar Oct 27 '15 14:10 DocSniper

Here a logcat when freezing and when I killed the task:

10-30 19:48:11.493 I/ActivityManager(17208): Start proc 18350:org.microg.nlp.backend.ichnaea/u0a413 for service org.microg.nlp.backend.ichnaea/.BackendService

10-30 20:34:50.960 I/Timeline(17957): Timeline: Activity_launch_request id:org.microg.nlp.backend.ichnaea time:22992816

DocSniper avatar Oct 30 '15 19:10 DocSniper

I confirm same freeze on my side. (Android 7.1)

After freezing I have a lot of stacktraces like this one:

02-01 10:01:01.787  4415 11069 W NlpLocBackendHelper: android.os.DeadObjectException                                                        
02-01 10:01:01.787  4415 11069 W NlpLocBackendHelper:   at android.os.BinderProxy.transactNative(Native Method)                             
02-01 10:01:01.787  4415 11069 W NlpLocBackendHelper:   at android.os.BinderProxy.transact(Binder.java:615)                                 
02-01 10:01:01.787  4415 11069 W NlpLocBackendHelper:   at org.microg.nlp.api.LocationBackend$Stub$Proxy.update(LocationBackend.java:157)   
02-01 10:01:01.787  4415 11069 W NlpLocBackendHelper:   at org.microg.nlp.location.BackendHelper.update(BackendHelper.java:71)              
02-01 10:01:01.787  4415 11069 W NlpLocBackendHelper:   at org.microg.nlp.location.BackendFuser.update(BackendFuser.java:83)                
02-01 10:01:01.787  4415 11069 W NlpLocBackendHelper:   at org.microg.nlp.location.ThreadHelper.run(ThreadHelper.java:73)                   
02-01 10:01:01.787  4415 11069 W NlpLocBackendHelper:   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
02-01 10:01:01.787  4415 11069 W NlpLocBackendHelper:   at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:278)
02-01 10:01:01.787  4415 11069 W NlpLocBackendHelper:   at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Schedul$dThreadPoolExecutor.java:273)                                                                                                               
02-01 10:01:01.787  4415 11069 W NlpLocBackendHelper:   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
02-01 10:01:01.787  4415 11069 W NlpLocBackendHelper:   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
02-01 10:01:01.787  4415 11069 W NlpLocBackendHelper:   at java.lang.Thread.run(Thread.java:761)                                            

be-neth avatar Feb 01 '17 09:02 be-neth

I’m having the same issue : randomly (once per week maybe ?), this backend seems to freeze and stop responding, preventing ANY other backend to provide a location. Nothing out of the ordinary shows on catlog either.

If I go to MicroG setting/location providers settings and tap "Mozilla Location Service"’s settings icon, the screen freezes. If I kill it by long-pressing the back button then open the settings again, I very quickly get a location, as expected.

Device : LG G4 H815 OS : LineageOS 16/Android 9 MicroG 0.2.10.19420 Mozilla NLP backend 1.8.8

Other backends : Local GSM Location 1.4.22 (https://github.com/n76/Local-GSM-Backend) DéjàVu 1.1.12 (https://github.com/n76/DejaVu) Nominatim NLP 1.2.2 (https://github.com/microg/NominatimGeocoderBackend)

breversa avatar Nov 26 '19 09:11 breversa

After a bit of research it seem that a deadlock happend between the thread Main and other call Binder. Is related with the CellBackendHelper. Try with the Use Cell option unselected. I don't know so much about android so i can't help more than this. Here is a thread-report with the deadlock. threads_report.txt

pedrxd avatar Feb 04 '20 17:02 pedrxd

That's highly interesting ! Thanks for the info ! :-) However, it does negate one of the most useful feature of that module, namely network location with wifi off.

Although coupled with LocalGsmNlpBackend (https://f-droid.org/packages/org.fitchfamily.android.gsmlocation/), it could do the trick… I always thought those two modules somehow conflicted with each other, while they very well may be complementary.

breversa avatar Feb 09 '20 09:02 breversa

Yes... That is a big problem and it should be fixed. I write a 'fix' and for now work correctly. But is not the way it should be fixed. Test it if you want. Source code , go to release for download the apk.

pedrxd avatar Feb 09 '20 16:02 pedrxd

@pedrxd : I installed your version, and so far so good, no freeze (but it’s only been two days so maybe more testing is in order). Of course, I had to uninstall the previous backend in order to install yours.

breversa avatar Feb 11 '20 09:02 breversa