Firefox中Flash的奇怪行为(看起来像多线程!)

Firefox中Flash的奇怪行为(看起来像多线程!),flash,actionscript-3,firefox,Flash,Actionscript 3,Firefox,最近,我注意到我的应用程序在FireFox 6中失败(在Chrome中正常工作),堆栈跟踪如下: 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(

最近,我注意到我的应用程序在FireFox 6中失败(在Chrome中正常工作),堆栈跟踪如下:

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()
此堆栈跟踪表明,在上一个处理程序完成之前,已触发SocketProtocol.onSocketData(它是套接字的ProgressEvent.SOCKET_数据事件的事件处理程序)

是否有进一步诊断/调试此问题的方法?最近版本的FireFox如何处理Flash有什么具体的细节吗


更新:这只发生在FireFox 6中。FireFox的早期版本工作正常。

仅根据堆栈跟踪很难知道发生了什么,但我注意到您使用的是
ExternalInterface
ExternalInterface
在与其他通信交互同步调用时,可能会引入间歇性问题。我建议您尝试使用延迟为0毫秒的
setTimeout
使
ExternalInterface
调用异步。

而不是trace,使用一些Loader.load('with trace statements')。把东西上传到网上,然后启动。通常,当我需要在浏览器中调试时,我会这样做。如果有人有更好的解决方案,请分享。我有我的内部跟踪,他们基本上确认在前面的onSocketData()完成之前调用了onSocketData(),这是不应该发生的。您使用任何类型的JS吗?因为我在MacOS上的Safari有些问题。当我使用SwfAddress时,不知怎的,在大约1-1.5秒内的一次呼叫后,我接到了第二个相同的呼叫。我的内容正在重新加载。事件已经是一样的了。可能还有更多类似的问题。我解决了我的问题,检查是否收到了与我再次收到的电话同名的电话->什么也不做。