Bug 118535

Summary: Some Java plugin instances can deadlock with the WebProcess on NPP_Destroy
Product: WebKit Reporter: Brady Eidson <beidson>
Component: WebKit2Assignee: Brady Eidson <beidson>
Status: RESOLVED FIXED    
Severity: Normal CC: andersca
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
Patch v1 ap: review+

Brady Eidson
Reported 2013-07-10 11:07:07 PDT
Some Java plugin instances can deadlock with the WebProcess on NPP_Destroy The newest official Java plugin does some of its NPP_Destroy cleanup work on a background thread. This includes calling NP_Deallocate on an NPObject on that background thread. Doing that is unsupported, has undefined behavior, and as of http://trac.webkit.org/changeset/139514 will cause a deadlock. Since we can't fix the Java plugin and since this is during plugin teardown anyways, we can marshall the destruction back to the main thread. In radar as <rdar://problem/14286390>
Attachments
Patch v1 (1.79 KB, patch)
2013-07-10 11:23 PDT, Brady Eidson
ap: review+
Brady Eidson
Comment 1 2013-07-10 11:23:04 PDT
Created attachment 206400 [details] Patch v1
Alexey Proskuryakov
Comment 2 2013-07-10 11:25:22 PDT
Comment on attachment 206400 [details] Patch v1 Perhaps add some pointers to why we have such a hack, and only in one place?
Brady Eidson
Comment 3 2013-07-10 11:35:18 PDT
Note You need to log in before you can comment on or make changes to this bug.