Closed Bug 1036396 Opened 11 years ago Closed 10 years ago

GMPStorageParent uses the directory service off the main thread

Categories

(Core :: Audio/Video, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla34

People

(Reporter: benjamin, Assigned: cpearce)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

GMPStorageParent "GetGMPStorageDir" uses the directory service off of the main thread, which is completely unsafe and will likely end up crashing with some extensions installed.
Attached patch gmp-dirserviceSplinter Review
Assignee: nobody → benjamin
Status: NEW → ASSIGNED
Attachment #8453124 - Flags: review?(rjesup)
Comment on attachment 8453124 [details] [diff] [review] gmp-dirservice Review of attachment 8453124 [details] [diff] [review]: ----------------------------------------------------------------- SyncRunnable() can be used only if we're certain that the target (MainThread) will never block on sending an event to the source thread (which I believe should be ok; I don't think MainThread will block on the GMPThread). ::: content/media/gmp/GMPStorageParent.cpp @@ +35,5 @@ > + > + nsRefPtr<GetTempDir> r = new GetTempDir(); > + nsCOMPtr<nsIThread> mainThread = do_GetMainThread(); > + mozilla::SyncRunnable::DispatchToThread(mainThread, r); > + ws
Attachment #8453124 - Flags: review?(rjesup) → review+
This only affects EME plugins, OpenH264 doesn't need this.
Blocks: EME
No longer blocks: WebRTC-OpenH264
Component: WebRTC: Audio/Video → Video/Audio
cpearce this fix was based on a prototype patch which hasn't been checked in. I'd like to hand this bug to you to either fold into your existing patch queue or drop if it's no longer needed.
Assignee: benjamin → cpearce
Sure, I got this.
Fixed in bug 1034368.
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla34
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: