Closed Bug 1304910 Opened 8 years ago Closed 8 years ago

[e10s] URL.createObjectURL asserts if used with a blob backed by nsTemporaryFileInputStream

Categories

(Core :: DOM: Core & HTML, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla52
Tracking Status
e10s ? ---
firefox52 --- fixed

People

(Reporter: jdm, Assigned: baku)

References

Details

Attachments

(3 files)

Attached file Backtrace (deleted) —
STR: 1. use MediaRecorder to grab video that exceeds media.recorder.max_memory bytes 2. call URL.createObjectURL on the resulting blob The result in a debug build is a child process assertion that often takes down the browser process too. I'm not sure what happens in a non-debug build yet.
I discovered this while fixing bug 1167730, since solving the crash there exposes this assertion in a debug build on air.mozilla.org when uploading a recording.
I spent some time trying to figure out this code, but it's way outside my realm of experience and it's probably more efficient for people who know the blob code to figure out what the right solution is here.
Flags: needinfo?(amarchesini)
Is this a duplicate of bug 1167730 ? If not I'll take a look when you cancel the NI request.
Flags: needinfo?(amarchesini) → needinfo?(josh)
No. This was uncovered by fixing bug 1167730.
Flags: needinfo?(josh)
Assignee: nobody → amarchesini
nsTemporaryFileInputStream must implement nsIAsyncInputStream interface.
Attached patch just a test (deleted) — Splinter Review
This test now works. I guess it's because of bug 1167730. In that bug you make nsTemporaryFileStream a nsIIPCSerializableInputStream. This means that we change the workflow here: https://dxr.mozilla.org/mozilla-central/source/ipc/glue/IPCStreamUtils.cpp#126
Attachment #8795193 - Flags: review?(josh)
Huh, you're right. Air Mozilla works now too. I guess something about the second patch fixed it for some reason? It was definitely triggering with the first patch in bug 1167730 applied.
Comment on attachment 8795193 [details] [diff] [review] just a test Review of attachment 8795193 [details] [diff] [review]: ----------------------------------------------------------------- ::: dom/media/test/mochitest.ini @@ +929,5 @@ > [test_background_video_no_suspend_short_vid.html] > tags = suspend > [test_background_video_no_suspend_disabled.html] > tags = suspend > +[test_bug1304910.html] Let's give this a real name like test_temporary_file_blob_video_plays.html.
Attachment #8795193 - Flags: review?(josh) → review+
Pushed by amarchesini@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/78726bd7bb0b Adding a test about nsTemporaryFileInputStream and PSendStream, r=jdm
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla52
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: