Closed Bug 1586328 Opened 5 years ago Closed 5 years ago

Intermittent dom/media/test/test_mediarecorder_record_getdata_afterstart.html | should have had start event first

Categories

(Core :: Audio/Video: Recording, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla71
Tracking Status
firefox-esr60 --- unaffected
firefox-esr68 --- unaffected
firefox69 --- unaffected
firefox70 --- unaffected
firefox71 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: pehrsons)

References

(Regression)

Details

(Keywords: intermittent-failure, regression)

Attachments

(1 file)

Filed by: nbeleuzu [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=269761889&repo=autoland
Full log: https://queue.taskcluster.net/v1/task/K_hfM6mGTV2v7oZrPqdPJA/runs/0/artifacts/public/logs/live_backing.log
Reftest URL: https://hg.mozilla.org/mozilla-central/raw-file/tip/layout/tools/reftest/reftest-analyzer.xhtml#logurl=https://queue.taskcluster.net/v1/task/K_hfM6mGTV2v7oZrPqdPJA/runs/0/artifacts/public/logs/live_backing.log&only_show_unexpected=1


[task 2019-10-04T11:28:12.285Z] 11:28:12 INFO - TEST-PASS | dom/media/test/test_mediarecorder_record_getdata_afterstart.html | Media recorder stream = element stream at the start of recording
[task 2019-10-04T11:28:12.285Z] 11:28:12 INFO - ondataavailable fired successfully
[task 2019-10-04T11:28:12.286Z] 11:28:12 INFO - Buffered messages finished
[task 2019-10-04T11:28:12.287Z] 11:28:12 INFO - TEST-UNEXPECTED-FAIL | dom/media/test/test_mediarecorder_record_getdata_afterstart.html | should have had start event first
[task 2019-10-04T11:28:12.287Z] 11:28:12 INFO - SimpleTest.ok@SimpleTest/SimpleTest.js:277:18
[task 2019-10-04T11:28:12.288Z] 11:28:12 INFO - startTest/mMediaRecorder.ondataavailable@dom/media/test/test_mediarecorder_record_getdata_afterstart.html:57:9
[task 2019-10-04T11:28:12.288Z] 11:28:12 INFO - EventHandlerNonNullstartTest@dom/media/test/test_mediarecorder_record_getdata_afterstart.html:53:3
[task 2019-10-04T11:28:12.288Z] 11:28:12 INFO - MediaTestManager/this.nextTest@dom/media/test/manifest.js:1816:12
[task 2019-10-04T11:28:12.289Z] 11:28:12 INFO - MediaTestManager/this.runTests/<@dom/media/test/manifest.js:1736:12
[task 2019-10-04T11:28:12.290Z] 11:28:12 INFO - Async
MediaTestManager/this.runTests@dom/media/test/manifest.js:1735:19
[task 2019-10-04T11:28:12.290Z] 11:28:12 INFO - @dom/media/test/test_mediarecorder_record_getdata_afterstart.html:76:9
[task 2019-10-04T11:28:12.290Z] 11:28:12 INFO - TEST-PASS | dom/media/test/test_mediarecorder_record_getdata_afterstart.html | blob's mimeType matches the recorder's
[task 2019-10-04T11:28:12.291Z] 11:28:12 INFO - onstart fired successfully
[task 2019-10-04T11:28:12.292Z] 11:28:12 INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-10-04T11:28:12.292Z] 11:28:12 INFO - TEST-UNEXPECTED-FAIL | dom/media/test/test_mediarecorder_record_getdata_afterstart.html | MediaRecorder mimetype as expected - got "", expected "audio/ogg; codecs=opus"
[task 2019-10-04T11:28:12.293Z] 11:28:12 INFO - SimpleTest.is@SimpleTest/SimpleTest.js:322:16
[task 2019-10-04T11:28:12.293Z] 11:28:12 INFO - startTest/mMediaRecorder.onstart@dom/media/test/test_mediarecorder_record_getdata_afterstart.html:41:7
[task 2019-10-04T11:28:12.293Z] 11:28:12 INFO - EventHandlerNonNullstartTest@dom/media/test/test_mediarecorder_record_getdata_afterstart.html:38:3
[task 2019-10-04T11:28:12.294Z] 11:28:12 INFO - MediaTestManager/this.nextTest@dom/media/test/manifest.js:1816:12
[task 2019-10-04T11:28:12.294Z] 11:28:12 INFO - MediaTestManager/this.runTests/<@dom/media/test/manifest.js:1736:12
[task 2019-10-04T11:28:12.294Z] 11:28:12 INFO - Async
MediaTestManager/this.runTests@dom/media/test/manifest.js:1735:19
[task 2019-10-04T11:28:12.295Z] 11:28:12 INFO - @dom/media/test/test_mediarecorder_record_getdata_afterstart.html:76:9
[task 2019-10-04T11:28:12.295Z] 11:28:12 INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-10-04T11:28:12.297Z] 11:28:12 INFO - TEST-UNEXPECTED-FAIL | dom/media/test/test_mediarecorder_record_getdata_afterstart.html | uncaught exception - InvalidStateError: The MediaRecorder is inactive at startTest/mMediaRecorder.onstart@http://mochi.test:8888/tests/dom/media/test/test_mediarecorder_record_getdata_afterstart.html:43:20
[task 2019-10-04T11:28:12.297Z] 11:28:12 INFO - EventHandlerNonNullstartTest@http://mochi.test:8888/tests/dom/media/test/test_mediarecorder_record_getdata_afterstart.html:38:3
[task 2019-10-04T11:28:12.297Z] 11:28:12 INFO - MediaTestManager/this.nextTest@http://mochi.test:8888/tests/dom/media/test/manifest.js:1816:12
[task 2019-10-04T11:28:12.297Z] 11:28:12 INFO - MediaTestManager/this.runTests/<@http://mochi.test:8888/tests/dom/media/test/manifest.js:1736:12
[task 2019-10-04T11:28:12.298Z] 11:28:12 INFO - Async
MediaTestManager/this.runTests@http://mochi.test:8888/tests/dom/media/test/manifest.js:1735:19
[task 2019-10-04T11:28:12.298Z] 11:28:12 INFO - @http://mochi.test:8888/tests/dom/media/test/test_mediarecorder_record_getdata_afterstart.html:76:9
[task 2019-10-04T11:28:12.298Z] 11:28:12 INFO -
[task 2019-10-04T11:28:12.299Z] 11:28:12 INFO - simpletestOnerror@SimpleTest/SimpleTest.js:1667:24
[task 2019-10-04T11:28:12.299Z] 11:28:12 INFO - OnErrorEventHandlerNonNull*@SimpleTest/SimpleTest.js:1647:1
[task 2019-10-04T11:28:12.300Z] 11:28:12 INFO - GECKO(17365) | JavaScript error: http://mochi.test:8888/tests/dom/media/test/test_mediarecorder_record_getdata_afterstart.html, line 43: InvalidStateError: The MediaRecorder is inactive
[task 2019-10-04T11:28:12.301Z] 11:28:12 INFO - Test timed out. Remaining tests=detodos-recorder-test.opus-0
[task 2019-10-04T11:28:12.301Z] 11:28:12 INFO - GECKO(17365) | MEMORY STAT | vsize 2665MB | residentFast 166MB | heapAllocated 28MB
[task 2019-10-04T11:28:12.302Z] 11:28:12 INFO - ondataavailable fired successfully
[task 2019-10-04T11:28:12.302Z] 11:28:12 INFO - TEST-OK | dom/media/test/test_mediarecorder_record_getdata_afterstart.html | took 112ms

Flags: needinfo?(Pherson) → needinfo?(apehrson)
Regressed by: 1512175
Assignee: nobody → apehrson
Status: NEW → ASSIGNED
Flags: needinfo?(apehrson)
Priority: P5 → P2
Component: Audio/Video → Audio/Video: Recording
See Also: → 1586248

The first call to Extract() comes from MediaEncoderInitialized() and runs before
we dispatch the task to fire "start". With a very small timeslice (even 0), the
first call to Extract() could decide to push a blob, which is against the spec.

With this patch, the caller is in control of what time Extract() thinks "now"
is. This lets the particular call from MediaEncoderInitialized() gather data
into the blob through Extract() without being at risk of pushing a blob.

Pushed by pehrsons@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/e7b3b38bb160
Make Extract take an aNow argument to avoid pushing a blob the very first call. r=bryce
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla71
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: