Feb 24 2011

Flash Player 10.2 Bug Resolved by ChessCube

Sean

Flash 10.2 is a key part of the Adobe move towards a faster lightweight flash that leverages hardware acceleration. Early indications are that performance is massively enhanced. Flash is also on a critical path to get onto Android and other devices. This is something we at ChessCube are very excited about and support.

Immediately after the release of Flash Player 10.2, ChessCube noticed that users’ Adobe plug-in was crashing. It was particularly bad for our Chrome browser customers as Chrome automatically updates users to the latest version of Flash under the hood.

The diagram below shows the time online of people on our website. Some of our users play online and that is the part that uses Flash.

Just after the first week we can see a divergence of Chrome users as they start to spend less and less time on our site compared to the other browsers, who are, we are certain, on Flash 10.1.

The diagram above shows the length of time users spend online within specific versions of Adobe.

At first we assumed that there were changes to the Adobe system that were not backward compatible. Comprehensive searching on the Internet uncovered that other sites were having issues, but most were not. There were some who advised switching off hardware acceleration on the client – although this has no effect for our users.

The ChessCube tech team embarked on an internal project to replicate the crashed browser in the smallest amount of code and then to see if we could work around the error in Flash 10.2. Download the code here.

Ultimately our team realized that the cause of our crashing was very obscure. It is related to the use of a specific combination of rest arguments and the switch-case statement.

We added a simple try-catch element and, for magical reasons, this prevents the Adobe Plug-in Crash. We released our new version on 23 February, and immediately we see that Flash 10.2 is now working beautifully for ChessCube users.

Feel free to distribute our code to any website that is having a similar problem.