React-native-background-geolocation: BootCompletedReceiver does not work (Android)

Created on 30 May 2018  路  19Comments  路  Source: mauron85/react-native-background-geolocation

Module does not work on app termination and phone boot (Android)

Your Environment


  • Plugin version: 0.5.0-alpha.33
  • Platform: Android
  • OS version: 8.0
  • Device manufacturer and model: Sony XA1
  • React Native version: 0.55.2
  • Plugin configuration options:
{
    activitiesInterval: 1000,
    activityType: 'Fitness',
    desiredAccuracy: BackgroundGeolocation.LOW_ACCURACY,
    distanceFilter: 10,
    debug: false,
    fastestInterval: 30000,
    interval: 60000,
    locationProvider: BackgroundGeolocation.ACTIVITY_PROVIDER,
    maxLocations: 1000000,
    startForeground: true,
    startOnBoot: true,
    stationaryRadius: 10,
    stopOnTerminate: false,
    stopOnStillActivity: false,
}
  • Link to your project:

Context

Expected Behavior

No errors

Actual Behavior

...

Possible Fix

Tried to add the following into AndroidManifest.xml, but does not help:

    <service android:name="com.marianhello.bgloc.LocationService"/>
    <receiver android:name="com.marianhello.bgloc.BootCompletedReceiver" android:enabled="true" android:exported="true">
      <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"/>
        <action android:name="android.intent.action.QUICKBOOT_POWERON"/>
        <action android:name="com.htc.intent.action.QUICKBOOT_POWERON"/>
        <category android:name="android.intent.category.DEFAULT" />
      </intent-filter>
    </receiver>

Debug logs

Logs from Crashalitics:

Fatal Exception: java.lang.RuntimeException
Unable to start receiver com.marianhello.bgloc.BootCompletedReceiver: java.lang.IllegalStateException: Not allowed to start service Intent { flg=0x4 cmp=com.dvaplus.best/com.marianhello.bgloc.LocationService (has extras) }: app is in background uid UidRecord{f611f74 u0a450 RCVR idle procs:1 seq(0,0,0)}
Caused by java.lang.IllegalStateException
Not allowed to start service Intent { flg=0x4 cmp=com.dvaplus.best/com.marianhello.bgloc.LocationService (has extras) }: app is in background uid UidRecord{f611f74 u0a450 RCVR idle procs:1 seq(0,0,0)}



md5-6cf402f96f1366bccb262d687aebee22



com.marianhello.bgloc.BootCompletedReceiver.onReceive (BootCompletedReceiver.java:51)
stale

Most helpful comment

@mauron85 Any ideas why this bug is occurred and how to fix it?

All 19 comments

@priezz I'm getting the same error in Crashlytics, did you find out what is causing the problem? and how to fix that bug?

@mauron85 Any ideas why this bug is occurred and how to fix it?

@Luckygirlllll Iryna, unfortunately I was not able to deal with this issue, so had to disable the app launch at bootup.

I'm also getting this error, guys. Any update on the cause?

+1, we're seeing these crashes happen over and over for live users.

I'm getting this error every day, it affects a lot of users in the production! How to solve this problem? I'm using 0.5.0-alpha.34 library version.

@mauron85 Any updates regarding this issue? or how to solve it?

Does anybody found a fix of the problem ?

I believe this has been already fixed

I'm seeing this in production on 0.5.0-alpha.50

java.lang.IllegalStateException: Not allowed to start service Intent { cmp=com.equesteo/com.marianhello.bgloc.service.LocationServiceImpl (has extras) }: app is in background uid UidRecord{b01fb2a u0a247 CEM  bg:+10h18m42s978ms idle procs:2 seq(0,0,0)}
    at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1577)
    at android.app.ContextImpl.startService(ContextImpl.java:1532)
    at android.content.ContextWrapper.startService(ContextWrapper.java:664)
    at com.marianhello.bgloc.service.LocationServiceProxy.executeIntentCommand(LocationServiceProxy.java:93)
    at com.marianhello.bgloc.service.LocationServiceProxy.stop(LocationServiceProxy.java:58)
    at com.marianhello.bgloc.BackgroundGeolocationFacade.stopBackgroundService(BackgroundGeolocationFacade.java:440)
    at com.marianhello.bgloc.BackgroundGeolocationFacade.destroy(BackgroundGeolocationFacade.java:264)
    at com.marianhello.bgloc.react.BackgroundGeolocationModule.onHostDestroy(BackgroundGeolocationModule.java:125)
    at com.facebook.react.bridge.ReactContext.onHostDestroy(ReactContext.java:228)
    at com.facebook.react.ReactInstanceManager.moveToBeforeCreateLifecycleState(ReactInstanceManager.java:676)
    at com.facebook.react.ReactInstanceManager.onHostDestroy(ReactInstanceManager.java:585)
    at com.facebook.react.ReactInstanceManager.onHostDestroy(ReactInstanceManager.java:599)
    at com.reactnativenavigation.react.NavigationReactInitializer.onActivityDestroyed(NavigationReactInitializer.java:43)
    at com.reactnativenavigation.react.ReactGateway.onActivityDestroyed(ReactGateway.java:64)
    at com.reactnativenavigation.NavigationActivity.onDestroy(NavigationActivity.java:70)
    at android.app.Activity.performDestroy(Activity.java:7403)
    at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1306)
    at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4481)
    at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4515)
    at android.app.servertransaction.DestroyActivityItem.execute(DestroyActivityItem.java:39)
    at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:6718)
    at java.lang.reflect.Method.invoke(Method.java)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

java.lang.RuntimeException: java.lang.IllegalStateException: Not allowed to start service Intent { cmp=com.equesteo/com.marianhello.bgloc.service.LocationServiceImpl (has extras) }: app is in background uid UidRecord{b01fb2a u0a247 CEM  bg:+10h18m42s978ms idle procs:2 seq(0,0,0)}
    at com.facebook.react.bridge.ReactContext.handleException(ReactContext.java:311)
    at com.facebook.react.bridge.ReactContext.onHostDestroy(ReactContext.java:230)
    at com.facebook.react.ReactInstanceManager.moveToBeforeCreateLifecycleState(ReactInstanceManager.java:676)
    at com.facebook.react.ReactInstanceManager.onHostDestroy(ReactInstanceManager.java:585)
    at com.facebook.react.ReactInstanceManager.onHostDestroy(ReactInstanceManager.java:599)
    at com.reactnativenavigation.react.NavigationReactInitializer.onActivityDestroyed(NavigationReactInitializer.java:43)
    at com.reactnativenavigation.react.ReactGateway.onActivityDestroyed(ReactGateway.java:64)
    at com.reactnativenavigation.NavigationActivity.onDestroy(NavigationActivity.java:70)
    at android.app.Activity.performDestroy(Activity.java:7403)
    at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1306)
    at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4481)
    at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4515)
    at android.app.servertransaction.DestroyActivityItem.execute(DestroyActivityItem.java:39)
    at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:6718)
    at java.lang.reflect.Method.invoke(Method.java)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

java.lang.RuntimeException: Unable to destroy activity {com.equesteo/com.equesteo.MainActivity}: java.lang.RuntimeException: java.lang.IllegalStateException: Not allowed to start service Intent { cmp=com.equesteo/com.marianhello.bgloc.service.LocationServiceImpl (has extras) }: app is in background uid UidRecord{b01fb2a u0a247 CEM  bg:+10h18m42s978ms idle procs:2 seq(0,0,0)}
    at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4496)
    at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4515)
    at android.app.servertransaction.DestroyActivityItem.execute(DestroyActivityItem.java:39)
    at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:6718)
    at java.lang.reflect.Method.invoke(Method.java)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

+1 I'm also getting this error on AppCenter Crash

Just make sure you're setup your project as oreo compatible. If you don't, you'll get this error on oreo and later devices.

https://github.com/mauron85/react-native-background-geolocation#android-oreo

I'm on React 0.60.4 and the latest version of this library at this time, 0.5.3. Below is a Fabric.io crashlog from one of the devices running into this occasionally. Its intermittent, which makes it hard to track down.

Crashlytics - plaintext stacktrace downloaded by Jacob Beasley at Tue, 13 Aug 2019 15:30:50 GMT

URL: https://fabric.io/logistik-technologies/android/apps/com.logistikapp/issues/35c9a8bc0de345e5ba4d5079e8ece02a?time=last-seven-days/sessions/5D52CD3D0203000163744ECF887A5B98_DNE_0_v2
Organization: Logistik Technologies
Platform: android
Application: Logistik Courier
Version: 0.7.32 (43)
Bundle Identifier: com.logistikapp
Issue ID: 35c9a8bc0de345e5ba4d5079e8ece02a
Session ID: 5D52CD3D0203000163744ECF887A5B98_DNE_0_v2
Date: 2019-08-13T14:46:00Z
OS Version: 9
Device: SM-J337A
RAM Free: 32.2%
Disk Free: 5.7%

0. Crashed: mqt_native_modules

   at android.app.ContextImpl.startServiceCommon + 1666(ContextImpl.java:1666)
   at android.app.ContextImpl.startService + 1611(ContextImpl.java:1611)
   at android.content.ContextWrapper.startService + 677(ContextWrapper.java:677)
   at com.marianhello.bgloc.service.LocationServiceProxy.executeIntentCommand + 104(LocationServiceProxy.java:104)
   at com.marianhello.bgloc.service.LocationServiceProxy.start + 59(LocationServiceProxy.java:59)
   at com.marianhello.bgloc.BackgroundGeolocationFacade.startBackgroundService + 435(BackgroundGeolocationFacade.java:435)
   at com.marianhello.bgloc.BackgroundGeolocationFacade.access$500 + 48(BackgroundGeolocationFacade.java:48)
   at com.marianhello.bgloc.BackgroundGeolocationFacade$3.onPermissionGranted + 224(BackgroundGeolocationFacade.java:224)
   at com.intentfilter.androidpermissions.PermissionHandler.checkPermissions + 41(PermissionHandler.java:41)
   at com.intentfilter.androidpermissions.PermissionManager.checkPermissions + 50(PermissionManager.java:50)
   at com.marianhello.bgloc.BackgroundGeolocationFacade.start + 217(BackgroundGeolocationFacade.java:217)
   at com.marianhello.bgloc.react.BackgroundGeolocationModule.start + 137(BackgroundGeolocationModule.java:137)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.facebook.react.bridge.JavaMethodWrapper.invoke + 372(JavaMethodWrapper.java:372)
   at com.facebook.react.bridge.JavaModuleWrapper.invoke + 158(JavaModuleWrapper.java:158)
   at com.facebook.react.bridge.queue.NativeRunnable.run(NativeRunnable.java)
   at android.os.Handler.handleCallback + 873(Handler.java:873)
   at android.os.Handler.dispatchMessage + 99(Handler.java:99)
   at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage + 29(MessageQueueThreadHandler.java:29)
   at android.os.Looper.loop + 214(Looper.java:214)
   at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run + 232(MessageQueueThreadImpl.java:232)
   at java.lang.Thread.run + 764(Thread.java:764)

--

Fatal Exception: java.lang.IllegalStateException: Not allowed to start service Intent { cmp=com.logistikapp/com.marianhello.bgloc.service.LocationServiceImpl (has extras) }: app is in background uid UidRecord{c596432 u0a172 TPSL idle change:cached procs:2 seq(0,0,0)}
at android.app.ContextImpl.startServiceCommon + 1666(ContextImpl.java:1666)
at android.app.ContextImpl.startService + 1611(ContextImpl.java:1611)
at android.content.ContextWrapper.startService + 677(ContextWrapper.java:677)
at com.marianhello.bgloc.service.LocationServiceProxy.executeIntentCommand + 104(LocationServiceProxy.java:104)
at com.marianhello.bgloc.service.LocationServiceProxy.start + 59(LocationServiceProxy.java:59)
at com.marianhello.bgloc.BackgroundGeolocationFacade.startBackgroundService + 435(BackgroundGeolocationFacade.java:435)
at com.marianhello.bgloc.BackgroundGeolocationFacade.access$500 + 48(BackgroundGeolocationFacade.java:48)
at com.marianhello.bgloc.BackgroundGeolocationFacade$3.onPermissionGranted + 224(BackgroundGeolocationFacade.java:224)
at com.intentfilter.androidpermissions.PermissionHandler.checkPermissions + 41(PermissionHandler.java:41)
at com.intentfilter.androidpermissions.PermissionManager.checkPermissions + 50(PermissionManager.java:50)
at com.marianhello.bgloc.BackgroundGeolocationFacade.start + 217(BackgroundGeolocationFacade.java:217)
at com.marianhello.bgloc.react.BackgroundGeolocationModule.start + 137(BackgroundGeolocationModule.java:137)
at java.lang.reflect.Method.invoke(Method.java)
at com.facebook.react.bridge.JavaMethodWrapper.invoke + 372(JavaMethodWrapper.java:372)
at com.facebook.react.bridge.JavaModuleWrapper.invoke + 158(JavaModuleWrapper.java:158)
at com.facebook.react.bridge.queue.NativeRunnable.run(NativeRunnable.java)
at android.os.Handler.handleCallback + 873(Handler.java:873)
at android.os.Handler.dispatchMessage + 99(Handler.java:99)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage + 29(MessageQueueThreadHandler.java:29)
at android.os.Looper.loop + 214(Looper.java:214)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run + 232(MessageQueueThreadImpl.java:232)
at java.lang.Thread.run + 764(Thread.java:764)

0. Crashed: mqt_native_modules

   at android.app.ContextImpl.startServiceCommon + 1666(ContextImpl.java:1666)
   at android.app.ContextImpl.startService + 1611(ContextImpl.java:1611)
   at android.content.ContextWrapper.startService + 677(ContextWrapper.java:677)
   at com.marianhello.bgloc.service.LocationServiceProxy.executeIntentCommand + 104(LocationServiceProxy.java:104)
   at com.marianhello.bgloc.service.LocationServiceProxy.start + 59(LocationServiceProxy.java:59)
   at com.marianhello.bgloc.BackgroundGeolocationFacade.startBackgroundService + 435(BackgroundGeolocationFacade.java:435)
   at com.marianhello.bgloc.BackgroundGeolocationFacade.access$500 + 48(BackgroundGeolocationFacade.java:48)
   at com.marianhello.bgloc.BackgroundGeolocationFacade$3.onPermissionGranted + 224(BackgroundGeolocationFacade.java:224)
   at com.intentfilter.androidpermissions.PermissionHandler.checkPermissions + 41(PermissionHandler.java:41)
   at com.intentfilter.androidpermissions.PermissionManager.checkPermissions + 50(PermissionManager.java:50)
   at com.marianhello.bgloc.BackgroundGeolocationFacade.start + 217(BackgroundGeolocationFacade.java:217)
   at com.marianhello.bgloc.react.BackgroundGeolocationModule.start + 137(BackgroundGeolocationModule.java:137)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.facebook.react.bridge.JavaMethodWrapper.invoke + 372(JavaMethodWrapper.java:372)
   at com.facebook.react.bridge.JavaModuleWrapper.invoke + 158(JavaModuleWrapper.java:158)
   at com.facebook.react.bridge.queue.NativeRunnable.run(NativeRunnable.java)
   at android.os.Handler.handleCallback + 873(Handler.java:873)
   at android.os.Handler.dispatchMessage + 99(Handler.java:99)
   at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage + 29(MessageQueueThreadHandler.java:29)
   at android.os.Looper.loop + 214(Looper.java:214)
   at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run + 232(MessageQueueThreadImpl.java:232)
   at java.lang.Thread.run + 764(Thread.java:764)

1. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$ + 2137(Thread.java:2137)
   at sun.misc.Unsafe.park + 358(Unsafe.java:358)
   at java.util.concurrent.locks.LockSupport.park + 190(LockSupport.java:190)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await + 2059(AbstractQueuedSynchronizer.java:2059)
   at java.util.concurrent.PriorityBlockingQueue.take + 548(PriorityBlockingQueue.java:548)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation + 197(DependencyPriorityBlockingQueue.java:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get + 236(DependencyPriorityBlockingQueue.java:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take + 65(DependencyPriorityBlockingQueue.java:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take + 46(DependencyPriorityBlockingQueue.java:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask + 1092(ThreadPoolExecutor.java:1092)
   at java.util.concurrent.ThreadPoolExecutor.runWorker + 1152(ThreadPoolExecutor.java:1152)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run + 641(ThreadPoolExecutor.java:641)
   at java.lang.Thread.run + 764(Thread.java:764)

2. queued-work-looper

   at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
   at android.os.MessageQueue.next + 326(MessageQueue.java:326)
   at android.os.Looper.loop + 181(Looper.java:181)
   at android.os.HandlerThread.run + 65(HandlerThread.java:65)

3. OkHttp ConnectionPool

   at java.lang.Object.wait(Object.java)
   at com.android.okhttp.ConnectionPool$1.run + 101(ConnectionPool.java:101)
   at java.util.concurrent.ThreadPoolExecutor.runWorker + 1167(ThreadPoolExecutor.java:1167)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run + 641(ThreadPoolExecutor.java:641)
   at java.lang.Thread.run + 764(Thread.java:764)

4. FinalizerWatchdogDaemon

   at java.lang.Thread.sleep(Thread.java)
   at java.lang.Thread.sleep + 373(Thread.java:373)
   at java.lang.Thread.sleep + 314(Thread.java:314)
   at java.lang.Daemons$FinalizerWatchdogDaemon.sleepFor + 342(Daemons.java:342)
   at java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization + 364(Daemons.java:364)
   at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal + 281(Daemons.java:281)
   at java.lang.Daemons$Daemon.run + 103(Daemons.java:103)
   at java.lang.Thread.run + 764(Thread.java:764)

5. Answers Events Handler1

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$ + 2137(Thread.java:2137)
   at sun.misc.Unsafe.park + 358(Unsafe.java:358)
   at java.util.concurrent.locks.LockSupport.parkNanos + 230(LockSupport.java:230)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos + 2101(AbstractQueuedSynchronizer.java:2101)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take + 1132(ScheduledThreadPoolExecutor.java:1132)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take + 849(ScheduledThreadPoolExecutor.java:849)
   at java.util.concurrent.ThreadPoolExecutor.getTask + 1092(ThreadPoolExecutor.java:1092)
   at java.util.concurrent.ThreadPoolExecutor.runWorker + 1152(ThreadPoolExecutor.java:1152)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run + 641(ThreadPoolExecutor.java:641)
   at io.fabric.sdk.android.services.common.ExecutorUtils$1$1.onRun + 75(ExecutorUtils.java:75)
   at io.fabric.sdk.android.services.common.BackgroundPriorityRunnable.run + 30(BackgroundPriorityRunnable.java:30)
   at java.lang.Thread.run + 764(Thread.java:764)

6. AsyncTask #2

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$ + 2137(Thread.java:2137)
   at sun.misc.Unsafe.park + 358(Unsafe.java:358)
   at java.util.concurrent.locks.LockSupport.parkNanos + 230(LockSupport.java:230)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos + 2101(AbstractQueuedSynchronizer.java:2101)
   at java.util.concurrent.LinkedBlockingQueue.poll + 467(LinkedBlockingQueue.java:467)
   at java.util.concurrent.ThreadPoolExecutor.getTask + 1091(ThreadPoolExecutor.java:1091)
   at java.util.concurrent.ThreadPoolExecutor.runWorker + 1152(ThreadPoolExecutor.java:1152)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run + 641(ThreadPoolExecutor.java:641)
   at java.lang.Thread.run + 764(Thread.java:764)

7. Crashlytics Exception Handler1

   at dalvik.system.VMStack.getThreadStackTrace(VMStack.java)
   at java.lang.Thread.getStackTrace + 1538(Thread.java:1538)
   at java.lang.Thread.getAllStackTraces + 1588(Thread.java:1588)
   at com.crashlytics.android.core.CrashlyticsUncaughtExceptionHandler.writeSessionEvent + 1054(CrashlyticsUncaughtExceptionHandler.java:1054)
   at com.crashlytics.android.core.CrashlyticsUncaughtExceptionHandler.writeFatal + 807(CrashlyticsUncaughtExceptionHandler.java:807)
   at com.crashlytics.android.core.CrashlyticsUncaughtExceptionHandler.handleUncaughtException + 271(CrashlyticsUncaughtExceptionHandler.java:271)
   at com.crashlytics.android.core.CrashlyticsUncaughtExceptionHandler.access$100 + 55(CrashlyticsUncaughtExceptionHandler.java:55)
   at com.crashlytics.android.core.CrashlyticsUncaughtExceptionHandler$5.call + 247(CrashlyticsUncaughtExceptionHandler.java:247)
   at com.crashlytics.android.core.CrashlyticsUncaughtExceptionHandler$5.call + 244(CrashlyticsUncaughtExceptionHandler.java:244)
   at java.util.concurrent.FutureTask.run + 266(FutureTask.java:266)
   at java.util.concurrent.ThreadPoolExecutor.runWorker + 1167(ThreadPoolExecutor.java:1167)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run + 641(ThreadPoolExecutor.java:641)
   at io.fabric.sdk.android.services.common.ExecutorUtils$1$1.onRun + 75(ExecutorUtils.java:75)
   at io.fabric.sdk.android.services.common.BackgroundPriorityRunnable.run + 30(BackgroundPriorityRunnable.java:30)
   at java.lang.Thread.run + 764(Thread.java:764)

8. HybridData DestructorThread

   at java.lang.Object.wait(Object.java)
   at java.lang.Object.wait + 422(Object.java:422)
   at java.lang.ref.ReferenceQueue.remove + 188(ReferenceQueue.java:188)
   at java.lang.ref.ReferenceQueue.remove + 209(ReferenceQueue.java:209)
   at com.facebook.jni.DestructorThread$1.run + 63(DestructorThread.java:63)

9. main

   at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
   at android.os.MessageQueue.next + 326(MessageQueue.java:326)
   at android.os.Looper.loop + 181(Looper.java:181)
   at android.app.ActivityThread.main + 7156(ActivityThread.java:7156)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run + 494(RuntimeInit.java:494)
   at com.android.internal.os.ZygoteInit.main + 975(ZygoteInit.java:975)

10. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$ + 2137(Thread.java:2137)
   at sun.misc.Unsafe.park + 358(Unsafe.java:358)
   at java.util.concurrent.locks.LockSupport.park + 190(LockSupport.java:190)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await + 2059(AbstractQueuedSynchronizer.java:2059)
   at java.util.concurrent.PriorityBlockingQueue.take + 548(PriorityBlockingQueue.java:548)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation + 197(DependencyPriorityBlockingQueue.java:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get + 236(DependencyPriorityBlockingQueue.java:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take + 65(DependencyPriorityBlockingQueue.java:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take + 46(DependencyPriorityBlockingQueue.java:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask + 1092(ThreadPoolExecutor.java:1092)
   at java.util.concurrent.ThreadPoolExecutor.runWorker + 1152(ThreadPoolExecutor.java:1152)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run + 641(ThreadPoolExecutor.java:641)
   at java.lang.Thread.run + 764(Thread.java:764)

11. mqt_native_modules

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$ + 2137(Thread.java:2137)
   at sun.misc.Unsafe.park + 358(Unsafe.java:358)
   at java.util.concurrent.locks.LockSupport.park + 190(LockSupport.java:190)
   at java.util.concurrent.FutureTask.awaitDone + 450(FutureTask.java:450)
   at java.util.concurrent.FutureTask.get + 192(FutureTask.java:192)
   at com.crashlytics.android.core.CrashlyticsExecutorServiceWrapper.executeSyncLoggingException + 47(CrashlyticsExecutorServiceWrapper.java:47)
   at com.crashlytics.android.core.CrashlyticsUncaughtExceptionHandler.uncaughtException + 244(CrashlyticsUncaughtExceptionHandler.java:244)
   at com.marianhello.logging.UncaughtExceptionLogger.uncaughtException + 25(UncaughtExceptionLogger.java:25)
   at java.lang.ThreadGroup.uncaughtException + 1068(ThreadGroup.java:1068)
   at java.lang.ThreadGroup.uncaughtException + 1063(ThreadGroup.java:1063)
   at java.lang.Thread.dispatchUncaughtException + 1955(Thread.java:1955)

12. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$ + 2137(Thread.java:2137)
   at sun.misc.Unsafe.park + 358(Unsafe.java:358)
   at java.util.concurrent.locks.LockSupport.park + 190(LockSupport.java:190)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await + 2059(AbstractQueuedSynchronizer.java:2059)
   at java.util.concurrent.PriorityBlockingQueue.take + 548(PriorityBlockingQueue.java:548)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation + 197(DependencyPriorityBlockingQueue.java:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get + 236(DependencyPriorityBlockingQueue.java:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take + 65(DependencyPriorityBlockingQueue.java:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take + 46(DependencyPriorityBlockingQueue.java:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask + 1092(ThreadPoolExecutor.java:1092)
   at java.util.concurrent.ThreadPoolExecutor.runWorker + 1152(ThreadPoolExecutor.java:1152)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run + 641(ThreadPoolExecutor.java:641)
   at java.lang.Thread.run + 764(Thread.java:764)

13. FinalizerDaemon

   at java.lang.Object.wait(Object.java)
   at java.lang.Object.wait + 422(Object.java:422)
   at java.lang.ref.ReferenceQueue.remove + 188(ReferenceQueue.java:188)
   at java.lang.ref.ReferenceQueue.remove + 209(ReferenceQueue.java:209)
   at java.lang.Daemons$FinalizerDaemon.runInternal + 232(Daemons.java:232)
   at java.lang.Daemons$Daemon.run + 103(Daemons.java:103)
   at java.lang.Thread.run + 764(Thread.java:764)

14. mqt_js

   at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
   at android.os.MessageQueue.next + 326(MessageQueue.java:326)
   at android.os.Looper.loop + 181(Looper.java:181)
   at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run + 232(MessageQueueThreadImpl.java:232)
   at java.lang.Thread.run + 764(Thread.java:764)

15. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$ + 2137(Thread.java:2137)
   at sun.misc.Unsafe.park + 358(Unsafe.java:358)
   at java.util.concurrent.locks.LockSupport.park + 190(LockSupport.java:190)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await + 2059(AbstractQueuedSynchronizer.java:2059)
   at java.util.concurrent.PriorityBlockingQueue.take + 548(PriorityBlockingQueue.java:548)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation + 197(DependencyPriorityBlockingQueue.java:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get + 236(DependencyPriorityBlockingQueue.java:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take + 65(DependencyPriorityBlockingQueue.java:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take + 46(DependencyPriorityBlockingQueue.java:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask + 1092(ThreadPoolExecutor.java:1092)
   at java.util.concurrent.ThreadPoolExecutor.runWorker + 1152(ThreadPoolExecutor.java:1152)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run + 641(ThreadPoolExecutor.java:641)
   at java.lang.Thread.run + 764(Thread.java:764)

16. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$ + 2137(Thread.java:2137)
   at sun.misc.Unsafe.park + 358(Unsafe.java:358)
   at java.util.concurrent.locks.LockSupport.park + 190(LockSupport.java:190)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await + 2059(AbstractQueuedSynchronizer.java:2059)
   at java.util.concurrent.PriorityBlockingQueue.take + 548(PriorityBlockingQueue.java:548)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation + 197(DependencyPriorityBlockingQueue.java:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get + 236(DependencyPriorityBlockingQueue.java:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take + 65(DependencyPriorityBlockingQueue.java:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take + 46(DependencyPriorityBlockingQueue.java:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask + 1092(ThreadPoolExecutor.java:1092)
   at java.util.concurrent.ThreadPoolExecutor.runWorker + 1152(ThreadPoolExecutor.java:1152)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run + 641(ThreadPoolExecutor.java:641)
   at java.lang.Thread.run + 764(Thread.java:764)

17. ReferenceQueueDaemon

   at java.lang.Object.wait(Object.java)
   at java.lang.Daemons$ReferenceQueueDaemon.runInternal + 178(Daemons.java:178)
   at java.lang.Daemons$Daemon.run + 103(Daemons.java:103)
   at java.lang.Thread.run + 764(Thread.java:764)

18. AsyncTask #1

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$ + 2137(Thread.java:2137)
   at sun.misc.Unsafe.park + 358(Unsafe.java:358)
   at java.util.concurrent.locks.LockSupport.parkNanos + 230(LockSupport.java:230)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos + 2101(AbstractQueuedSynchronizer.java:2101)
   at java.util.concurrent.LinkedBlockingQueue.poll + 467(LinkedBlockingQueue.java:467)
   at java.util.concurrent.ThreadPoolExecutor.getTask + 1091(ThreadPoolExecutor.java:1091)
   at java.util.concurrent.ThreadPoolExecutor.runWorker + 1152(ThreadPoolExecutor.java:1152)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run + 641(ThreadPoolExecutor.java:641)
   at java.lang.Thread.run + 764(Thread.java:764)

19. AsyncTask #3

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$ + 2137(Thread.java:2137)
   at sun.misc.Unsafe.park + 358(Unsafe.java:358)
   at java.util.concurrent.locks.LockSupport.parkNanos + 230(LockSupport.java:230)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos + 2101(AbstractQueuedSynchronizer.java:2101)
   at java.util.concurrent.LinkedBlockingQueue.poll + 467(LinkedBlockingQueue.java:467)
   at java.util.concurrent.ThreadPoolExecutor.getTask + 1091(ThreadPoolExecutor.java:1091)
   at java.util.concurrent.ThreadPoolExecutor.runWorker + 1152(ThreadPoolExecutor.java:1152)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run + 641(ThreadPoolExecutor.java:641)
   at java.lang.Thread.run + 764(Thread.java:764)

@jacobbeasley like i said before make sure you're compiling against API 26 (oreo). Since you're on latest react-native, it should be detected automatically inside plugin's gradle script. If not, you can check https://github.com/mauron85/react-native-background-geolocation#android-oreo if manually settings sdk versions and oreoEXPERIMENTAL doesn't help.

I'll try that. I'm compiling with sdk version 28, but I'll also add the oreoEXPERIMENTAL and see if that fixes it.

@mauron85 this link https://github.com/mauron85/react-native-background-geolocation#android-oreo doesn't actually take you to any documentation that explains what is needed. searching for "oreo" in the readme takes you to the section talking about foreground services, but honestly I am completely confused by that section. I am having trouble grasping what the "fix" for this issue actually is.

BTW I am compiling against API 28. do I need to downgrade to 26 or keep 28?

Sorry oreo README section was removed in recent commit. Since 0.6.0 only supports Oreo and later and there is no additional step to take.

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

This issue has been automatically closed, because it has not had recent activity. If you believe this issue shouldn't be closed, please reopen or write down a comment requesting issue reopening with explanation why you think it's important. Thank you for your contributions.

Was this page helpful?
0 / 5 - 0 ratings