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

Single segment download failure is fatal #131

Closed
jonoward opened this issue Jul 21, 2015 · 3 comments
Closed

Single segment download failure is fatal #131

jonoward opened this issue Jul 21, 2015 · 3 comments
Labels
status: archived Archived and locked; will not be updated type: bug Something isn't working correctly

Comments

@jonoward
Copy link
Contributor

Prior to 1.4, a single segment download failure (i.e. a rejected promise out of RangeRequest) would be retried in Stream.onUpdate. In 1.4 (and latest master) I notice this doesn't seem to be the case. From what I can see it looks like SourceBufferManager.fetch does not reject it's promise if the RangeRequest promise is rejected. I think it's because a rejected promise triggering the "catch" in Task.startNextStage_ is swallowed (only when task is aborted is the promise rejected). So I think SourceBufferManager.fetch is left hanging, with neither resolve of reject funcs being fired. Not 100% sure if my diagnosis is correct though.

I can repro it on http://shaka-player-demo.appspot.com/ , by blocking a segment request just once - this stops future requests from executing, and then player eventually enters a permanent buffering state.

@tdrews
Copy link
Contributor

tdrews commented Jul 21, 2015

Thanks for the report. I have a repro. I'll take a look.

@tdrews tdrews added the type: bug Something isn't working correctly label Jul 21, 2015
@tdrews
Copy link
Contributor

tdrews commented Jul 21, 2015

We should have a patch up soon.

@tdrews tdrews self-assigned this Jul 21, 2015
@tdrews tdrews closed this as completed in 38f70c5 Jul 21, 2015
jonoward pushed a commit to blinkbox/shaka-player that referenced this issue Jul 21, 2015
* Reject Task Promise if one of its stages fails so that the caller's
  catch handler is invoked.
* Use TypedBind consistently in affected Promise chains.

Closes shaka-project#131

Change-Id: I94fa6688949444212fa0b1edd3a94e0de4d6956f
@jonoward
Copy link
Contributor Author

Great, thanks @tdrews, this resolves the issue for us

tdrews pushed a commit that referenced this issue Jul 31, 2015
* Reject Task Promise if one of its stages fails so that the caller's
  catch handler is invoked.
* Use TypedBind consistently in affected Promise chains.

Closes #131

Change-Id: I94fa6688949444212fa0b1edd3a94e0de4d6956f
@shaka-project shaka-project locked and limited conversation to collaborators Mar 22, 2018
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Apr 15, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Projects
None yet
Development

No branches or pull requests

4 participants