proyecto26 / react-native-inappbrowser

📱InAppBrowser for React Native (Android & iOS) 🤘
https://www.npmjs.com/package/react-native-inappbrowser-reborn
MIT License
1.33k stars 228 forks source link

iOS - App randomly crash when invoking openAuth #81

Closed vtx66 closed 4 years ago

vtx66 commented 5 years ago

Hello, randomly our iOS app crash when we invoke this snippet of code: ` const authResult = yield InAppBrowser.openAuth( // yield because we run this over redux saga

    'https://www.example.com/login', // placeholder for our login url
    'myapp://auth', // placeholder for our app link
    {
      dismissButtonStyle: 'cancel',
      enableDefaultShare: false,
      enableUrlBarHiding: true,
      forceCloseOnRedirection: false,
      preferredBarTintColor: '#E7E7E7',
      preferredControlTintColor: 'white',
      readerMode: false,
      secondaryToolbarColor: 'white',
      showTitle: true,
      toolbarColor: '#E7E7E7',
    },
  )

` On crashlytics we obtain:

` EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000000000010

Crashed: com.apple.main-thread 0 MyAppTarget 0x10108f8d4 57-[RNInAppBrowser openAuth:redirectURL:resolver:rejecter:]_block_invoke + 65 (RNInAppBrowser.m:65) 1 SafariServices 0x22e176db0 -[SFAuthenticationSession safariViewController:hostApplicationOpenURL:] + 144 2 SafariServices 0x22e1aee98 -[SFAuthenticationViewController remoteViewController:hostApplicationOpenURL:] + 108 3 SafariServices 0x22e1e9570 -[SFBrowserRemoteViewController willOpenURLInHostApplication:] + 76 4 CoreFoundation 0x21949c900 invoking_ + 144 5 CoreFoundation 0x21937e4d0 -[NSInvocation invoke] + 292 6 libdispatch.dylib 0x218ed57d4 _dispatch_client_callout + 16 7 libdispatch.dylib 0x218ead1ec _dispatch_block_invoke_direct$VARIANT$armv81 + 216 8 FrontBoardServices 0x21be4b040 FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK + 40 9 FrontBoardServices 0x21be4acdc -[FBSSerialQueue _performNext] + 408 10 FrontBoardServices 0x21be4b294 -[FBSSerialQueue _performNextFromRunLoopSource] + 52 11 CoreFoundation 0x219427018 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 24 12 CoreFoundation 0x219426f98 CFRunLoopDoSource0 + 88 13 CoreFoundation 0x219426880 CFRunLoopDoSources0 + 176 14 CoreFoundation 0x2194217bc CFRunLoopRun + 1004 15 CoreFoundation 0x2194210b0 CFRunLoopRunSpecific + 436 16 GraphicsServices 0x21b62179c GSEventRunModal + 104 17 UIKitCore 0x245d9b978 UIApplicationMain + 212 18 MyAppTarget 0x100b62500 main + 14 (main.m:14) 19 libdyld.dylib 0x218ee68e0 start + 4 `

jdnichollsc commented 5 years ago

because yield is for functions generators...

vtx66 commented 5 years ago

Hi @jdnichollsc, since openAuth is invoked in a generator (because of redux-saga) yield will solve the promise, what's wrong with that?

jdnichollsc commented 5 years ago

What version of RN are you using?

vtx66 commented 5 years ago

My rn version is 0.59.8. I'm trying to find a deterministic way to replicate the issue, but seems to happen totally random. About 10% of our iOS users are experimenting this issue

jdnichollsc commented 5 years ago

Let me know 👍

lucatomarelli commented 9 months ago

Any solution for this? We are experiencing the same, with thousands of crashes.