Closed Bug 1102647 Opened 10 years ago Closed 9 years ago

Crash on youtube when switching to 4k with mp4 mediasource enabled.

Categories

(Core :: Audio/Video, defect)

35 Branch
x86_64
Windows 8.1
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla36

People

(Reporter: kasper93, Assigned: mattwoodrow)

References

(Blocks 1 open bug)

Details

Crash Data

Attachments

(2 files)

Nothing more to say, I guess, see crash signature.
Blocks: MSE
Do you have a link to the video this occurred with?
It happens with every 4k video as far as I can tell. If you need link here is one https://www.youtube.com/watch?v=l0ScBVdoUW8
Looks like we assert in MPEG4Source::stop if we haven't been started.

MP4Demuxer::~MP4Demuxer calls stop unconditionally, regardless of if we initialized successfully, so I guess that's why we assert.

We can make that not crash fairly easily, but I need the link in order to debug *why* we fail to init.
Thanks, can reproduce that locally now.
Assignee: nobody → matt.woodrow
Bug 1098126 is going to fix this crash, by making sure we don't try stop the demxuer after it failed to start.
This fixes a debug only assertion where the task queue for the decoder asserts that it has been shutdown.
Attachment #8529408 - Flags: review?(karlt)
This will probably go away once we stop using MPEG4Extractor, but so far it looks like bug 1098126 will still hit this code.
Attachment #8529409 - Flags: review?(ajones)
Attachment #8529409 - Flags: review?(ajones) → review+
Comment on attachment 8529408 [details] [diff] [review]
Part 1: Always shutdown decoders

>+  mInitializedDecoders.RemoveElement(aDecoder);
>+  mDecoders.RemoveElement(aDecoder);
>+
>+  if (mCurrentDecoder == aDecoder) {
>+    DiscardDecoder();
>   }

I would only hold the lock around this, to make it clearer what the lock is
for, and avoid holding the lock longer than necessary, possibly while waiting
for the task queue lock.

(In reply to Matt Woodrow (:mattwoodrow) from comment #6)

> This fixes a debug only assertion where the task queue for the decoder
> asserts that it has been shutdown.

I first wondered what you meant here because the reader's mTaskQueue is shared
with the MediaSourceReader and so is not shut down here, but I see that
MP4Reader's DecoderData's each have their mTaskQueue.
Attachment #8529408 - Flags: review?(karlt) → review+
https://hg.mozilla.org/mozilla-central/rev/2821292e1d16
https://hg.mozilla.org/mozilla-central/rev/d349d0acef0e
Status: UNCONFIRMED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla36
You need to log in before you can comment on or make changes to this bug.