-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Assertion failed: Wrong error type! #1728
Comments
Note: only occurs with encrypted streams |
@avelad Do you have a way for us to reproduce this? Also, when you say
Could you clarify what you mean? Do you mean, you call |
WebOS 3.5 - Firmware 05.80.10 (latest, with previous firmware the issue is not reproduced) Model: 43UJ670V-ZD In WebOS is reproduced always after load the first encrypted video. Sequence --> Load, reproduce some seconds, load another video. |
@avelad I looking into this right now. I have an idea what could be the problem, but since the compiled version was used, all I have is a class and function. Any chance you could run the uncompliled version? We would get a meaningful line number. |
@vaage Yes, I can run it in the uncompiled version. Tomorrow I will share the result. |
Thank you @avelad, that will help a lot. |
Unload latency:0.096 |
@avelad I have a change in review to address the "Cannot read property 'catch' of undefined" part, once that has been submitted I will ping you and ask that you try master to see if it resolves the issue. Thank you for being so patient and cooperative through this. |
@avelad Could you try running your tests again with master and uncompiled mode? I am hoping that we won't see "Cannot read property 'catch' of undefined". |
@vaage I'm going to try it on Tuesday and I'll tell you the result. Thanks! |
New log: Mounting v3 idb storage cell |
@vaage , Before your change, I could play an encrypted video and then it failed. Now it fails with the first video. |
From Since all I did was change how DrmEngine destroys itself, I have a feeling what was happening before was a race condition that we have now forced to happen synchronously. Some questions to help me figure out what to do next:
|
I’m using “Sintel 4k (multicodec, Widevine)” (Demo asset) It’s reproducible with WebOS 3.5 (often) and Tizen 3 (rarely) |
@avelad I will need a clarification. You have said:
and
I am having a hard time understanding how these two statements work together. Could you explain in a very specific step-by-step manner what you are doing and what you are seeing? |
To me it sounds like: "Before your change, the first playback would succeed, and subsequent playbacks would fail. After your change, the first playback fails. This failure occurs more frequently on WebOS than on Tizen." @avelad, did I get that right? Since we only have a Tizen TV in our lab, we are unable to test on WebOS. Can you provide any details on the differences in behavior on those platforms? |
@joeyparrish / @vaage , I just retested with LG support and now with the change it works! LGModel: 43UJ670V-ZD This model use WebOS 3.5 according to http://webostv.developer.lge.com/discover/webos-tv-platform/web-engine/ is based in Chromium 38 MSE/EME included in WebOS 3.5 (http://webostv.developer.lge.com/discover/webos-tv-platform/supported-media-formats/): Note: with firmware 04.70.50 the problem doesn't happen What happened? With v2.5-beta2:
With nightly version with the commit cb4e352 applied
So far is the problem reported before. How has it been solved? Make a factory reset of TV.
SamsungModel: UE40MU6105 What happened? With v2.5-beta2:
With nightly version with the commit cb4e352 applied
The error is reproduced 1% of the time How has it been solved? I updated the firmware to 1260.6
ConclusionWith the previous comments, I consider that the problem is resolved. Thanks @vaage @joeyparrish, this fix can be included in v2.5.0-beta 3? Do you have any ETA for v2.5.0-beta3? |
I will start cherry-picking changes and updating the change logs. I'm juggling other responsibilities right now, but I should be able to have v2.5.0-beta3 and another v2.4.x bug fix release out by end of next week, Jan 18. |
Thanks for confirming the fix, @avelad, and for your patience! |
We do a lot of tear down in DrmEngine at the same time. While this often works well for common tasks, when tasks focus on different parts, it can introduce some race conditions. This change looks at being a little more strict about the order we do things in DrmEngine destroy. While this does not fix #1728, the hope is that this will correct the "read property 'catch' of undefined". Issue #1728 Backported to v2.4.x Change-Id: Id3cd25b416969ecd75a8cdd6d36959e34673fa1b
Fix cherry-picked for v2.4.6. |
@joeyparrish Any plan to release v2.5.0-beta3? |
@joeyparrish Do you have any ETA for v2.5.0-beta3? |
Sometimes I receive the next error on WebOS or Tizen when call to load multiples times.
Assertion failed: Wrong error type!
load() failed: TypeError: Cannot read property 'catch' of undefined {stack: (...), message: "Cannot read property 'catch' of undefined"} Cannot read property 'catch' of undefined TypeError: Cannot read property 'catch' of undefined
at shaka.media.DrmEngine.destroy (webpack:///../shaka-player/dist/shaka-player.compiled.debug.js?:16:42094)
at eval (webpack:///../shaka-player/dist/shaka-player.compiled.debug.js?:16:398111)
The lines affected are:
https://github.com/google/shaka-player/blob/master/lib/player.js#L946
https://github.com/google/shaka-player/blob/master/lib/media/drm_engine.js#L220
I attach a image with the log:
The text was updated successfully, but these errors were encountered: