react-native-background-fetch: Android app is crashing (in background) when headlessJS job is fired in release variant
Your Environment
- Plugin version: 2.6.0
- Platform: Android
- OS version: 8.0.0
- Device manufacturer / model: Samsung Galaxy S7
- React Native version: 0.59.8
- Plugin config
minimumFetchInterval: 15, stopOnTerminate: false, startOnBoot: true, enableHeadless: true,
Expected Behavior
Android app shouldn’t crash whenever Headless JS Task is fired.
Actual Behavior
Android app is crashing in release build whenever Headless JS Task is fired.
Steps to Reproduce
- Configure bgfetch
- Instal release variant of android app
- Run
adb shell cmd jobscheduler run -f com.xxx 999
- App is crashing
Code
componentDidMount() {
setUpBackgroundTask()
BackgroundFetch.registerHeadlessTask(setUpBackgroundTask)
}
const setUpBackgroundTask = () => {
BackgroundFetch.configure(
{
minimumFetchInterval: 15,
stopOnTerminate: false,
startOnBoot: true,
enableHeadless: true,
},
() => {
_checkTerminatingAndTerminate()
}
)
BackgroundFetch.status(status => {
switch (status) {
case BackgroundFetch.STATUS_RESTRICTED:
showAlertMessage(
determineErrorMessage(
{
response: {
err_code: "ERROR_BACKGROUND_APP_REFRESH_RESTRICTED",
},
},
() => {
store.dispatch(setDrivingModeOff())
}
)
)
break
case BackgroundFetch.STATUS_DENIED:
showAlertMessage(
determineErrorMessage(
{
response: {
err_code: "ERROR_BACKGROUND_APP_REFRESH_DENIED",
},
},
() => {
store.dispatch(setDrivingModeOff())
}
)
)
break
}
})
}
Debug logs
07-23 14:03:00.277 5812 5812 D TSBackgroundFetch: HeadlessJobService onStartJob
07-23 14:03:00.351 5812 5812 D ReactNative: ReactInstanceManager.createReactContextInBackground()
07-23 14:03:00.351 5812 5812 D ReactNative: ReactInstanceManager.recreateReactContextInBackgroundInner()
07-23 14:03:00.351 5812 5812 D ReactNative: ReactInstanceManager.recreateReactContextInBackgroundFromBundleLoader()
07-23 14:03:00.351 5812 5812 D ReactNative: ReactInstanceManager.recreateReactContextInBackground()
07-23 14:03:00.351 5812 5812 D ReactNative: ReactInstanceManager.runCreateReactContextOnNewThread()
07-23 14:03:00.362 5812 5834 D ReactNative: ReactInstanceManager.createReactContext()
07-23 14:03:00.441 5812 5834 D ReactNative: Initializing React Xplat Bridge.
07-23 14:03:00.446 5812 5834 D ReactNative: Initializing React Xplat Bridge before initializeBridge
07-23 14:03:00.461 5812 5834 D ReactNative: Initializing React Xplat Bridge after initializeBridge
07-23 14:03:00.461 5812 5834 D ReactNative: CatalystInstanceImpl.runJSBundle()
07-23 14:03:00.479 5812 5839 D ReactNative: ReactInstanceManager.setupReactContext()
07-23 14:03:00.479 5812 5839 D ReactNative: CatalystInstanceImpl.initialize()
07-23 14:03:00.985 5812 5812 D TSBackgroundFetch: onHeadlessJsTaskStart: 1
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 18 (10 by maintainers)
Of course.