开发者

Strange behavior of Flash in Firefox (looks like multithreading!)

Recently I've noticed that my application stated failing in FireFox 6 (works ok in Chrome) with following stack trace:

Error: Error #2058: There was an error decompressing the data.
    at flash.utils::ByteArray/_uncompress()
    at flash.utils::ByteArray/uncompress()
    at com.***.client::SocketProtocol/onSocketData()
    at flash.external::ExternalInterface$/_evalJS()
    at flash.external::ExternalInterface$/call()
    at com.***.client.utils::Browser$/openNewWindow()
    at com.***.client::XpraClient/newWindowHandler()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at com.***.client.xpra::Protocol/processMessage()
    at com.***.client.xpra::SocketProtocol/onSocketData()

This stack trace suggests that SocketProtocol.onSocketData (which is an event handler for ProgressEvent.SOCKET_DATA event of a Socket) is fired before previous handler completes.

Is 开发者_JS百科there a way to further diagnose/debug this problem? Is there any specifics in how recent versions of FireFox handle Flash?

UPDATE: This only happens in FireFox 6. Previous versions of FireFox work fine.


It's hard to know what's going on based on just a stack trace, but I notice you're using ExternalInterface. ExternalInterface can introduce intermittent problems when called synchronously in conjunction with other communication interactions. I recommend you try using setTimeout with a delay of 0 msec to make your ExternalInterface call asynchronous.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜