Dima Malenko
Dima Malenko

Reputation: 2835

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 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.

Upvotes: 0

Views: 381

Answers (1)

N Rohler
N Rohler

Reputation: 4615

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.

Upvotes: 1

Related Questions