Loading policy files causes a deadlock when the code is called from external interface
Bug #1072113 reported by
Alessandro Pignotti
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Lightspark |
Confirmed
|
Medium
|
Unassigned |
Bug Description
Since policy files are immediately necessary they are downloading in a blocking manner. Since the download happens using browser provided functionality it will deadlock when invoked from code called as an ExternalInterface callback, since the browser is waiting for an answer and won't deliver the requested file.
A possible solution would be to use internal libcurl to download policy files (the problem only happens for them since they are currently downloaded synchronously). The other possibility is to make policy files download asynchronous, which is seems to be possible by a quick look at the ActionScript spec.
Changed in lightspark: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
To post a comment you must log in.
Commit 554ef9cf is a work-around for an instance of this problem I was seeing in Youtube. It releases the mutex while a policy file is being downloaded. In case of Youtube this seems to be enough from stopping it from hanging. But the general issue is of course not fixed by that commit.