Answered

iOS SDK - Logout, Login causes 100% CPU Usage

  • 10 January 2024
  • 2 replies
  • 45 views

Since the Intercom iOS SDK began utilizing WebSockets, we have noticed that on occasion, CPU usage jumps to over 100% and there are deadlocks resulting from the Intercom SDK.

When this happens, the lock is due to: `[IntercomSDK_IntercomNexusSocket sendWebSocketMessage:]` as seen here:

 

I am now able to reproduce this reliably with the latest release (and previous), 16.4.0, of the Intercom iOS SDK.

To reproduce on an app set up with the Intercom iOS SDK (I’m doing this on iOS 17.2.1 but it happens on other versions):

  1. Login a user with `Intercom.loginUser(with:)`
  2. Logout the user with `Intercom.logout()`
  3. Login again using the same call in #1

CPU usage will jump up over 100%.  If you pause the debugger at this point, you’ll see a stack trace like the image above.

Please let me know if I can send other information about this issue.

Best,

Adam

icon

Best answer by Erin Rokey 16 January 2024, 16:06

View original

2 replies

Userlevel 2
Badge +4

Hi Adam,

Can you please reach out to us via chat within your workspace, please?

It looks like something that our engineers might want to know about, and it will be easier to keep track of all the updates there.

Hi Mateusz - thanks, I’ve reached out via chat. It appears there’s an issue between the Intercom SDK and our crash detection/logging vendor’s SDK.  Disabling either of those libraries causes the issue to disappear. I believe there’s an open ticket for the issue, and this is being worked on internally by both vendors. Thanks for your follow-up!

 

Reply