Skip to content

Firebase Crash facebook::react::RNAirshipMessageViewEventEmitter::onLoadFinished(...) #680

@Neelu1112

Description

@Neelu1112

After migrating to react-native 0.79 and urban airship to 24.x, below crashes are getting logged on firebase for iOS.
Same crash is not replicable on device or debug mode.

Crashed: com.apple.main-thread
0  mobile_app_prod                0xc0bc7c facebook::react::EventEmitter::dispatchEvent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::shared_ptr<facebook::react::EventPayload const>, facebook::react::RawEvent::Category) const + 1456 (shared_ptr.h:1456)
1  mobile_app_prod                0xc0ba54 facebook::react::EventEmitter::dispatchEvent(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&)> const&, facebook::react::RawEvent::Category) const + 647 (shared_ptr.h:647)
2  mobile_app_prod                0xf04ab8 facebook::react::RNAirshipMessageViewEventEmitter::onLoadFinished(facebook::react::RNAirshipMessageViewEventEmitter::OnLoadFinished) const + 395 (function.h:395)
3  mobile_app_prod                0xf0e620 -[RNAirshipMessageView dispatchOnLoadFinishedEvent:] + 1773 (string:1773)
4  mobile_app_prod                0xf2a4e4 specialized _MessageWebViewWrapper.webView(_:didFinish:) + 201 (MessageWebViewWrapper.swift:201)
5  mobile_app_prod                0xf29d20 @objc _MessageWebViewWrapper.webView(_:didFinish:) + 111324 (<compiler-generated>:111324)
6  mobile_app_prod                0x53dea0 NativeBridge.webView(_:didFinish:) + 239 (NativeBridge.swift:239)
7  mobile_app_prod                0x53ed30 @objc NativeBridge.webView(_:didFinish:) + 4384140592
8  WebKit                         0x6b54c8 <redacted> + 152
9  WebKit                         0xa2be7c <redacted> + 1108
10 WebKit                         0x1c47d4 <redacted> + 7304
11 WebKit                         0x73f40 <redacted> + 264
12 WebKit                         0x162c7c <redacted> + 40
13 WebKit                         0x1623b4 <redacted> + 1608
14 WebKit                         0x73298 <redacted> + 268
15 WebKit                         0x72dc4 <redacted> + 528
16 JavaScriptCore                 0xdb00 WTF::RunLoop::performWork() + 524
17 JavaScriptCore                 0xd744 WTF::RunLoop::performWork(void*) + 36
18 CoreFoundation                 0xf92c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
19 CoreFoundation                 0xf744 __CFRunLoopDoSource0 + 172
20 CoreFoundation                 0xf5a0 __CFRunLoopDoSources0 + 232
21 CoreFoundation                 0xff20 __CFRunLoopRun + 840
22 CoreFoundation                 0x11adc CFRunLoopRunSpecific + 572
23 GraphicsServices               0x1454 GSEventRunModal + 168
24 UIKitCore                      0x135274 -[UIApplication _run] + 816
25 UIKitCore                      0x100a28 UIApplicationMain + 336
26 UIKitCore                      0x1e2168 __51-[UIStatusBar_Base _setHidden:animationParameters:]_block_invoke_4 + 180
27 mobile_app_prod                0x9840 main + 4378679360 (AppDelegate.swift:4378679360)
28 ???                            0x1c6259f08 (Missing)

Package.json

"@ua/react-native-airship": "24.4.0",
"react-native": "0.79.2",

AppDelegate.swift

//
//  AppDelegate.swift
//  mobile_app
//
//

import UIKit
import React
import React_RCTAppDelegate
import ReactAppDependencyProvider
import Firebase
import FirebaseRemoteConfig
//import RNSplashScreen
import RNBootSplash 
 
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
  var window: UIWindow?
 
  var reactNativeDelegate: ReactNativeDelegate?
  var reactNativeFactory: RCTReactNativeFactory?
 
  func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
  ) -> Bool {
    let delegate = ReactNativeDelegate()
    let factory = RCTReactNativeFactory(delegate: delegate)
    delegate.dependencyProvider = RCTAppDependencyProvider()
 
    reactNativeDelegate = delegate
    reactNativeFactory = factory

    // Configure Firebase
    FirebaseApp.configure()
 
    window = UIWindow(frame: UIScreen.main.bounds)
 
    factory.startReactNative(
      withModuleName: "mobile_app",
      in: window,
      launchOptions: launchOptions
    )

    // Show splash screen
    //RNSplashScreen.show()
 
    return true
  }
}
 
class ReactNativeDelegate: RCTDefaultReactNativeFactoryDelegate {
  override func sourceURL(for bridge: RCTBridge) -> URL? {
    self.bundleURL()
  }
 
 override func customize(_ rootView: RCTRootView) {
    super.customize(rootView)
    RNBootSplash.initWithStoryboard("LaunchScreen", rootView: rootView) // ⬅️ initialize the splash screen
  }
  override func bundleURL() -> URL? {
#if DEBUG
    return RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "index")
#else
    return Bundle.main.url(forResource: "main", withExtension: "jsbundle")
#endif
  }
}


Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions