React-native: (Android) Crash on react-native 0.49.5 (RuntimeExceptionSimpleSettableFuture)

Created on 24 Nov 2017  Â·  44Comments  Â·  Source: facebook/react-native

Is this a bug report?

Yes

Environment

There was a crash on one of our Android users devices (Samsung SM-T110 Android 4.2.2 API 17) while they were using the production version of our app and we received this bug report from their device:

Environment:
  OS: macOS Sierra 10.12.6
  Node: 8.9.1
  Yarn: 1.0.2
  npm: 5.5.1
  Watchman: 3.9.0
  Xcode: Xcode 9.1 Build version 9B55
  Android Studio: 3.0 AI-171.4408382

Packages: (wanted => installed)
  react: 16.0.0-beta.5 => 16.0.0-beta.5
  react-native: 0.49.5 => 0.49.5

Steps to Reproduce

Here's the exact stack trace:

java.lang.RuntimeException java.lang.InterruptedException 
    SimpleSettableFuture.java:102 com.facebook.react.common.futures.SimpleSettableFuture.getOrThrow
    MessageQueueThreadImpl.java:199 com.facebook.react.bridge.queue.MessageQueueThreadImpl.startNewBackgroundThread
    MessageQueueThreadImpl.java:146 com.facebook.react.bridge.queue.MessageQueueThreadImpl.create
    ReactQueueConfigurationImpl.java:87 com.facebook.react.bridge.queue.ReactQueueConfigurationImpl.create
    CatalystInstanceImpl.java:105 com.facebook.react.bridge.CatalystInstanceImpl.<init>
    CatalystInstanceImpl.java:39 com.facebook.react.bridge.CatalystInstanceImpl.<init>
    CatalystInstanceImpl.java:569 com.facebook.react.bridge.CatalystInstanceImpl$Builder.build
    ReactInstanceManager.java:1015 com.facebook.react.ReactInstanceManager.createReactContext
    ReactInstanceManager.java:107 com.facebook.react.ReactInstanceManager.access$600
    ReactInstanceManager.java:832 com.facebook.react.ReactInstanceManager$4.run
    Thread.java:856 java.lang.Thread.run


Caused by: java.lang.InterruptedException
    AbstractQueuedSynchronizer.java:1277 java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly
    CountDownLatch.java:202 java.util.concurrent.CountDownLatch.await
    SimpleSettableFuture.java:66 com.facebook.react.common.futures.SimpleSettableFuture.get
    SimpleSettableFuture.java:100 com.facebook.react.common.futures.SimpleSettableFuture.getOrThrow
    MessageQueueThreadImpl.java:199 com.facebook.react.bridge.queue.MessageQueueThreadImpl.startNewBackgroundThread
    MessageQueueThreadImpl.java:146 com.facebook.react.bridge.queue.MessageQueueThreadImpl.create
    ReactQueueConfigurationImpl.java:87 com.facebook.react.bridge.queue.ReactQueueConfigurationImpl.create
    CatalystInstanceImpl.java:105 com.facebook.react.bridge.CatalystInstanceImpl.<init>
    CatalystInstanceImpl.java:39 com.facebook.react.bridge.CatalystInstanceImpl.<init>
    CatalystInstanceImpl.java:569 com.facebook.react.bridge.CatalystInstanceImpl$Builder.build
    ReactInstanceManager.java:1015 com.facebook.react.ReactInstanceManager.createReactContext
    ReactInstanceManager.java:107 com.facebook.react.ReactInstanceManager.access$600
    ReactInstanceManager.java:832 com.facebook.react.ReactInstanceManager$4.run
    Thread.java:856 java.lang.Thread.run

Here are the threads:

screen shot 2017-11-24 at 09 08 20
screen shot 2017-11-24 at 09 08 37
screen shot 2017-11-24 at 09 08 53

Actual Behavior

There was a crash

Other hints:

Here's the breadcrumbs we got that lead to the error:
screen shot 2017-11-24 at 09 12 21

Ran Commands Locked

Most helpful comment

ok bot...as if upgrading to the latest RN version is such an easy task...

All 44 comments

Came to post this exactly same issue, but found this before 😃

But im using RN 0.45, and something i notice is lots of CONNECTION_STATE_CHANGE and CONNECTIVITY_CHANGE, for now i have around 600 ocurrences of this errors in my app.

If could help this is my breadcrumb
screencapture-app-bugsnag

Having the exact same issue on 0.49.5, java.lang.InterruptedException occurs. Log is same as the above. Please share if you find any solution, I'll do the same :)

We also have the same issue on 0.49.5. Here is our report from appcenter crashes:
crash

I started to observe a similar crash as well recently. I am using react-native 0.49.3. Although, the crash is intermittent but still can be seen now and then. Below is the call stack reported on Sentry

screen shot 2017-11-30 at 5 55 50 pm

Is any of you able to create a demo project that illustrates the problem?

@SudoPlz I have no idea whats causing it, so i cant reproduce, i just complainig about this because i have seen a lot of this error in my logs, but cant figure out whats the cause, i cant even reproduce it in my device

@ varungupta85 @Agontuk @SudoPlz What do you think of post our package.json file? at least the dependencies part, maybe we found a common plugin, or something like that.

My package.json

{
    "version": "0.0.1",
    "private": true,
    "scripts": {
        "start": "node node_modules/react-native/local-cli/cli.js start",
        "test": "jest"
    },
    "dependencies": {
        "axios": "^0.16.2",
        "jest-haste-map": "^20.0.4",
        "moment": "^2.18.1",
        "native-base": "2.2.0",
        "prop-types": "^15.5.10",
        "react": "16.0.0-alpha.12",
        "react-devtools-core": "^2.3.3",
        "react-native": "0.45.1",
        "react-native-check-box": "^1.0.4",
        "react-native-communications": "^2.2.1",
        "react-native-credit-card-input": "^0.3.3",
        "react-native-device-info": "^0.12.0",
        "react-native-fabric": "^0.5.1",
        "react-native-fbsdk": "^0.6.0",
        "react-native-google-places-autocomplete": "^1.2.12",
        "react-native-gps-state": "^0.0.2",
        "react-native-image-picker": "^0.26.3",
        "react-native-keyboard-aware-scroll-view": "^0.2.9",
        "react-native-linear-gradient": "react-native-community/react-native-linear-gradient",
        "react-native-masked-text": "^1.5.1",
        "react-native-modal": "^2.4.0",
        "react-native-multiple-select": "^0.2.1",
        "react-native-navigation": "^1.1.134",
        "react-native-onesignal": "^3.0.5",
        "react-native-push-notification": "^3.0.0",
        "react-native-scrollable-tab-view": "^0.6.7",
        "react-native-star-rating": "^1.0.7",
        "react-native-swiper": "^1.5.4",
        "react-native-vector-icons": "^4.0.1",
        "react-redux": "^5.0.6",
        "redux": "^3.7.2",
        "redux-logger": "^3.0.6",
        "redux-thunk": "^2.2.0",
        "tcomb-form-native": "^0.6.9",
        "underscore": "^1.8.3"
    },
    "devDependencies": {
        "babel-eslint": "^8.0.1",
        "babel-jest": "19.0.0",
        "babel-preset-react-native": "1.9.1",
        "eslint": "^4.4.5",
        "eslint-config-airbnb": "^16.1.0",
        "eslint-plugin-import": "^2.8.0",
        "eslint-plugin-jsx-a11y": "^6.0.2",
        "eslint-plugin-react": "^7.4.0",
        "jest": "19.0.2",
        "react-test-renderer": "16.0.0-alpha.6"
    },
    "jest": {
        "preset": "react-native"
    }
}

Sure, here's mine:

"dependencies": {
    "axios": "0.17.1",
    "babel-preset-react-native": "2.0.0",
    "bugsnag-react-native": "2.7.3",
    "clone": "^2.1.1",
    "creditcards": "^2.1.2",
    "currency-formatter": "1.3.1",
    "eslint-config-airbnb": "16.0.0",
    "immutable": "3.8.2",
    "instabug-reactnative": "^2.0.15",
    "key-mirror": "github:SudoPlz/key-mirror",
    "moment": "2.19.2",
    "moment-timezone": "0.5.14",
    "normalize-css-color": "^1.0.2",
    "performance-now": "2.1.0",
    "prop-types": "15.6.0",
    "querystring": "0.2.0",
    "react": "16.0.0-beta.5",
    "react-clone-referenced-element": "^1.0.1",
    "react-native": "0.49.5",
    "react-native-action-button": "2.8.3",
    "react-native-amplitude-analytics": "^0.1.10",
    "react-native-animatable": "1.2.4",
    "react-native-background-timer": "1.3.0",
    "react-native-blur": "^3.2.2",
    "react-native-code-push": "5.2.0-beta",
    "react-native-collapsible": "^0.9.0",
    "react-native-fcm": "10.0.3",
    "react-native-fetch-blob": "0.10.8",
    "react-native-i18n": "2.0.9",
    "react-native-image-picker": "0.26.7",
    "react-native-image-progress": "1.0.1",
    "react-native-keyboard-aware-scrollview": "github:SudoPlz/react-native-keyboard-aware-scrollview",
    "react-native-keychain": "1.2.1",
    "react-native-linear-gradient": "2.3.0",
    "react-native-maps": "^0.17.1",
    "react-native-modal-datetime-picker": "^4.13.0",
    "react-native-modalbox": "^1.4.2",
    "react-native-navigation": "1.1.295",
    "react-native-orientation": "github:yamill/react-native-orientation",
    "react-native-pages": "^0.6.1",
    "react-native-picker": "4.3.0",
    "react-native-root-toast": "^2.2.0",
    "react-native-simple-store": "1.3.0",
    "react-native-store-review": "^0.1.3",
    "react-native-swipeout": "github:SudoPlz/react-native-swipeout",
    "react-native-vector-icons": "4.4.2",
    "react-native-version-check": "^2.0.1",
    "react-native-wheel-picker": "github:SudoPlz/react-native-wheel-picker",
    "react-redux": "5.0.6",
    "react-test-renderer": "16.0.0",
    "redux": "3.7.2",
    "redux-thunk": "2.2.0",
    "rn-snoopy": "^2.0.0",
    "uglify-js": "3.2.0",
    "undefined": "0.1.0",
    "underscore": "latest",
    "url-parse": "1.2.0",
    "validate.js": "0.12.0"
  },
  "devDependencies": {
    "eslint": "^4.12.0",
    "eslint-plugin-import": "^2.8.0",
    "eslint-plugin-jsx-a11y": "^6.0.2",
    "eslint-plugin-react": "^7.5.1",
    "jest-cli": "^21.2.1",
    "remote-redux-devtools": "^0.5.12",
    "remotedev-server": "^0.2.4",
    "whatwg-fetch": "2.0.3"
  }

I see axios, react-native-navigation, react-native-image-picker, react-native-linear-gradient as the most important common libs.

Here is mine:
˘ "version": "0.0.1", "private": true, "scripts": { "start": "watchman watch-del-all && (adb reverse tcp:8081 tcp:8081 || true) && node node_modules/react-native/local-cli/cli.js start", "android": "cd android ; ./gradlew installDebug", "xcode": "open ios/react_native_navigation_bootstrap.xcodeproj" }, "dependencies": { "assert": "^1.4.1", "babel-plugin-transform-runtime": "^6.23.0", "babel-preset-es2015": "^6.24.1", "babel-preset-stage-2": "^6.24.1", "bignumber": "^1.1.0", "bluebird": "^3.5.1", "browserify-zlib": "^0.1.4", "buffer": "^4.9.1", "console-browserify": "^1.1.0", "constants-browserify": "^1.0.0", "crypto": "^1.0.1", "dns.js": "^1.0.1", "domain-browser": "^1.1.7", "events": "^1.1.1", "https-browserify": "0.0.1", "human-standard-token-abi": "^1.0.2", "path-browserify": "0.0.0", "process": "^0.11.10", "prop-types": "*", "querystring-es3": "^0.2.1", "react": "^16.1.1", "react-native": "^0.49.5", "react-native-crypto": "^2.1.1", "react-native-http": "github:tradle/react-native-http#834492d", "react-native-level-fs": "^3.0.0", "react-native-modal-dropdown": "^0.5.0", "react-native-navigation": "^1.1.280", "react-native-os": "^1.1.0", "react-native-randombytes": "^3.0.0", "react-native-svg": "^5.4.2", "react-native-tcp": "^3.3.0", "react-native-udp": "^2.1.0", "react-native-ui-kitten": "^2.0.1", "react-navigation": "^1.0.0-beta.13", "react-number-format": "^3.0.2", "react-redux": "^5.0.6", "readable-stream": "^1.0.33", "redux": "^3.7.2", "redux-orm": "^0.9.4", "redux-persist": "^4.10.1", "redux-thunk": "^2.2.0", "reselect": "^3.0.1", "stream-browserify": "^1.0.0", "string_decoder": "^0.10.31", "timers-browserify": "^1.4.2", "tty-browserify": "0.0.0", "url": "^0.10.3", "util": "^0.10.3", "victory-native": "^0.15.0", "vm-browserify": "0.0.4", "web3": "^0.20.2", "web3-provider-engine": "^13.3.2" }, "devDependencies": { "babel-preset-react-native": "^2.1.0", "rn-nodeify": "github:mvayngrib/rn-nodeify" }, "react-native": { "zlib": "browserify-zlib", "console": "console-browserify", "constants": "constants-browserify", "crypto": "react-native-crypto", "dns": "dns.js", "net": "react-native-tcp", "domain": "domain-browser", "http": "react-native-http", "https": "https-browserify", "os": "react-native-os", "path": "path-browserify", "querystring": "querystring-es3", "fs": "react-native-level-fs", "_stream_transform": "readable-stream/transform", "_stream_readable": "readable-stream/readable", "_stream_writable": "readable-stream/writable", "_stream_duplex": "readable-stream/duplex", "_stream_passthrough": "readable-stream/passthrough", "dgram": "react-native-udp", "stream": "stream-browserify", "timers": "timers-browserify", "tty": "tty-browserify", "vm": "vm-browserify", "tls": false }, "browser": { "zlib": "browserify-zlib", "console": "console-browserify", "constants": "constants-browserify", "crypto": "react-native-crypto", "dns": "dns.js", "net": "react-native-tcp", "domain": "domain-browser", "http": "react-native-http", "https": "https-browserify", "os": "react-native-os", "path": "path-browserify", "querystring": "querystring-es3", "fs": "react-native-level-fs", "_stream_transform": "readable-stream/transform", "_stream_readable": "readable-stream/readable", "_stream_writable": "readable-stream/writable", "_stream_duplex": "readable-stream/duplex", "_stream_passthrough": "readable-stream/passthrough", "dgram": "react-native-udp", "stream": "stream-browserify", "timers": "timers-browserify", "tty": "tty-browserify", "vm": "vm-browserify", "tls": false } }

Do you think the trouble maker is once again react-native-navigation ?

I think it is very probable. I have migrated from react-navigation to react-native-navigation. There was no problem with react-navigation. I started project from this repo https://github.com/wix/react-native-navigation-bootstrap.
I'll try to reproduce the issue with blank react-native-navigation-bootstrap and RN-0.49.5

Below are my dependencies and I am also using react-native-navigation.

"dependencies": {
    "buffer": "^5.0.7",
    "firebase": "^4.6.0",
    "invariant": "^2.2.2",
    "libphonenumber-js": "^0.4.37",
    "lodash": "^4.17.4",
    "moment-timezone": "^0.5.13",
    "prop-types": "^15.6.0",
    "raven-js": "^3.19.1",
    "react": "16.0.0-beta.5",
    "react-native": "^0.49.3",
    "react-native-animatable": "^1.2.4",
    "react-native-collapsible": "^0.9.0",
    "react-native-communications": "^2.2.1",
    "react-native-contacts": "^1.0.2",
    "react-native-country-picker-modal": "github:varungupta85/react-native-country-picker-modal",
    "react-native-device-info": "^0.12.1",
    "react-native-dialogs": "^0.0.20",
    "react-native-elements": "^0.17.0",
    "react-native-fbsdk": "^0.6.3",
    "react-native-firebase-analytics": "^4.0.1",
    "react-native-gifted-chat": "github:varungupta85/react-native-gifted-chat",
    "react-native-i18n": "^2.0.8",
    "react-native-image-crop-picker": "^0.18.0",
    "react-native-ios-notification-actions": "holmesal/react-native-ios-notification-actions",
    "react-native-keyboard-aware-scroll-view": "^0.3.0",
    "react-native-keyboard-spacer": "^0.4.1",
    "react-native-navigation": "^1.1.295",
    "react-native-parsed-text": "0.0.20",
    "react-native-permissions": "^1.0.1",
    "react-native-push-notification": "github:varungupta85/react-native-push-notification#multiple-features-android-active",
    "react-native-radio-buttons": "^1.0.0",
    "react-native-searchbar": "github:varungupta85/react-native-searchbar",
    "react-native-sound": "github:varungupta85/react-native-sound",
    "react-native-swiper": "^1.5.13",
    "react-native-uuid": "^1.4.9",
    "react-native-vector-icons": "^4.4.2",
    "react-redux": "^5.0.6",
    "redux": "^3.7.2",
    "redux-persist": "^4.10.1",
    "redux-thunk": "^2.2.0",
    "reduxsauce": "^0.7.0",
    "reselect": "^3.0.1",
    "uuid": "^3.1.0",
    "wordwrap": "^1.0.0"
  },

Here is my list of dependencies. @SudoPlz so the last candidate is react-native-navigation ......

"dependencies": {
    "babel-preset-flow": "^6.23.0",
    "deep-diff": "^0.3.8",
    "deepmerge": "^2.0.1",
    "flow-bin": "0.46",
    "hoist-non-react-statics": "^2.3.1",
    "lodash.get": "^4.4.2",
    "lottie-react-native": "^2.2.7",
    "moment": "^2.19.1",
    "prop-types": "^15.5.10",
    "react": "16.0.0-beta.5",
    "react-native": "0.49.5",
    "react-native-animatable": "^1.2.4",
    "react-native-audio": "^3.5.0",
    "react-native-code-push": "^5.1.3-beta",
    "react-native-device-info": "^0.11.0",
    "react-native-elements": "^0.18.4",
    "react-native-fabric": "^0.5.0",
    "react-native-fbsdk": "^0.6.3",
    "react-native-fcm": "^10.0.0",
    "react-native-fetch-blob": "^0.10.8",
    "react-native-firebase": "^3.0.5",
    "react-native-firebase-analytics": "^4.0.1",
    "react-native-gifted-chat": "https://github.com/peteroid/react-native-gifted-chat.git",
    "react-native-image-crop-picker": "^0.18.1",
    "react-native-image-picker": "^0.26.3",
    "react-native-lightbox": "https://github.com/gravitons-inc/react-native-lightbox",
    "react-native-maps": "^0.17.1",
    "react-native-mixpanel": "^0.0.16",
    "react-native-modal": "^4.1.1",
    "react-native-modal-dropdown": "^0.5.0",
    "react-native-mov-to-mp4": "^0.2.1",
    "react-native-navigation": "^1.1.250",
    "react-native-parsed-text": "^0.0.20",
    "react-native-progress": "^3.4.0",
    "react-native-sentry": "^0.30.0",
    "react-native-sound": "^0.10.3",
    "react-native-timeline-listview": "^0.2.2",
    "react-native-vector-icons": "^4.2.0",
    "react-native-video": "^2.0.0",
    "react-navigation": "^1.0.0-beta.21",
    "react-navigation-is-focused-hoc": "^1.0.0",
    "react-redux": "^5.0.6",
    "redux": "^3.7.2",
    "redux-logger": "^3.0.6",
    "redux-persist": "^5.0.0-rc.6",
    "redux-saga": "^0.16.0",
    "sentry-cli-binary": "^1.24.1",
    "uuid": "^3.1.0",
    "why-did-you-update": "https://github.com/maicki/why-did-you-update.git"
  },
  "devDependencies": {
    "babel-eslint": "^8.0.1",
    "babel-jest": "^21.2.0",
    "babel-plugin-ignite-ignore-reactotron": "^0.3.0",
    "babel-plugin-transform-export-extensions": "^6.22.0",
    "babel-plugin-transform-remove-console": "^6.8.5",
    "babel-preset-react-native": "^4.0.0",
    "jest": "^21.2.1",
    "react-test-renderer": "16.0.0-alpha.12",
    "reactotron-react-native": "^1.12.3",
    "standard": "^10.0.3"
  },

Here's our dependencies, we're also using react-native-navigation. I think it's highly probable that it's RNN issue. But we've to reproduce it first.

"dependencies": {
    "appcenter": "^1.0.1",
    "appcenter-analytics": "^1.0.1",
    "appcenter-crashes": "^1.0.1",
    "async": "^2.4.1",
    "axios": "^0.15.3",
    "immutability-helper": "^2.2.2",
    "invariant": "^2.2.2",
    "lodash": "^4.17.4",
    "moment": "^2.19.2",
    "prop-types": "^15.5.10",
    "react": "16.0.0-beta.5",
    "react-native": "0.49.5",
    "react-native-code-push": "https://github.com/Microsoft/react-native-code-push.git#cccdc1c2de",
    "react-native-collapsible-toolbar": "^0.1.1",
    "react-native-config": "^0.9.0",
    "react-native-facebook-account-kit": "^0.9.0",
    "react-native-fbsdk": "https://github.com/facebook/react-native-fbsdk.git#67d5e6f3b3",
    "react-native-fcm": "^10.0.3",
    "react-native-image-picker": "^0.26.7",
    "react-native-keyboard-aware-scroll-view": "^0.4.1",
    "react-native-material-dropdown": "^0.1.0",
    "react-native-modal-datetime-picker": "^4.13.0",
    "react-native-navigation": "^1.1.274",
    "react-native-photo-view": "^1.5.2",
    "react-native-radio-buttons": "^1.0.0",
    "react-native-sentry": "^0.30.3",
    "react-native-star-rating": "^1.0.8",
    "react-native-vector-icons": "^4.4.2",
    "react-native-version": "^2.3.1",
    "react-redux": "^5.0.3",
    "redux": "^3.6.0",
    "redux-axios-middleware": "^4.0.0",
    "redux-devtools-extension": "^2.13.0",
    "redux-logger": "^3.0.1",
    "redux-persist": "^4.8.0",
    "redux-saga": "^0.15.6"
  }

I have the same crash but it happened only after take picture from camera. I have react-native-image-crop-picker

ImagePicker.openCamera({
            cropping: true,
            width: 300,
            height: 300,
            includeExif: false,
            cropperCircleOverlay: false,
            compressImageMaxWidth: 640,
            compressImageMaxHeight: 480,
            compressImageQuality: 0.5,
        }).then((image: PickerImage) => {
        }).catch(e => console.debug(e));
Android: 4.4.4
Android Build: KTU84P
Manufacturer: Xiaomi
Model: HM NOTE 1S
Thread: Thread-642-642
CrashReporter Key: 53AAF253-78AD-C833-AEE2-5825359AF87D10F89447
Start Date: Tue Dec 05 14:30:15 EET 2017
Date: Tue Dec 05 14:30:15 EET 2017

java.lang.RuntimeException: java.lang.InterruptedException
    at com.facebook.react.common.futures.SimpleSettableFuture.getOrThrow(SimpleSettableFuture.java:102)
    at com.facebook.react.bridge.queue.MessageQueueThreadImpl.startNewBackgroundThread(MessageQueueThreadImpl.java:199)
    at com.facebook.react.bridge.queue.MessageQueueThreadImpl.create(MessageQueueThreadImpl.java:146)
    at com.facebook.react.bridge.queue.ReactQueueConfigurationImpl.create(ReactQueueConfigurationImpl.java:87)
    at com.facebook.react.bridge.CatalystInstanceImpl.<init>(CatalystInstanceImpl.java:105)
    at com.facebook.react.bridge.CatalystInstanceImpl.<init>(CatalystInstanceImpl.java:39)
    at com.facebook.react.bridge.CatalystInstanceImpl$Builder.build(CatalystInstanceImpl.java:569)
    at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:1015)
    at com.facebook.react.ReactInstanceManager.access$600(ReactInstanceManager.java:107)
    at com.facebook.react.ReactInstanceManager$4.run(ReactInstanceManager.java:832)
    at java.lang.Thread.run(Thread.java:841)
Caused by: java.lang.InterruptedException
    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1279)
    at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:202)
    at com.facebook.react.common.futures.SimpleSettableFuture.get(SimpleSettableFuture.java:66)
    at com.facebook.react.common.futures.SimpleSettableFuture.getOrThrow(SimpleSettableFuture.java:100)
"dependencies": {
        "immutability-helper": "^2.4.0",
        "jest-html-reporter": "^0.5.3",
        "moment": "^2.19.2",
        "prop-types": "^15.6.0",
        "q": "^1.5.1",
        "rc-swipeout": "^2.0.4",
        "react": "16.0.0-beta.5",
        "react-native": "0.49.5",
        "react-native-adjust": "^4.11.7",
        "react-native-extended-stylesheet": "^0.8.0",
        "react-native-google-analytics-bridge": "^5.3.3",
        "react-native-i18n": "^2.0.8",
        "react-native-image-crop-picker": "^0.18.1",
        "react-native-maps": "^0.17.1",
        "react-native-navigation": "1.1.284",
        "react-native-pages": "^0.6.1",
        "react-native-parallax-scroll-view": "^0.20.1",
        "react-native-percentage-circle": "^1.0.6",
        "react-native-radio-buttons": "^1.0.0",
        "react-native-root-modal": "^2.1.0",
        "react-native-status-bar-size": "^0.3.2",
        "react-native-svg": "5.5.1",
        "react-native-swipeout": "^2.3.1",
        "react-native-tts": "^1.4.0",
        "react-native-vector-icons": "^4.4.2",
        "react-redux": "^5.0.6",
        "redux": "^3.7.2",
        "redux-create-reducer": "^1.1.1",
        "redux-logger": "^3.0.6",
        "redux-persist": "^4.10.1",
        "redux-thunk": "^2.2.0",
        "remote-redux-devtools": "^0.5.12",
        "uuid": "^3.1.0"
    }

It looks like most of us use react-native-image-picker too

I think people have a mix of react-native-image-picker and react-native-image-crop-picker. Trying to find a solution for this issue as soon as possible as many production app users have experienced this issue after I updated to react-native 0.49.3 but the issue is very intermittent and I am not able to find any defined steps to reproduce the problem in order to debug it.

@guyca at Wix said that they use in MainApplication.java

 @Override
    public boolean clearHostOnActivityDestroy() {
        return false;
    }

in Wix app which fixes a lot of issues when external activities/apps are launched, which might be the issue if you're using a camera component. Has anyone of you using it in your app?

If you do decide to give it a try, you will need to change the app startup as mentioned here for Android.

https://wix.github.io/react-native-navigation/#/android-specific-use-cases?id=compatibility-with-headlessjs

I have updated my app with the above changes and trying to reproduce the bug again. Haven't been successful yet which is a good sign I guess.

Also, I started to see this issue after I updated to RNN .295 from RNN .253. Not sure if that rings a bell for anyone else.

We also have this issue. Looks like it only occur for some devices and only when they open the app from the "google play store".

Our dependencies:

"dependencies": {
    "@mapbox/polyline": "0.2.0",
    "bugsnag-react-native": "2.3.2",
    "date-fns": "1.28.2",
    "lottie-react-native": "^2.2.7",
    "phone": "1.0.12",
    "react": "16.0.0-alpha.12",
    "react-native": "0.48.4",
    "react-native-actionsheet": "2.3.0",
    "react-native-appsflyer": "git://github.com/AppsFlyerSDK/react-native-appsflyer.git",
    "react-native-background-geolocation": "2.9.4",
    "react-native-country-picker-modal": "0.3.0-rc1",
    "react-native-credit-card-input": "0.3.3",
    "react-native-device-info": "0.11.0",
    "react-native-fbsdk": "git://github.com/facebook/react-native-fbsdk.git#065507aa1d2b8b0b6cb50d13117694123f8303fa",
    "react-native-fcm": "8.0.1",
    "react-native-google-analytics-bridge": "5.2.2",
    "react-native-image-crop-picker": "0.18.0",
    "react-native-image-zoom-viewer": "2.0.5",
    "react-native-linear-gradient": "2.2.0",
    "react-native-maps": "0.17.0",
    "react-native-navigation": "^1.1.299",
    "react-native-parallax-view": "2.0.6",
    "react-native-permissions": "1.0.1",
    "react-native-prompt": "1.0.0",
    "react-native-scrollable-tab-view": "0.6.7",
    "react-native-swiper": "1.5.9",
    "react-native-vector-icons": "4.3.0",
    "react-redux": "5.0.5",
    "redux": "3.7.1",
    "redux-logger": "2.10.2",
    "redux-thunk": "2.2.0",
    "remote-redux-devtools": "0.5.12",
    "reselect": "3.0.1",
    "tipsi-stripe": "^4.4.0"
  },

@acintyo this code, cause the app re-launch

@Thadeu What do you mean by app re-launch? When does the app re-launch?

@varungupta85 I also have react-native-image-picker, so after picker the image, my app launch go to Home view.

@varungupta85 True, I get the same behaviour as @Thadeu :O I didn't even know that until his comment.

To be honest though, I'm not sure clearHostOnActivityDestroy is the reason the app gets restarted. Doing more tests.

The good thing is I'm now able to reproduce that error constantly. It happens whenever I try to shoot a new photo by using 'react-native-image-picker'

@Thadeu Ok I think we're getting somewhere with the restarting issue. It's totally irrelevant to the crash. The restarting issue is because the camera intent takes too much memory, and the OS shuts everything else down to allow the camera to take the photo

I use react-native-image-crop-picker and that works without any problems with the fix. I had some other issues with the above fix due to which I have to remove it but those are completely related to my app and not issues in general. So, I am still looking for a fix.

We upgraded to RN 0.51 and still waiting for this crash to happen, but nothing so far which is a good sign I guess.

But doesn't the app restart when you guys take a photo?
If so what settings are you using, are you limiting the size of the photo?

The app restarts whenever the user takes a photo now, no matter if I clearHostOnActivityDestroy or not.

@SudoPlz Same here.

@varungupta85 I'll also try to react-native-image-crop-picker
Thanks for now.

@Thadeu I tried react-native-image-crop-picker today, and it also restarts the app.

@varungupta85 are you using RN 0.51 and react-native-navigation?

@SudoPlz I am using RN 0.49.3 and RNN 1.1.305. I am able to use react-native-image-crop-picker without any problems. I am not sure why does it cause the app to restart in your case. Are you observing it in both development and production? Do you have the Don't keep activities flag turned on?

@varungupta85 don't keep activities is turned off on my phone.

Also, I'm using a Nexus 5X on 8.1.0 and react-native 0.51.0

With react-native-image-crop-picker I received the following error:

E/CAM_StateSavePic: exception while saving result to URI: Optional.of(content://com.test.app.android.provider/app_images/Pictures/image-5900b551-fd35-485e-997b-a8eadfe32b397411249060724805767.jpg)
  java.io.FileNotFoundException: No content provider: content://com.test.app.android.provider/app_images/Pictures/image-5900b551-fd35-485e-997b-a8eadfe32b397411249060724805767.jpg
      at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:1251)
      at android.content.ContentResolver.openOutputStream(ContentResolver.java:1007)
      at android.content.ContentResolver.openOutputStream(ContentResolver.java:983)
      at cys.e(PG:18)
      at cys.b(PG:52)
      at cni.b(PG:13)
      at cni.a(PG:38)
      at cyh.a(PG:5)
      at emm.run(PG:8)
      at android.os.Handler.handleCallback(Handler.java:790)
      at android.os.Handler.dispatchMessage(Handler.java:99)
      at android.os.Looper.loop(Looper.java:164)
      at android.app.ActivityThread.main(ActivityThread.java:6494)
      at java.lang.reflect.Method.invoke(Native Method)
      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

but I'm not sure what I must change.

I'm having same crash, also using react-native-navigation but no react-native-image-crop-picker

A word of caution, because of using clearHostOnActivityDestroy I had trouble using deep links (the splash screen would not get destroyed). Now set it back to true.

anyone has an update for this? I'm also seeing this, and I'm also using react-native-navigation but NOT image-picker or image-cropper

  "dependencies": {
    "apisauce": "^0.14.0",
    "base-64": "^0.1.0",
    "js-md5": "^0.7.2",
    "lottie-react-native": "2.2.7",
    "prop-types": "^15.5.10",
    "protobufjs": "^6.8.0",
    "ramda": "^0.24.1",
    "react": "16.0.0",
    "react-native": "0.47.2",
    "react-native-action-button": "^2.8.1",
    "react-native-code-push": "^5.2.0-beta",
    "react-native-config": "^0.6.0",
    "react-native-device-info": "0.11.0",
    "react-native-fabric": "^0.5.1",
    "react-native-interactable": "^0.1.7",
    "react-native-linear-gradient": "^2.3.0",
    "react-native-maps": "^0.19.0",
    "react-native-navigation": "^1.1.237",
    "react-native-typography": "^1.2.1",
    "react-native-vector-icons": "^4.4.2",
    "react-redux": "^5.0.6",
    "recyclerlistview": "^1.2.2",
    "redux": "v4.0.0-beta.1",
    "redux-form": "^7.1.2",
    "redux-persist": "^5.4.0",
    "redux-saga": "^0.16.0",
    "xstate": "^1.2.1"
  },

this is the relevant part of the adb trace

02-01 07:20:20.834   767  1359 I ActivityManager: Start proc 601:com.esrlabs.csm4/u0a134 for activity com.esrlabs.csm4/com.reactnativenavigation.controllers.NavigationActivity
02-01 07:20:21.298   767  9213 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x34000000 pkg=com.esrlabs.csm4 cmp=com.esrlabs.csm4/.MainActivity} from uid 10134
02-01 07:20:21.814   601   771 E AndroidRuntime: FATAL EXCEPTION: Thread-10
02-01 07:20:21.814   601   771 E AndroidRuntime: Process: com.esrlabs.csm4, PID: 601
02-01 07:20:21.814   601   771 E AndroidRuntime: java.lang.RuntimeException: java.lang.InterruptedException
02-01 07:20:21.814   601   771 E AndroidRuntime:  at com.facebook.react.common.futures.SimpleSettableFuture.getOrThrow(SimpleSettableFuture.java:102)
02-01 07:20:21.814   601   771 E AndroidRuntime:  at com.facebook.react.bridge.queue.MessageQueueThreadImpl.startNewBackgroundThread(MessageQueueThreadImpl.java:199)
02-01 07:20:21.814   601   771 E AndroidRuntime:  at com.facebook.react.bridge.queue.MessageQueueThreadImpl.create(MessageQueueThreadImpl.java:146)
02-01 07:20:21.814   601   771 E AndroidRuntime:  at com.facebook.react.bridge.queue.ReactQueueConfigurationImpl.create(ReactQueueConfigurationImpl.java:87)
02-01 07:20:21.814   601   771 E AndroidRuntime:  at com.facebook.react.bridge.CatalystInstanceImpl.(CatalystInstanceImpl.java:101)
02-01 07:20:21.814   601   771 E AndroidRuntime:  at com.facebook.react.bridge.CatalystInstanceImpl.(CatalystInstanceImpl.java:42)
02-01 07:20:21.814   601   771 E AndroidRuntime:  at com.facebook.react.bridge.CatalystInstanceImpl$Builder.build(CatalystInstanceImpl.java:574)
02-01 07:20:21.814   601   771 E AndroidRuntime:  at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:999)
02-01 07:20:21.814   601   771 E AndroidRuntime:  at com.facebook.react.ReactInstanceManager.access$600(ReactInstanceManager.java:109)
02-01 07:20:21.814   601   771 E AndroidRuntime:  at com.facebook.react.ReactInstanceManager$4.run(ReactInstanceManager.java:802)
02-01 07:20:21.814   601   771 E AndroidRuntime:  at java.lang.Thread.run(Thread.java:764)
02-01 07:20:21.814   601   771 E AndroidRuntime: Caused by: java.lang.InterruptedException
02-01 07:20:21.814   601   771 E AndroidRuntime:  at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1326)
02-01 07:20:21.814   601   771 E AndroidRuntime:  at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:232)
02-01 07:20:21.814   601   771 E AndroidRuntime:  at com.facebook.react.common.futures.SimpleSettableFuture.get(SimpleSettableFuture.java:66)
02-01 07:20:21.814   601   771 E AndroidRuntime:  at com.facebook.react.common.futures.SimpleSettableFuture.getOrThrow(SimpleSettableFuture.java:100)
02-01 07:20:21.814   601   771 E AndroidRuntime:  ... 10 more
02-01 07:20:21.974   601   770 F libc    : Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 770 (HybridData Dest), pid 601 (om.esrlabs.csm4)
02-01 07:20:22.176   807   807 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-01 07:20:22.177   807   807 F DEBUG   : Build fingerprint: 'google/bullhead/bullhead:8.1.0/OPM3.171019.013/4499252:user/release-keys'
02-01 07:20:22.177   807   807 F DEBUG   : Revision: 'rev_1.0'
02-01 07:20:22.177   807   807 F DEBUG   : ABI: 'arm'
02-01 07:20:22.177   807   807 F DEBUG   : pid: 601, tid: 770, name: HybridData Dest  >>> com.esrlabs.csm4 <<<
02-01 07:20:22.177   807   807 F DEBUG   : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
02-01 07:20:22.177   807   807 F DEBUG   : Cause: null pointer dereference
02-01 07:20:22.177   807   807 F DEBUG   :     r0 00000000  r1 cac14054  r2 00000001  r3 cb049f08
02-01 07:20:22.177   807   807 F DEBUG   :     r4 dc706130  r5 cac14054  r6 00000000  r7 cac14350
02-01 07:20:22.177   807   807 F DEBUG   :     r8 00000000  r9 cb426a00  sl 00000000  fp cac140f4
02-01 07:20:22.177   807   807 F DEBUG   :     ip caebaf50  sp cac14040  lr cb018ce5  pc cb018c96  cpsr 800d0030
02-01 07:20:22.178   807   807 F DEBUG   : 
02-01 07:20:22.178   807   807 F DEBUG   : backtrace:
02-01 07:20:22.178   807   807 F DEBUG   :     #00 pc 00015c96  /data/app/com.esrlabs.csm4-xKpHNHR45s7-8AR1fYi2QA==/lib/arm/libreactnativejni.so
02-01 07:20:22.178   807   807 F DEBUG   :     #01 pc 00015ce1  /data/app/com.esrlabs.csm4-xKpHNHR45s7-8AR1fYi2QA==/lib/arm/libreactnativejni.so
02-01 07:20:22.178   807   807 F DEBUG   :     #02 pc 0000d62d  /data/app/com.esrlabs.csm4-xKpHNHR45s7-8AR1fYi2QA==/lib/arm/libfb.so
02-01 07:20:22.178   807   807 F DEBUG   :     #03 pc 0002496f  /data/app/com.esrlabs.csm4-xKpHNHR45s7-8AR1fYi2QA==/oat/arm/base.odex (offset 0x20000)

I believe the issue is with react-native-navigation. There is also related issue on RNN repo - https://github.com/wix/react-native-navigation/issues/2364

Also having this issue using react-native-navigation

I also have this crash, and I am using great-native-navigation, and I do not use the camera or image picker

Also having this issue using react-native-navigation, and I do not use the camera or image picker

I don't see the issue after upgrading react-native to 0.53 and react-native-navigation to 1.1.375.

Thanks for posting this! It looks like you may not be using the latest version of React Native, v0.53.0, released on January 2018. Can you make sure this issue can still be reproduced in the latest version?

I am going to close this, but please feel free to open a new issue if you are able to confirm that this is still a problem in v0.53.0 or newer.

How to Contribute • What to Expect from Maintainers

ok bot...as if upgrading to the latest RN version is such an easy task...

I am getting this error on specific MI devices ( Mi Note 5 MEI7).
Steps to reproduce :
1) Go to settings and then go to app settings.
2) Go to permission
3) Switch on any permission (Location, contact or any other).
4) Open the app
5) keep the app in background and then again switch off the permission
6) Open the app.
Result -> App relaunched and crashed with exception

java.lang.RuntimeException: java.lang.InterruptedException at com.facebook.react.common.futures.SimpleSettableFuture.getOrThrow(SimpleSettableFuture.java:102) at com.facebook.react.bridge.queue.MessageQueueThreadImpl.startNewBackgroundThread(MessageQueueThreadImpl.java:199) at com.facebook.react.bridge.queue.MessageQueueThreadImpl.create(MessageQueueThreadImpl.java:146) at com.facebook.react.bridge.queue.ReactQueueConfigurationImpl.create(ReactQueueConfigurationImpl.java:87) at com.facebook.react.bridge.CatalystInstanceImpl.<init>(CatalystInstanceImpl.java:101) at com.facebook.react.bridge.CatalystInstanceImpl.<init>(CatalystInstanceImpl.java:42) at com.facebook.react.bridge.CatalystInstanceImpl$Builder.build(CatalystInstanceImpl.java:563) at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:978) at com.facebook.react.ReactInstanceManager.access$600(ReactInstanceManager.java:109) at com.facebook.react.ReactInstanceManager$4.run(ReactInstanceManager.java:802) at java.lang.Thread.run(Thread.java:760) Caused by: java.lang.InterruptedException at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1301) at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:203) at com.facebook.react.common.futures.SimpleSettableFuture.get(SimpleSettableFuture.java:66) at com.facebook.react.common.futures.SimpleSettableFuture.getOrThrow(SimpleSettableFuture.java:100) at com.facebook.react.bridge.queue.MessageQueueThreadImpl.startNewBackgroundThread(MessageQueueThreadImpl.java:199)  at com.facebook.react.bridge.queue.MessageQueueThreadImpl.create(MessageQueueThreadImpl.java:146)  at com.facebook.react.bridge.queue.ReactQueueConfigurationImpl.create(ReactQueueConfigurationImpl.java:87)  at com.facebook.react.bridge.CatalystInstanceImpl.<init>(CatalystInstanceImpl.java:101)  at com.facebook.react.bridge.CatalystInstanceImpl.<init>(CatalystInstanceImpl.java:42)  at com.facebook.react.bridge.CatalystInstanceImpl$Builder.build(CatalystInstanceImpl.java:563)  at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:978)  at com.facebook.react.ReactInstanceManager.access$600(ReactInstanceManager.java:109)  at com.facebook.react.ReactInstanceManager$4.run(ReactInstanceManager.java:802)  at java.lang.Thread.run(Thread.java:760)  

Was this page helpful?
0 / 5 - 0 ratings