Skip to content
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

Severity 2 error with no Code: a.getAttribute is not a function #3766

Closed
stuartflanagan opened this issue Nov 23, 2021 · 2 comments · Fixed by #3827
Closed

Severity 2 error with no Code: a.getAttribute is not a function #3766

stuartflanagan opened this issue Nov 23, 2021 · 2 comments · Fixed by #3827
Labels
component: DASH The issue involves the MPEG DASH manifest format priority: P1 Big impact or workaround impractical; resolve before feature release status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Milestone

Comments

@stuartflanagan
Copy link

Have you read the FAQ and checked for duplicate open issues?
Yes

What version of Shaka Player are you using?
3.2.1

Can you reproduce the issue with our latest release version?
Locally yes

Can you reproduce the issue with the latest code from master?
I am not sure I cannot build the master version

Are you using the demo app or your own custom app?
Our own custom app

If custom app, can you reproduce the issue using our demo app?
The error is not displayed with the Demo App

What browser and OS are you using?
Chrome Latest

For embedded devices (smart TVs, etc.), what model and firmware version are you using?

What are the manifest and license server URIs?

I will email the manifest. I think the issue will be here but cannot see which attribute the manifest parser is failing on.

What configuration are you using? What is the output of player.getConfiguration()?

Basic Configuration no overrides.

What did you do?

What did you expect to happen?
Content to play without error as it does in the demo player. I am wondering if the error is handled in some way in the demo player?

What actually happened?

Playback starts then a severity 2 error occurs without any Code.
I can ignore the error and playback is fine but our system is set up to close playback on severity 2 errors.
The error reported is:

severity: 2
message: "a.getAttribute is not a function"
@stuartflanagan stuartflanagan added the type: bug Something isn't working correctly label Nov 23, 2021
@shaka-bot shaka-bot added this to the v3.3 milestone Nov 23, 2021
@theodab theodab added component: DASH The issue involves the MPEG DASH manifest format priority: P1 Big impact or workaround impractical; resolve before feature release labels Dec 7, 2021
@theodab
Copy link
Contributor

theodab commented Dec 7, 2021

The DASH parser contains a lot of getAttribute calls. From the sounds of that error, some variable that we expect to contain an Element is somehow containing a non-element. Perhaps we got a text node somewhere in the DOM hierarchy where we were expecting an element node? I don't see any obvious problems of that sort in that sample manifest you provided, though.

Would it be possible to run Shaka Player in uncompiled mode and get a full stack trace?

@bcupac
Copy link
Contributor

bcupac commented Dec 27, 2021

Looks like TTML comments are passed to ttml_parser which is expecting only XML nodes.

TTML to reproduce:

<styling>
<style xml:id="backgroundStyle" tts:fontFamily="proportionalSansSerif" tts:fontSize="18px" tts:textAlign="center" tts:origin="0% 66%" tts:extent="100% 33%" tts:backgroundColor="rgba(0,0,0,0)" tts:displayAlign="center" />
<style xml:id="speakerStyle" style="backgroundStyle" tts:color="white" tts:textOutline="black 1px" tts:backgroundColor="transparent" />
<style xml:id="textStyle" tts:padding="0px" tts:fontSize="3rh" style="speakerStyle" tts:color="white" tts:textOutline="none" tts:backgroundColor="black" />
</styling><layout>
<region xml:id="full" tts:origin="0% 0%" tts:extent="100% 100%" tts:zIndex="1" />
<region xml:id="speaker" style="speakerStyle" tts:zIndex="1" />
<region xml:id="background" style="backgroundStyle" tts:zIndex="0" />
</layout>
</head><body><div>
<!-- text-based TTML -->
</div></body></tt>
<smpte:information smpte:mode="Enhanced" />
<styling>
<style xml:id="backgroundStyle" tts:fontFamily="proportionalSansSerif" tts:fontSize="18px" tts:textAlign="center" tts:origin="0% 66%" tts:extent="100% 33%" tts:backgroundColor="rgba(0,0,0,0)" tts:displayAlign="center" />
<style xml:id="speakerStyle" style="backgroundStyle" tts:color="white" tts:textOutline="black 1px" tts:backgroundColor="transparent" />
<style xml:id="textStyle" tts:padding="0px" tts:fontSize="3rh" style="speakerStyle" tts:color="white" tts:textOutline="none" tts:backgroundColor="black" />
</styling><layout>
<region xml:id="full" tts:origin="0% 0%" tts:extent="100% 100%" tts:zIndex="1" />
<region xml:id="speaker" style="speakerStyle" tts:zIndex="1" />
<region xml:id="background" style="backgroundStyle" tts:zIndex="0" />
</layout>
</head><body><div>
<!-- text-based TTML -->
</div></body></tt>

Screen Shot 2021-12-27 at 9 36 30 PM

theodab pushed a commit that referenced this issue Jan 4, 2022
joeyparrish pushed a commit that referenced this issue Jan 5, 2022
Closes #3766

Backported to v3.0.x

Change-Id: Iff0d66da91c06c49e4b226af522a2cae74b97f2a
@github-actions github-actions bot added the status: archived Archived and locked; will not be updated label Mar 5, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 5, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
component: DASH The issue involves the MPEG DASH manifest format priority: P1 Big impact or workaround impractical; resolve before feature release status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants