EXC_BAD_ACCESS error in 1.3.3

Description
Hi, there. I’ve downloaded the latest version of ZoomVideoSDK 1.3.3. When I’m trying to get one of Zoom’s callbacks I tend to get an error instead:
“Thread 1: EXC_BAD_ACCESS (code=1, address=0x3da7ad330)” at main
This error is 100% reproducible when one of the users leaves session. I don’t get onUserLeave callback, but I do get an error. As a workaround I reverted SDK to the previous version and it works fine.

Which iOS Video SDK version?
1.3.3. The previous version (1.3.2) is stable

Smartphone:

  • Device: both iPhone 12 and Xcode Simulator
  • OS: iOS 15.5

2 Likes

I am seeing the same exact crash. happening in 1.3.3, not happening on 1.3.0, 1.3.1, 1.3.2.

Just tested with v1.4.0 - same crash.

EXC_BAD_ACCESS
addObject: > getCmmUserByUserId: > getUserById: > numberWithUnsignedInt: > removeUser: >
Attempted to dereference garbage pointer 0x165e15957400.

To Reproduce

  • make 3 users join a session
  • trigger a crash on user 1 (call fatalError() for example - or stop execution in Xcode) - the SDK callbacks are not called for user 1 - so user 2 in 3 are still seeing user 1 being part of the session
  • after ~30sec both user 2 and 3 will experience the crash above - the SDK timed out user 1 and tries to remove it casing the crash to happen

@rokgregoric
Thank you for reporting this issue.
It seems your app crashed when you receive the error of Errors_Session_Disconncting(2008), right?
We test with SDK demo app, can’t reproduce the issue of crash, it must have some different operation between your code and SDK Demo code.
Would you mind to give us a call stack of this crash issue or some sample code?
Thanks

@jackie.chen no … the app is not crashing on 2008 … this happens randomly when accessing the user object.

here is a crash stack trace:

Report Version: 104

Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: BUS_NOOP at 0x0000000f013cb770
Crashed Thread: 0

Application Specific Information:
addObject: > getCmmUserByUserId: > getUserById: > numberWithUnsignedInt: > removeUser: > XTUM >
Attempted to dereference garbage pointer 0xf013cb770.

Thread 0 Crashed:
0   libobjc.A.dylib                 0x30332ae20         objc_retain_x0
1   ZoomVideoSDK                    0x10e9ab40c         <redacted>
2   ZoomVideoSDK                    0x10fa0e030         <redacted>
3   ZoomVideoSDK                    0x10fa0f544         <redacted>
4   ZoomVideoSDK                    0x10f9f2748         <redacted>
5   Foundation                      0x3054ca758         __NSFireTimer
6   CoreFoundation                  0x310b2e72c         <redacted>
7   CoreFoundation                  0x310aeada8         <redacted>
8   CoreFoundation                  0x310a8ea48         <redacted>
9   CoreFoundation                  0x310adc39c         <redacted>
10  CoreFoundation                  0x310ae12a4         CFRunLoopRunSpecific
11  GraphicsServices                0x382669368         GSEventRunModal
12  UIKitCore                       0x31512aefc         <redacted>
13  UIKitCore                       0x31512ab60         UIApplicationMain
14  Closer                          0x202828430         main
15  <unknown>                       0x1a8a20948         <redacted>

@rokgregoric
Sorry, one more information needed.
Which SDK version was used of this crash call stack?
And, please give us the full crash call stack, that will be useful for tracking.

Hi @rokgregoric and @veerlorden ,
I am waiting for your crash call stacks and SDK version for debug this issue.
Would you kindle send us this two informations.
Thanks.

v1.3.3 was used used … but v1.4.0 produces the same crash. The crash stack is above.

Hi @rokgregoric ,
The call stack you paste is not enough to analyzing.
If the crash happened when you developing, please input the command “bt” and “image all” and copy the output to us.
If the crash not happened in developing. Please check the device log by Xcode. There have the full crash call stack.
Thanks again for report this issue.

I ran bt all and image list. Here is the log WeTransfer - Send Large Files & Share Photos Online - Up to 2GB Free

Hope this is OK … LMK if you need anything else.

I replicated this simply by running the app from Xcode and after the session has started, re-run the same app without quitting it - Xcode kills it.
When the app restart there is a fantom/zombie user (the old one) still in the session. After around 30sec - when the zombie user times out - it gets disconnected - causing the crash to occur.

Hi @rokgregoric ,
After Engineer analyzing, the SDK you used is 1.3.3.1231 and the SDK is for x86_64 simulator.
Would you please have a try with device SDK of 1.3.3.1231?
And get the “bt” and “image list” output for us.

I tried the way you mention above, but still can’t reproduce, even I used the simulator SDK same as you.

Thanks a lot.

here you go WeTransfer - Send Large Files & Share Photos Online - Up to 2GB Free.
I am running iOS 16.1 - but the same happens on 15.x as well.

Hi @rokgregoric ,

Sorry to bothering you again. We need the log from you app launched to crash happened.
You can normally reproduce the issue.
After crash, you can get the log from Xcode → window → devices and simulators → select device → download containers → and zip the “tmp” folder in the sandbox → send the zip file to us.
Thanks again :slight_smile:

here you go WeTransfer - Send Large Files & Share Photos Online - Up to 2GB Free

I updated the initParams so you have multiple logs inside - I’ve also added crash reports from the device itself. This time it was on iOS 15.7

Hi @rokgregoric ,

Thanks for your great help.
We have some fix codes in next release.

Thanks again.

amazing :heart::heart::heart: … can’t wait :ship:

Hey Jackie, do you have an ETA for the fix ? We would like to plan our release and this issue is holding us back. Thanks