16 August 2011

Flash Player 10.3.183.5 AS1 Shared Library Bug

I came across a critical bug in Flash Player 10.3.183.5, a security update that was released on Thursday 11th August 2011.

Basically, if you use shared libraries from circa Flash 6 / AS1 with a 2 frame preloader that uses either nextFrame() and/or gotoAndPlay(1), the whole containing swf movie will unload itself and you're left with a blank screen.

Here's the detail:
http://forums.adobe.com/message/3865740
https://bugbase.adobe.com/index.cfm?event=bug&id=2940617

Google Chrome users get Flash updated immediately and automatically and were the first to call tech support. The legacy games would load and then... nothing! Calls from IE and FF users soon followed. As we have lots and lots of swfs for old games still in use, a mild wave of panic started to fill the office.

Luckily the fix is simple, it's just a case of altering the preloader by removing the offending nextFrame() or gotoAndPlay(1). We ended up removing the preloader entirely as the 40k file size of the shared library is tiny by today's standards. Unfortunately for us, we had to do this on 400+ fla's, test them and release them as a hotfix to our clients.

Another cracking update from Adobe! In the UK, this is known as "dropping a bollock!"

2 comments:

SgtWilko said...

This bug is a lot worse for some of us.
Any use of functions that control the flow can cause the Movie Not Loaded problem when you have a sharedLibrary item on stage.

e.g.,
prevFrame, nextFrame, gotoAndStop, play, etc.

It's not just limited to pre-loaders, it's anything that has code either on the frame that moves to a different frame, or code that is in the enterFrame event.

We have several hundred files that make up the UI to our application that have code doing just this. Not a quick fix, nor simple...

SgtWilko said...

And a fix has just been released!

10.3.183.7 is available now, however users already on 10.3.183.5 will not auto update so this problem may be around for a while yet...