Closed Bug 1104410 Opened 10 years ago Closed 10 years ago

Crash when seeking in MSE WebM video

Categories

(Core :: Audio/Video, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla36

People

(Reporter: cajbir, Assigned: cajbir)

References

Details

Attachments

(1 file)

This is a regression. Steps to reproduce: 1) Go to http://www.youtube.com/watch?v=3V7wWemZ_cs 2) Wait for playback to start 3) Seek to 3:28 Expected result: 4) Seek completes and playback continues Actual result: 4) Crash in media decode thread resulting in seek hanging. Stack trace: #0 0x00007f223dc759bd in nanosleep () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007f223dc75854 in __sleep (seconds=0) at ../sysdeps/unix/sysv/linux/sleep.c:137 #2 0x00007f22393d8c40 in ah_crap_handler (signum=11) at /home/chris/src/mse/toolkit/xre/nsSigHandlers.cpp:101 #3 0x00007f22393cbcc7 in nsProfileLock::FatalSignalHandler (signo=11, info=0x7f2218aac6b0, context=0x7f2218aac580) at /home/chris/src/mse/profile/dirserviceprovider/nsProfileLock.cpp:190 #4 <signal handler called> #5 0x00007f2238981352 in mozilla::WebMReader::SeekInternal (this=0x7f220aab0000, aTarget=208613281, aStartTime=0) at dom/media/webm/WebMReader.cpp:976 #6 0x00007f223897c6fd in mozilla::WebMReader::Seek (this=0x7f220aab0000, aTarget=<optimized out>, aStartTime=<optimized out>, aEndTime=<optimized out>, aCurrentTime=<optimized out>) at dom/media/webm/WebMReader.cpp:969 #7 0x00007f2238928b02 in mozilla::MediaSourceReader::AttemptSeek (this=0x7f220600d000) at dom/media/mediasource/MediaSourceReader.cpp:536 #8 0x00007f2238929917 in nsRunnableMethodImpl<void (mozilla::MediaSourceReader::*)(), void, true>::Run (this=<optimized out>) at ../../../dist/include/nsThreadUtils.h:388 #9 0x00007f22388cc3be in mozilla::MediaTaskQueue::Runner::Run (this=0x7f221566ca40) at dom/media/MediaTaskQueue.cpp:194 #10 0x00007f22376a50c6 in nsThreadPool::Run (this=0x7f220e7abed0) at xpcom/threads/nsThreadPool.cpp:220
Blocks: MSE
Might be a regression from bug 922314, if line 976 is: nsresult rv = mVideoDecoder->Flush(); ...in your tree. That needs to be wrapped with an if (mVideoDecoder) {} since an audio-only stream won't have a video decoder.
(In reply to Matthew Gregan [:kinetik] from comment #1) > Might be a regression from bug 922314, if line 976 is: > > nsresult rv = mVideoDecoder->Flush(); > > ...in your tree. > > That needs to be wrapped with an if (mVideoDecoder) {} since an audio-only > stream won't have a video decoder. Yes, it was a regression from bug 922314. Works before that landed, crashes after.
Attached patch FixSplinter Review
Fix as per comment 1.
Assignee: nobody → cajbir.bugzilla
Status: NEW → ASSIGNED
Attachment #8528111 - Flags: review?(kinetik)
Attachment #8528111 - Flags: review?(kinetik) → review+
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla36
Blocks: 922314
No longer blocks: MSE
Would it be possible to add a testcase for this bug? It seems to have affected a lot of people.
Flags: needinfo?(kinetik)
Flags: in-testsuite?
(In reply to Bill McCloskey (:billm) from comment #9) > Would it be possible to add a testcase for this bug? It seems to have > affected a lot of people. Yeah, I pushed something to try: https://treeherder.mozilla.org/ui/#/jobs?repo=try&revision=58bd8a5d5972 If that's green, I'll land it on inbound soon.
Flags: needinfo?(kinetik)
(In reply to Matthew Gregan [:kinetik] from comment #12) > If that's green, I'll land it on inbound soon. https://hg.mozilla.org/integration/mozilla-inbound/rev/49f9502a978e
Flags: in-testsuite? → in-testsuite+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: