AppleWifiNlpBackend
AppleWifiNlpBackend copied to clipboard
Apple Wifi Backend Crashes
Crash happens right after enabling the backend. microG Services Core 0.2.4-107-g0596d2c Apple UnifiedNlp Backend 1.2.2
Here's the logcat relevant part:
D/dalvikvm( 2449): GC_CONCURRENT freed 1609K, 51% free 6439K/13063K, paused 6ms+18ms
D/NlpLocBackendHelper( 2580): Binding to: Intent { act=org.microg.nlp.LOCATION_BACKEND pkg=org.microg.nlp.backend.apple cmp=org.microg.nlp.backend.apple/.BackendService }
W/InputManagerService( 2326): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@4114a688
D/NlpLocBackendHelper( 2580): Bound to: ComponentInfo{org.microg.nlp.backend.apple/org.microg.nlp.backend.apple.BackendService}
D/AppleNlpBackendService(13761): onOpen
I/libblt_hw( 1962): Library closed (handle = 0, fd = 26)
D/AppleNlpBackendService(13761): Found 4 wifis, of whom 2 with location and 0 unknown.
D/AppleNlpCalculator(13761): Build classes of size: 2
D/AppleNlpCalculator(13761): is dual class and verified.
D/AppleNlpCalculator(13761): Using with weight=1.000000 mac=14:cc:20:6d:df:96 sig=-80 acc=27.000000 lat=32.640476 lon=51.682774
D/AppleNlpCalculator(13761): Using with weight=4.000000 mac=90:f6:52:7d:0b:2c sig=-58 acc=24.000000 lat=32.640461 lon=51.682556
D/AndroidRuntime(13761): Shutting down VM
W/dalvikvm(13761): threadid=1: thread exiting with uncaught exception (group=0x40a371f8)
E/AndroidRuntime(13761): FATAL EXCEPTION: main
E/AndroidRuntime(13761): java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.wifi.SCAN_RESULTS flg=0x10000010 } in org.microg.nlp.api.WiFiBackendHelper$1@40d08108
E/AndroidRuntime(13761): at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:737)
E/AndroidRuntime(13761): at android.os.Handler.handleCallback(Handler.java:605)
E/AndroidRuntime(13761): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(13761): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(13761): at android.app.ActivityThread.main(ActivityThread.java:4575)
E/AndroidRuntime(13761): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(13761): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(13761): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
E/AndroidRuntime(13761): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
E/AndroidRuntime(13761): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
E/AndroidRuntime(13761): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(13761): Caused by: java.lang.SecurityException: Requires INSTALL_LOCATION_PROVIDER permission
E/AndroidRuntime(13761): at android.os.Parcel.readException(Parcel.java:1327)
E/AndroidRuntime(13761): at android.os.Parcel.readException(Parcel.java:1281)
E/AndroidRuntime(13761): at org.microg.nlp.api.LocationCallback$Stub$Proxy.report(LocationCallback.java:91)
E/AndroidRuntime(13761): at org.microg.nlp.api.LocationBackendService.report(LocationBackendService.java:53)
E/AndroidRuntime(13761): at org.microg.nlp.backend.apple.BackendService.onWiFisChanged(BackendService.java:158)
E/AndroidRuntime(13761): at org.microg.nlp.api.WiFiBackendHelper.onWiFisChanged(WiFiBackendHelper.java:117)
E/AndroidRuntime(13761): at org.microg.nlp.api.WiFiBackendHelper.access$000(WiFiBackendHelper.java:41)
E/AndroidRuntime(13761): at org.microg.nlp.api.WiFiBackendHelper$1.onReceive(WiFiBackendHelper.java:51)
E/AndroidRuntime(13761): at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:728)
E/AndroidRuntime(13761): ... 10 more
I/libblt_hw( 1962): Library opened (handle = 0, fd = 26)
I/AMIL (13797): Amil1_01Init : Creating AMIL thread
+++ LOG: malformed log message
I/Process (13761): Sending signal. PID: 13761 SIG: 9
I/ActivityManager( 2326): Process org.microg.nlp.backend.apple (pid 13761) has died.
W/ActivityManager( 2326): Scheduling restart of crashed service org.microg.nlp.backend.apple/.BackendService in 5000ms
D/NlpLocBackendHelper( 2580): Unbound from: ComponentInfo{org.microg.nlp.backend.apple/org.microg.nlp.backend.apple.BackendService}
W/InputManagerService( 2326): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@40edc450
I/libblt_hw( 1962): Library closed (handle = 0, fd = 26)
D/NlpLocBackendHelper( 2580): Not (yet) bound.
I/AMIL (13804): Amil1_01Init : Creating AMIL thread
D/NlpLocBackendHelper( 2580): Not (yet) bound.
I/ActivityManager( 2326): Start proc org.microg.nlp.backend.apple for service org.microg.nlp.backend.apple/.BackendService: pid=13809 uid=10095 gids={3003, 1015}
I/dalvikvm(13809): Could not find method org.microg.nlp.api.HelperLocationBackendService.checkSelfPermission, referenced from method org.microg.nlp.api.HelperLocationBackendService.getInitIntent
W/dalvikvm(13809): VFY: unable to resolve virtual method 1841: Lorg/microg/nlp/api/HelperLocationBackendService;.checkSelfPermission (Ljava/lang/String;)I
D/dalvikvm(13809): VFY: replacing opcode 0x6e at 0x0039
I/dalvikvm(13809): Could not find method android.net.wifi.WifiManager.isScanAlwaysAvailable, referenced from method org.microg.nlp.api.WiFiBackendHelper.isScanAlwaysAvailable
W/dalvikvm(13809): VFY: unable to resolve virtual method 235: Landroid/net/wifi/WifiManager;.isScanAlwaysAvailable ()Z
D/dalvikvm(13809): VFY: replacing opcode 0x6e at 0x0008
D/NlpLocBackendHelper( 2580): Bound to: ComponentInfo{org.microg.nlp.backend.apple/org.microg.nlp.backend.apple.BackendService}
D/AppleNlpBackendService(13809): onOpen
@mar-v-in I did some research and here's what I found out:
- The issue is not about apple wifi backend but microGms itself.
- Installing the microGms on /system/app fixes this issue and network location starts working but this breaks map functionality. Below is the relevant part of crash logcat when microGms is installed in /system. It seams to have something to do with loading vtm-jni
D/GmsMapView( 4912): Loading native vtm-jni
D/AndroidRuntime( 4912): Shutting down VM
W/dalvikvm( 4912): threadid=1: thread exiting with uncaught exception (group=0x40a5f1f8)
D/CrashlyticsCore( 4912): Crashlytics is handling uncaught exception "java.lang.UnsatisfiedLinkError: Couldn't load vtm-jni: findLibrary returned null" from thread main
D/Answers ( 4912): Logged crash
I/dalvikvm( 4912): VMStack.getTraceBuf: threadObj 0x40f08ee8 not active
D/CrashlyticsCore( 4912): No log data to include with this event.
I/dalvikvm( 4912): Jit: resizing JitTable from 4096 to 8192
D/dalvikvm( 4912): GC_CONCURRENT freed 1614K, 21% free 9962K/12487K, paused 4ms+5ms
D/CrashlyticsCore( 4912): Closing open sessions.
D/CrashlyticsCore( 4912): Closing session: 5A59EF4B01BA-0001-1330-5F9408865D02
D/CrashlyticsCore( 4912): Collecting session parts for ID 5A59EF4B01BA-0001-1330-5F9408865D02
D/CrashlyticsCore( 4912): Session 5A59EF4B01BA-0001-1330-5F9408865D02 has fatal exception: true
D/CrashlyticsCore( 4912): Session 5A59EF4B01BA-0001-1330-5F9408865D02 has non-fatal exceptions: false
D/CrashlyticsCore( 4912): Collecting SessionStart data for session ID 5A59EF4B01BA-0001-1330-5F9408865D02
D/CrashlyticsCore( 4912): Collecting SessionUser data for session ID 5A59EF4B01BA-0001-1330-5F9408865D02
D/CrashlyticsCore( 4912): Collecting SessionApp data for session ID 5A59EF4B01BA-0001-1330-5F9408865D02
D/CrashlyticsCore( 4912): Collecting SessionOS data for session ID 5A59EF4B01BA-0001-1330-5F9408865D02
D/CrashlyticsCore( 4912): Collecting SessionDevice data for session ID 5A59EF4B01BA-0001-1330-5F9408865D02
D/CrashlyticsCore( 4912): Removing session part files for ID 5A59EF4B01BA-0001-1330-5F9408865D02
D/CrashlyticsCore( 4912): Opening an new session with ID 5A59EF5E0087-0002-1330-5F9408865D02
D/Beta ( 4912): App was not installed by Beta. Skipping device token
D/CrashlyticsCore( 4912): Crashlytics completed exception processing. Invoking default exception handler.
W/System.err( 4912): java.lang.UnsatisfiedLinkError: Couldn't load vtm-jni: findLibrary returned null
W/System.err( 4912): at java.lang.Runtime.loadLibrary(Runtime.java:365)
W/System.err( 4912): at java.lang.System.loadLibrary(System.java:535)
W/System.err( 4912): at org.microg.gms.maps.BackendMapView.loadNativeLib(BackendMapView.java:96)
W/System.err( 4912): at org.microg.gms.maps.BackendMapView.<init>(BackendMapView.java:124)
W/System.err( 4912): at org.microg.gms.maps.BackendMap.<init>(BackendMap.java:71)
W/System.err( 4912): at org.microg.gms.maps.GoogleMapImpl.<init>(GoogleMapImpl.java:140)
W/System.err( 4912): at org.microg.gms.maps.GoogleMapImpl.create(GoogleMapImpl.java:153)
W/System.err( 4912): at org.microg.gms.maps.MapFragmentImpl.onCreateView(MapFragmentImpl.java:90)
W/System.err( 4912): at com.google.android.gms.maps.internal.IMapFragmentDelegate$Stub.onTransact(IMapFragmentDelegate.java:104)
W/System.err( 4912): at org.microg.gms.maps.MapFragmentImpl.onTransact(MapFragmentImpl.java:157)
W/System.err( 4912): at android.os.Binder.transact(Binder.java:297)
W/System.err( 4912): at com.google.android.gms.maps.internal.IMapFragmentDelegate$zza$zza.onCreateView(Unknown Source)
W/System.err( 4912): at com.google.android.gms.maps.MapFragment$zza.onCreateView(Unknown Source)
W/System.err( 4912): at com.google.android.gms.dynamic.zza$4.zzb(Unknown Source)
W/System.err( 4912): at com.google.android.gms.dynamic.zza.zza(Unknown Source)
W/System.err( 4912): at com.google.android.gms.dynamic.zza.onCreateView(Unknown Source)
W/System.err( 4912): at com.google.android.gms.maps.MapFragment.onCreateView(Unknown Source)
W/System.err( 4912): at newapp.com.taxiyaab.taxiyaab.customViews.d.onCreateView(CustomMapFragment.java:56)
W/System.err( 4912): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:828)
W/System.err( 4912): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1032)
D/CrashlyticsCore( 4912): Attempting to send crash report at time of crash...
W/System.err( 4912): at android.app.BackStackRecord.run(BackStackRecord.java:622)
W/System.err( 4912): at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1382)
W/System.err( 4912): at android.app.Activity.performStart(Activity.java:4474)
W/System.err( 4912): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2042)
W/System.err( 4912): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2104)
W/System.err( 4912): at android.app.ActivityThread.access$600(ActivityThread.java:132)
W/System.err( 4912): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1157)
W/System.err( 4912): at android.os.Handler.dispatchMessage(Handler.java:99)
W/System.err( 4912): at android.os.Looper.loop(Looper.java:137)
W/System.err( 4912): at android.app.ActivityThread.main(ActivityThread.java:4575)
W/System.err( 4912): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 4912): at java.lang.reflect.Method.invoke(Method.java:511)
W/System.err( 4912): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
W/System.err( 4912): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
W/System.err( 4912): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 4912): FATAL EXCEPTION: main
E/AndroidRuntime( 4912): java.lang.UnsatisfiedLinkError: Couldn't load vtm-jni: findLibrary returned null
E/AndroidRuntime( 4912): at java.lang.Runtime.loadLibrary(Runtime.java:365)
E/AndroidRuntime( 4912): at java.lang.System.loadLibrary(System.java:535)
E/AndroidRuntime( 4912): at org.microg.gms.maps.BackendMapView.loadNativeLib(BackendMapView.java:96)
E/AndroidRuntime( 4912): at org.microg.gms.maps.BackendMapView.<init>(BackendMapView.java:124)
E/AndroidRuntime( 4912): at org.microg.gms.maps.BackendMap.<init>(BackendMap.java:71)
E/AndroidRuntime( 4912): at org.microg.gms.maps.GoogleMapImpl.<init>(GoogleMapImpl.java:140)
E/AndroidRuntime( 4912): at org.microg.gms.maps.GoogleMapImpl.create(GoogleMapImpl.java:153)
E/AndroidRuntime( 4912): at org.microg.gms.maps.MapFragmentImpl.onCreateView(MapFragmentImpl.java:90)
E/AndroidRuntime( 4912): at com.google.android.gms.maps.internal.IMapFragmentDelegate$Stub.onTransact(IMapFragmentDelegate.java:104)
E/AndroidRuntime( 4912): at org.microg.gms.maps.MapFragmentImpl.onTransact(MapFragmentImpl.java:157)
E/AndroidRuntime( 4912): at android.os.Binder.transact(Binder.java:297)
E/AndroidRuntime( 4912): at com.google.android.gms.maps.internal.IMapFragmentDelegate$zza$zza.onCreateView(Unknown Source)
E/AndroidRuntime( 4912): at com.google.android.gms.maps.MapFragment$zza.onCreateView(Unknown Source)
E/AndroidRuntime( 4912): at com.google.android.gms.dynamic.zza$4.zzb(Unknown Source)
E/AndroidRuntime( 4912): at com.google.android.gms.dynamic.zza.zza(Unknown Source)
E/AndroidRuntime( 4912): at com.google.android.gms.dynamic.zza.onCreateView(Unknown Source)
E/AndroidRuntime( 4912): at com.google.android.gms.maps.MapFragment.onCreateView(Unknown Source)
E/AndroidRuntime( 4912): at newapp.com.taxiyaab.taxiyaab.customViews.d.onCreateView(CustomMapFragment.java:56)
E/AndroidRuntime( 4912): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:828)
E/AndroidRuntime( 4912): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1032)
E/AndroidRuntime( 4912): at android.app.BackStackRecord.run(BackStackRecord.java:622)
E/AndroidRuntime( 4912): at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1382)
E/AndroidRuntime( 4912): at android.app.Activity.performStart(Activity.java:4474)
E/AndroidRuntime( 4912): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2042)
E/AndroidRuntime( 4912): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2104)
E/AndroidRuntime( 4912): at android.app.ActivityThread.access$600(ActivityThread.java:132)
E/AndroidRuntime( 4912): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1157)
E/AndroidRuntime( 4912): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 4912): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime( 4912): at android.app.ActivityThread.main(ActivityThread.java:4575)
E/AndroidRuntime( 4912): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 4912): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime( 4912): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
E/AndroidRuntime( 4912): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
E/AndroidRuntime( 4912): at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager( 2385): Force finishing activity cab.snapp.passenger/newapp.com.taxiyaab.taxiyaab.MasterPassengerActivity
W/ActivityManager( 2385): Force finishing activity cab.snapp.passenger/newapp.com.taxiyaab.taxiyaab.PassengerSplashScreen
I/libblt_hw( 2021): Library opened (handle = 5, fd = 33)
D/CrashlyticsCore( 4912): Sending report to: https://reports.crashlytics.com/spi/v1/platforms/android/apps/cab.snapp.passenger/reports
W/ActivityManager( 2385): Activity pause timeout for ActivityRecord{40effff8 cab.snapp.passenger/newapp.com.taxiyaab.taxiyaab.MasterPassengerActivity}
I/libblt_hw( 2021): Library opened (handle = 6, fd = 40)
D/dalvikvm( 2619): GC_FOR_ALLOC freed 1935K, 37% free 5949K/9415K, paused 47ms
D/OpenGLRenderer( 2653): Flushing caches (mode 1)
D/CrashlyticsCore( 4912): Create report request ID: null
D/CrashlyticsCore( 4912): Result was: 202
I/CrashlyticsCore( 4912): Crashlytics report upload complete: 5A59EF4B01BA-0001-1330-5F9408865D02.cls
D/CrashlyticsCore( 4912): Removing report at /data/data/cab.snapp.passenger/files/.Fabric/com.crashlytics.sdk.android.crashlytics-core/5A59EF4B01BA-0001-1330-5F9408865D02.cls
I/libblt_hw( 2021): Library closed (handle = 0, fd = 29)
D/dalvikvm( 2619): GC_CONCURRENT freed 944K, 29% free 6744K/9415K, paused 2ms+3ms
D/AppleNlpBackendService( 3768): Found 3 wifis, of whom 2 with location and 0 unknown.
D/AppleNlpCalculator( 3768): Build classes of size: 2
D/AppleNlpCalculator( 3768): is dual class and verified.
D/Answers ( 4912): Flush events when app is backgrounded
D/AppleNlpCalculator( 3768): Using with weight=1.000000 mac=14:cc:20:6d:df:96 sig=-83 acc=27.000000 lat=32.640476 lon=51.682774
D/AppleNlpCalculator( 3768): Using with weight=4.000000 mac=90:f6:52:7d:0b:2c sig=-60 acc=24.000000 lat=32.640461 lon=51.682556
V/NlpLocationBackendFuser( 2653): location=Location[mProvider=network,mTime=1515843424667,mLatitude=32.64046401977539,mLongitude=51.68259963989258,mHasAltitude=true,mAltitude=635.8,mHasSpeed=false,mSpeed=0.0,mHasBearing=false,mBearing=0.0,mHasAccuracy=true,mAccuracy=24.6,mExtras=Bundle[{noGPSLocation=Location[mProvider=network,mTime=1515843424667,mLatitude=32.64046401977539,mLongitude=51.68259963989258,mHasAltitude=true,mAltitude=635.8,mHasSpeed=false,mSpeed=0.0,mHasBearing=false,mBearing=0.0,mHasAccuracy=true,mAccuracy=24.6,mExtras=null], org.microg.nlp.TOTAL_WEIGHT=5.0, AVERAGED_OF=2, COMBINED_OF=2, org.microg.nlp.TOTAL_ALTITUDE_WEIGHT=5.0, SERVICE_BACKEND_COMPONENT=org.microg.nlp.backend.apple/.BackendService, SERVICE_BACKEND_PROVIDER=apple, VERIFIED_TIME=1515843423847}]]
D/GmsLocProviderReal( 2653): uh-ok: last location for gps is null!
D/GmsLocRequestHelper( 2653): sending Location: Location[mProvider=network,mTime=1515843424667,mLatitude=32.64046401977539,mLongitude=51.68259963989258,mHasAltitude=true,mAltitude=635.8,mHasSpeed=false,mSpeed=0.0,mHasBearing=false,mBearing=0.0,mHasAccuracy=true,mAccuracy=24.6,mExtras=Bundle[mParcelledData.dataSize=724]]
D/Answers ( 4912): Sending 1 analytics files to https://e.crashlytics.com/spi/v2/events
D/Answers ( 4912): Response code for analytics file send is 200
I managed to get things working this way:
- Installed
microGmsin /data partition and unchecked all location backends - Installed
UnifiedNlp (no GAPPS) (legacy)in /system partition and configured it to use proper backends
now everything is working but the solution seems a little bit dirty
Have you tried the latest version?