Inconsistent black video

Description
Sometimes when joining calls the screen has black video. It seems to be happen more often lately. But nothing is jumping out as obvious that is causing the issue.

Which version?
5.2.1 (42037.1112)

To Reproduce(If applicable)
Not sure how to reproduce it happens intermittently

Screenshots
Our app: https://i.imgur.com/llzOwn8.png
Default Zoom App: https://i.imgur.com/Ol1H5eb.png

1 Like

Hi @timazed, thanks for the post.

In your post, you mention that this behavior occurs when joining a meeting. However, in your screenshots, the video settings UI is being displayed. Is this only happening in the settings, or is it happening with the settings open while joining a meeting?

Additionally, can you provide some information on how frequently you are observing this behavior?

Thanks!

Hi @jon.lieblich,

It happens both in joining a call and when popping a setting. Our customers are reporting it for big surr 100% of time. I think the same bug was affecting the Zoom official app. I’m seeing reports on twitter saying it was hot fixed with an update it would be great for that to be pushed to the SDK.

Additionally I personally see black video streams show up on Catalina around 30-50% of time. I think there is some weird threading issue happening. I’ve also seen deadlocking happening more recently since the latest sdk release. Sorry for all the issues but the last two releases seem like regressions.

Cheers,
Tim

Hi @timazed, thanks for the additional info.

If this is something that was recently fixed in the Zoom app, typically we will release a fix for the SDK with the next version. If I hear any additional information regarding the fix for this, I will be sure to let you know.

I’ve also seen deadlocking happening more recently since the latest sdk release

Can you clarify where in the SDK you’ve noticed deadlock? Please provide code snippets, if applicable.

Thanks!

Hi @jon.lieblich,

I’ll try to get more concrete data. But the dead locking was previously occurring in the lock/unlock methods of the video open gl layer as reported here App hangs when using custom UI with video

The hotfix in the ticket seemed to work until a recent update that moved to a new implementation using metal. I’m not sure if there was ever actually a fix released. I have concerned that the video layer is expected to be used in a particular way and outside of that particular usage the race condition fires more often.
e.g. Using the view to be rendered in a collectionview rather than custom views where the refresh cycle is managed differently.

Anyway I’ll do my best to capture something and share it.

One note is that I see it happen in release mode rather than debug mode.

Cheers,
Tim

Hi @timazed, thanks for the additional information.

Can you also please provide the version of Xcode used with your application as well as the logs from a session where this error occurs? Preferably, the logs from sessions on both Big Sur and Catalina. :slightly_smiling_face:

Thanks!

Hi Jon,

The issue that I originally opened was to do with big sur. But I’m seeing the occasional black video stream on catalina. I’ve been building with xcode 10 as recommended in the release notes of the SDK. I’ll do my best to capture logs but its very inconsistent.

Cheers,
Tim

Hi @timazed, thanks for the info.

This wouldn’t explain the behavior being present on Catalina, but I just wanted to make sure that you are aware that if the devices on Big Sur have the new M1 chip, they would not be compatible with the SDK yet.

That being said, we have not seen this issue on Catalina at all. Your logs from a session where this is happening will be an invaluable resource in looking into why this behavior is happening sometimes.

Thanks!

Hi @jon.lieblich,

I’ve been able to reproduce the bug in my app pretty consistently. It seems to occur after starting and ending multiple zoom meetings. Here are the zoom logs Crash-Logs.zip - Google Drive that might help your developers track down the issue.

Essentially once it gets into the state where the video is black it won’t render until the video stream is stopped and restarted for that particular user. You just see the name of the user label and a pure black screen. I will try to reproduce it in the demo app.

Cheers,
Tim

Hey @timazed,

Jon is currently out, so I will be taking over this thread until he returns.

Unfortunately, we cannot view the logs you have posted here. Can you, instead, email them to developersupport@zoom.us and include your reproduction steps so that the team can investigate further? Please include a link to this post and/or mention my name.

Also, a developer using the Windows SDK experienced a similar issue, and upgrading to the latest version of the SDK resolved it for him. It might be worth trying in your case. Please note, the latest version is available on Zoom Marketplace and not github.

Thanks!
Michael

Hi @Michael_Condon,

Sorry I must of broken the link. I will upload them again and send a link. Unfortunately I can’t use the latest SDK I’m one behind because chat is broken in the latest SDK which I reported in another ticket.

Cheers,
Tim

Hi @timazed,

In the logs you are going to send over, can you please confirm that your machine is not running the M1 chip?

Thanks!

Hi @jon.lieblich,

Sorry for not getting back to sooner I have been dealing with other issues. This is definitely not an M1 support issue. I am no longer able to produce it consistently but for a short period when it did occure it was causing a crash. Its like it depends on underlying system resource or network connection.

I managed to get a screen shot when the crash occurred which is attached below. This would happen every time a black video was rendered after I would try to cleanup the video.

I hope this is somewhat helpful.

Cheers,
Tim

Hi @timazed,

Sorry for not getting back to sooner I have been dealing with other issues

Absolutely no problem, we’re not going anywhere! :slightly_smiling_face:

I am no longer able to produce it consistently but for a short period when it did occure it was causing a crash

It makes sense that reliability in reproducing this is a problem, given that the initially reported issue was intermittent. Have you upgraded the SDK version at all during this?

I managed to get a screen shot when the crash occurred which is attached below

Thank you for providing this. I will add this to our investigation details.

Thanks!

Hi @jon.lieblich - I saw a new SDK has been released so I will spend sometime upgrading to the latest and see if it helps resolve some of the issues. I’ve been stuck on an older version due to some regressions in chat that was stopping me from upgrading.

Cheers,
Tima

Hi @timazed,

Thank you, please update at your convenience and let me know if you are still experiencing this issue.

I’ve been stuck on an older version due to some regressions in chat that was stopping me from upgrading

We recently released a version of the SDK with fixes made for chat issues, so depending on what your issue was it is possible that it is resolved in the latest version. :slightly_smiling_face:

Thanks!

Hi @timazed,

The crash logs you have provided are no longer accessible. Can you please send the log files to developersupport@zoom.us so that we may continue looking into this?

Thanks!

Hi @jon.lieblich,

I am also seeing the issue with black video intermittently when I upgrade to the latest version of the macOS SDK (v5.4.54802.0124). Creating a video element will sometimes show a black video until the video element is recreated.

I reproduced this issue on an element that would have been created around 2:37:57PM UTC / 9:37:57AM local time in the following app logs:
https://drive.google.com/drive/folders/14CPkBY-9biKIrI-gDFE7liKzsfaJ0OO3?usp=sharing

Hopefully those logs will be helpful in tracking down this issue, but let me know if there’s anything else I can provide to assist. If it’s helpful to know the current version of the macOS SDK I am using where I do not see this issue, it is the version released at the end of Oct 2020: v5.2.41751.1026

Thanks!
Nitin

Hi @nraj,

Sorry to hear you are experiencing a similar issue, and thank you for proactively providing the logs! We will need to investigate what is causing this behavior, but in the meantime I have some questions that may help speed things up:

  • Were any code changes made after upgrading versions?
  • How many users’ videos are being streamed when this occurs?
  • Are you seeing any error codes?

Thanks!

Hi @jon.lieblich,

Thanks for the response! A couple answers to your questions:

  • No code changes, just the SDK update
  • In the instance above, there were 7 videos being streamed
  • No error codes as far as I can tell, but I’ll try to add some extra logging to my app to see if we can find any additional breadcrumbs around the video element creation

Thanks!
Nitin