Crashing App on Leaving Meeting

I have started a meeting using Android SDK, then on leaving the meeting, app is getting crashed & this is what i get in logcat:
A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xfffffffffffff0 in tid 29770

Steps involved:

  1. Zoom sdk initialization using:
    ZoomSDKInitParams initParams = new ZoomSDKInitParams();
    initParams.domain = Constants.WEB_DOMAIN;
    initParams.appKey = Constants.SDK_KEY;
    initParams.appSecret = Constants.SDK_SECRET;
    mZoomSDK.initialize(context, this, initParams);

  2. Zoom login using sample app’s default method:
    EmailUserLoginHelper.getInstance().login(Constants.USER_EMAIL, Constants.USER_PASSWORD)

  3. Start meeting using:

StartMeetingOptions opts = ZoomMeetingUISettingHelper.getStartMeetingOptions();
opts.no_driving_mode = true;
opts.no_invite = true;
opts.no_meeting_end_message = true;
opts.no_meeting_error_message = true;
opts.no_titlebar = true;
opts.no_bottom_toolbar = true;
opts.no_dial_in_via_phone = true;
opts.no_dial_out_to_phone = true;
opts.no_disconnect_audio = true;
opts.no_record = true;
opts.no_share = true;
opts.no_video = true;
opts.meeting_views_options = MeetingViewsOptions.NO_BUTTON_VIDEO + MeetingViewsOptions.NO_BUTTON_AUDIO +
MeetingViewsOptions.NO_BUTTON_SHARE + MeetingViewsOptions.NO_BUTTON_PARTICIPANTS +
MeetingViewsOptions.NO_BUTTON_MORE + MeetingViewsOptions.NO_TEXT_MEETING_ID +
MeetingViewsOptions.NO_TEXT_PASSWORD + MeetingViewsOptions.NO_BUTTON_SWITCH_CAMERA +
MeetingViewsOptions.NO_BUTTON_SWITCH_AUDIO_SOURCE + MeetingViewsOptions.NO_BUTTON_LEAVE;
opts.invite_options = InviteOptions.INVITE_DISABLE_ALL;
opts.no_unmute_confirm_dialog = true;
opts.no_webinar_register_dialog = true;
opts.no_chat_msg_toast = true;
opts.no_audio = false;

StartMeetingParams4NormalUser params = new StartMeetingParams4NormalUser();
params.meetingNo = meetingNo;
return meetingService.startMeetingWithParams(context, params, opts);

  1. Ending meeting using:
    zoomSDK.getMeetingService().leaveCurrentMeeting(true);
    zoomSDK.getInMeetingService().leaveCurrentMeeting(true);

APP get crashed & give this error in logcat:
A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xfffffffffffff0 in tid 29770

FYI: I am not using video, just using voice…

Crash logs:

Build fingerprint: ‘Xiaomi/kenzo/kenzo:6.0.1/MMB29M/V10.2.1.0.MHOMIXM:user/release-keys’
Revision: ‘0’
ABI: ‘arm64’
pid: 30699, tid: 30699, name: com.live.myapp >>> com.live.myapp <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
x0 00000055b7465240 x1 0000007fce6a36d8 x2 00000056b6a03c31 x3 0000000000000001
x4 0000000000000000 x5 0000000000000001 x6 0000000000000000 x7 0000000000000000
x8 0000000000000000 x9 00000055b6ba72a0 x10 0000000100000001 x11 0000000000000100
x12 0000007f83b21b38 x13 00000055b6c8d790 x14 00000055b61ea000 x15 0000007f83b21b38
x16 0000007f63b14d88 x17 0000007f7f1e1794 x18 0000000000000010 x19 00000056b6a03c31
x20 9a058c63d2502cf3 x21 00000055b6e8ec40 x22 0000007f62e65000 x23 0000000000000000
x24 0000007f62e65000 x25 0000000000000000 x26 0000007fce6a3b70 x27 0000007fce6a3ba0
x28 00000055b6e8f2d0 x29 0000007fce6a3740 x30 0000007f7f1e1800
sp 0000007fce6a36d0 pc 0000000000000000 pstate 0000000080000000

backtrace:
#00 pc 0000000000000000
#01 pc 00000000000977fc /data/app/com.live.myapp-2/lib/arm64/libc++_shared.so (__dynamic_cast+104)
#02 pc 0000000000092094 /data/app/com.live.myapp-2/lib/arm64/libzSdkCore.so
#03 pc 00000000001316cc /data/app/com.live.myapp-2/lib/arm64/libzChatApp.so
#04 pc 0000000000131944 /data/app/com.live.myapp-2/lib/arm64/libzChatApp.so
#05 pc 00000000000f70d0 /data/app/com.live.myapp-2/lib/arm64/libzChatApp.so
#06 pc 00000000000f72bc /data/app/com.live.myapp-2/lib/arm64/libzChatApp.so
#07 pc 000000000013f550 /data/app/com.live.myapp-2/lib/arm64/libzChatApp.so
#08 pc 000000000013fbd8 /data/app/com.live.myapp-2/lib/arm64/libzChatApp.so
#09 pc 00000000000b7764 /data/app/com.live.myapp-2/lib/arm64/libcmmlib.so (_ZN3Cmm17CSBAppIdleHandler6OnIdleEv+24)
#10 pc 00000000000b77cc /data/app/com.live.myapp-2/lib/arm64/libcmmlib.so (_ZN3Cmm11CSBAppProxy19DispatchIdleMessageEv+48)
#11 pc 0000000000095070 /data/app/com.live.myapp-2/lib/arm64/libzChatUI.so (Java_com_zipow_videobox_ptapp_PTApp_dispatchIdleMessageImpl+24)
#12 pc 0000000005d8753c /data/app/com.live.myapp-2/oat/arm64/base.odex (offset 0x2788000) (void com.zipow.videobox.ptapp.PTApp.dispatchIdleMessageImpl()+128)
#13 pc 0000000005d9b520 /data/app/com.live.myapp-2/oat/arm64/base.odex (offset 0x2788000) (void com.zipow.videobox.ptapp.PTApp.dispatchIdleMessage()+68)
#14 pc 0000000003c358a0 /data/app/com.live.myapp-2/oat/arm64/base.odex (offset 0x2788000) (void com.zipow.videobox.VideoBoxApplication$5.run()+452)
#15 pc 0000000074d22d30 /data/dalvik-cache/arm64/system@framework@boot.oat (offset 0x254f000)

Hi @nilefire103,

This may be caused by the fact that you are calling leaveCurrentMeeting twice. It is only necessary to call this method once. Please let me know if you are still experiencing the crash when only calling the method once and we can investigate further.

Thanks!

Yes. I am still getting this issue even after adding the check for leaveCurrentMeeting.

Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x7a00 in tid 31219 (o.podcast.debug), pid 31219 (o.podcast.debug)

Hi @rahul.mishra,

Can you please provide a snippet showing what check you have added for this?

Thanks!

override fun leaveMeeting() {
        Timber.i("leaving meeting 'connected' value : ${zoomSDK.inMeetingService.isMeetingConnected}")
        Timber.i("leaving meeting 'status' value : ${zoomSDK.meetingService.meetingStatus.name}")

        if (zoomSDK.inMeetingService.isMeetingConnected)
            zoomSDK.meetingService?.leaveCurrentMeeting(false)

        onMeetingLeaveComplete(0L)
    }

Also, if we leave the meeting ourself, onMeetingLeaveComplete is not called in that case. But as per my understanding, it should be called with MeetingEndReason. [END_BY_SELF]. Is this okay?

Hi @rahul.mishra,

I don’t see any issues with how you are calling leaveCurrentMeeting. Can you provide the stack trace of the crash you are seeing?

Also, if we leave the meeting ourself, onMeetingLeaveComplete is not called in that case. But as per my understanding, it should be called with MeetingEndReason. [END_BY_SELF]. Is this okay?

I’ve tested this and the callback does seem to be working properly when you leave the meeting programmatically. What version of the SDK are you using? Are you sure that your InMeetingServiceListener is still subscribed by the time you are leaving the meeting?

Thanks!