Answered

iOS (React native) Intercom crash, conflict with sentry?

  • 6 February 2024
  • 7 replies
  • 95 views

App is crashing on startup with the following error: 
[ICMBridge startMonitoringCrashes]: unrecognized selector sent to class 0x104edb618

I’ve tried, reseting cache etc, it fails even on clean CI builds.

RN intercom version: 6.4.0 (latest)

I tried manually upgrading the iOS sdk (on the rn podspec) to 16.5.5 but same result.

If I downgrade to latest 5.x it works, and no logs are output as expected, so seems to be that Intercom is now using sentry, but it conflicts with the version we use.

Please provide the Sentry version used, atleast as a quick fix, or make it a dependency of the native iOS podspec
 

objc[56543]: Class SentrySwiftAsyncIntegration is implemented in both /private/var/containers/Bundle/Application/85C2B49D-90F0-4323-B115-A5533DE1419F/[Redacted].app/Frameworks/Intercom.framework/Intercom (0x104ed7de0) and /private/var/containers/Bundle/Application/85C2B49D-90F0-4323-B115-A5533DE1419F/[Redacted].app/[Redacted] (0x101b45590). One of the two will be used. Which one is undefined.
objc[56543]: Class _TtC13SentryPrivate19HTTPHeaderSanitizer is implemented in both /private/var/containers/Bundle/Application/85C2B49D-90F0-4323-B115-A5533DE1419F/[Redacted].app/Frameworks/Intercom.framework/Intercom (0x104ed89e8) and /private/var/containers/Bundle/Application/85C2B49D-90F0-4323-B115-A5533DE1419F/[Redacted].app/[Redacted] (0x101b46190). One of the two will be used. Which one is undefined.
objc[56543]: Class _TtC13SentryPrivate21SentryMXCallStackTree is implemented in both /private/var/containers/Bundle/Application/85C2B49D-90F0-4323-B115-A5533DE1419F/[Redacted].app/Frameworks/Intercom.framework/Intercom (0x104ed8ba0) and /private/var/containers/Bundle/Application/85C2B49D-90F0-4323-B115-A5533DE1419F/[Redacted].app/[Redacted] (0x101b46340). One of the two will be used. Which one is undefined.
objc[56543]: Class _TtC13SentryPrivate17SentryMXCallStack is implemented in both /private/var/containers/Bundle/Application/85C2B49D-90F0-4323-B115-A5533DE1419F/[Redacted].app/Frameworks/Intercom.framework/Intercom (0x104ed8d10) and /private/var/containers/Bundle/Application/85C2B49D-90F0-4323-B115-A5533DE1419F/[Redacted].app/[Redacted] (0x101b464a8). One of the two will be used. Which one is undefined.
objc[56543]: Class _TtC13SentryPrivate13SentryMXFrame is implemented in both /private/var/containers/Bundle/Application/85C2B49D-90F0-4323-B115-A5533DE1419F/[Redacted].app/Frameworks/Intercom.framework/Intercom (0x104ed8f80) and /private/var/containers/Bundle/Application/85C2B49D-90F0-4323-B115-A5533DE1419F/[Redacted].app/[Redacted] (0x101b46710). One of the two will be used. Which one is undefined.
objc[56543]: Class _TtC13SentryPrivate15SentryMXManager is implemented in both /private/var/containers/Bundle/Application/85C2B49D-90F0-4323-B115-A5533DE1419F/[Redacted].app/Frameworks/Intercom.framework/Intercom (0x104ed91f8) and /private/var/containers/Bundle/Application/85C2B49D-90F0-4323-B115-A5533DE1419F/[Redacted].app/[Redacted] (0x101b46980). One of the two will be used. Which one is undefined.
objc[56543]: Class _TtC13SentryPrivate15SwiftDescriptor is implemented in both /private/var/containers/Bundle/Application/85C2B49D-90F0-4323-B115-A5533DE1419F/[Redacted].app/Frameworks/Intercom.framework/Intercom (0x104ed9648) and /private/var/containers/Bundle/Application/85C2B49D-90F0-4323-B115-A5533DE1419F/[Redacted].app/[Redacted] (0x101b46b30). One of the two will be used. Which one is undefined.
objc[56543]: Class _TtC13SentryPrivate12UrlSanitized is implemented in both /private/var/containers/Bundle/Application/85C2B49D-90F0-4323-B115-A5533DE1419F/[Redacted].app/Frameworks/Intercom.framework/Intercom (0x104ed97d0) and /private/var/containers/Bundle/Application/85C2B49D-90F0-4323-B115-A5533DE1419F/[Redacted].app/[Redacted] (0x101b46cb0). One of the two will be used. Which one is undefined.
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[ICMBridge startMonitoringCrashes]: unrecognized selector sent to class 0x104edb618'
*** First throw call stack:
(0x1b2246678 0x1aa4c3c80 0x1b22d6e84 0x1b218bd88 0x1b22cc950 0x1b2189258 0x1b2188c20 0x1b2188b68 0x1b21880b8 0x1b111e704 0x1b459786c 0x1b459676c 0x1b45963b8 0x1b4512ee0 0x1b459a3b4 0x1b44c1e48 0x1b44c08c0 0x1b44c0228 0x1b44c00f8 0x1b44c0000 0x1b44bf888 0x1b44bf538 0x1b4843270 0x1b44be6bc 0x1b44be52c 0x1b45d6c98 0x1b45d6a30 0x1ca6156d4 0x1ca615570 0x1ca61419c 0x1ca61ff8c 0x1ba15a300 0x1ba15dd48 0x1ca610520 0x1ca6104a0 0x1ca610378 0x1b21910ac 0x1b2190328 0x1b218eb3c 0x1b218d818 0x1b218d3f8 0x1f573b4f8 0x1b45b38a0 0x1b45b2edc 0x100e362f0 0x1d4eeedcc)
libc++abi: terminating due to uncaught exception of type NSException

 

icon

Best answer by Ebenezer.Laleye 21 February 2024, 17:05

View original

7 replies

Userlevel 4
Badge +5

Hi @Filipe Fernandes !

Thanks for reporting this! I can see that you’ve chatted with my teammate Mat in Support and he opened up an issue with our Product Team so they can look into it. He’ll reach out to you when there’s an update from the team. I’ll keep an eye on things as well and add any updates here once I have any!

We experience the same issue. We don’t use React Native, we use Intercom SDK for iOS, version 16.5.5. I’m unable to reproduce this crash on my device, but according to Crashlytics, almost 2% of our users experienced this crash.

We had Sentry integration in our app, but when we got rid of it, the crash remained.

Same issue here. Native iOS. 

Also facing a crash on startup on iOS with RN intercom version: 6.4.0

Badge +2

Hi @kironet, @Aleksandr Anosov and @gcottrell1 ! Ebenezer here from Engineering Support👋.

Thanks for bringing your individual cases to our attention, the R&D team is working on a fix for this and will let us know when there any updates.

Thank you for your patience🙏 

An ios release 16.5.8 was made, that claims to fix the issue but I am still getting it nonetheless. Can the team explain what steps have been taken to solve the issue? Also more details arround the issue? Possible workarrounds?? 

NSInvalidArgumentException: +[ICMBridge startMonitoringCrashes]: unrecognized selector sent to class 0x1063a8860

Temporary worked around it with a delay, since with react native viewDidLoad was not an option. 1 Second was not enough 

 

  dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

    [IntercomModule initialize:@"ios_sdk-asd" withAppId:@"asdf"];

});

 

Removed: [IntercomModule setDeviceToken:deviceToken];  and call it on RN side instead, otherwise it also needs a timeout. 

Reply