Note: This issue was completely resolved in the 11/17/2008 Flash CS4 update. Scroll to the bottom for more final update to this post.
For those that don't know this issue in Flash CS3, here is the briefest summary: it SUCKS.
White Screen of Death is the issue where your compiled application will run no code. Throw a trace statement on line 1 of frame 1, and nothing. This has happened here at Electrotank on at least 3 projects, each of which has hundreds of classes (in CS3).
In Flash CS3 you could get this to stop happening by wishing real hard and rebooting 17 times. Then you're good for a few weeks. But seriously, it can actually go way sometimes by just restarting Flash.
So CS4 shipped yesterday. I immediately bought a copy and fired up my current application, published. And guess what? WSOD!
Open that same FLA in CS3, works. CS4, doesn't. Verified on 3 machines.
Obviously this really, really, sucks. We have to stick with Flash CS3 for now because CS4 won't function properly. There is at least some hope though. Erik Bianchi has packaged up an example and sent it to several Adobe engineers so they have an example right in front of them.
If anyone out there happens to know a trick to get around this, please speak up!
UPDATE - Friday Otober 17 2008
My backchannel tells me that Adobe is "on it". And that they have been burried by emails since launch.
UPDATE - Saturday October 18 2008
I've gotten word (indirectly) that a couple of Adobe's engineers are working on this issue.
Update - Monday October 20 2008
No word from Adobe today. But I heard from someone on a completely unrelated project that they just upgraded to CS4 and are getting WSOD. Works in CS3, not in CS4.
Update - Saturday October 25 2008
There is an Adobe technote that looks to have been added in the last week. It is definitely the issue outlined here. If you rip your project into enough swcs or swfs then apparently you can still move forward. It is good to see it officially listed as a problem - but I don't like the solution. I hope that Adobe sees it as a bug and will address it in a future update. The applications in which I've witnessed this bug have hundreds of classes. I reduced it substantially with a few bigger swcs and still had the same bug. There is no definitive limit here. So, how far do you have to break your application down?
This is likely to be my last update on this topic for a while unless there is some noticeable movement at Adobe or if someone in the community has a good discovery.
Update - Thursday October 30 2008
Great news on this topic! Richard Galvan (Adobe Flash's product manager) and Sean Kranzberg (senior manager quality assurance) reached out directly to me regarding this issue. Apparently it is related to memory allocation to the JVM, which the compiler uses. They assured me that they are taking this issue seriously and *will* have a fix in their first Flash CS4 update. No release date is currently slated - but the worlds "some time in November" were spoken. When the release is official I'll update here.
Update - Saturday November 22 2008
Adobe released an update this wee to Flash CS4 that completely fixes the issue! You can get the update yourself through the Adobe Updater, through Flash CS4 > Help > Updates, or here. Here is the relevant part of their release notes:
"This update also provides fixes for problems related to compiling large files and applying motion to multiple objects. "
Update - Thursday February 19 2009
A fellow Electrotanker sent me a link to this blog post where someone else reporting the WSOD issue. If you scroll down to response #4 a person suggested increasing the Java heap size on his computer (which is a global setting). WSOD occurs when the Flash compiler runs out of memory. Increasing the Java memory allocation solves the problem!
Thursday, October 16, 2008
Subscribe to:
Post Comments (Atom)
14 comments:
I remember having a similar issue when publishing lots of pngs, not wsod, but weird memory errors and random dropped assets.
No quick fix, as far as I know. I eventually pre-compiled sections of my project to get round this.
Only other thing I can suggest is try a different platform, and if you're using vista, run flash in compatibility mode for older versions of wondows.
I did have lots of problems like that on one particular project... I was never quite sure if it was but I thought it might be something to do with having a second monitor plugged into my laptop and sometimes dragging the published swf onto that screen... It might have had nothing to do with it but it seemed to start happening when I started using the second screen...
I had this issue using a DocumentClass and I started a git repository where my AS3 classes were stored. Apparently CS3 doesn't like it if there are too many files in one folder (I think the limit is something small, like 256). I had to init the repo one folder below my classes.
Thanks for the initial comments guys. I see we're not alone!
Just to compare your comments to this situation:
JC - We do have a couple of pretty massive classes. It is possible they are somehow the cause. That is something we'll explore if nothing else pans out.
vitch - In our case, multiple monitors aren't being used.
caleb wright - That is a good thought. We do have a lot of classes. But I would say there probably aren't more than a dozen or so in any one directory.
I swear there was an issue related to having tons of files in a single folder.
Adobe sent me these steps to reproduce a bug they knew about (and was marked "to be fixed" back in November 07):
1. Create a new AS2 fla
2. instantiate a class on the timeline
3. define that class in an external .as file 4. Create a bunch of files in the same directory 5. Create a bunch of directories and hidden directories in the same directory.
6. Nest a bunch of hidden directories and files into your newly created directories.
7. Publish the fla
For what it's worth, I couldn't repro with these steps--but I did think it was related to tons of folders and files and hidden files.
I haven't seen it lately.
phillip,
Thanks for the information. I agree that is likely related to the # of files or perhaps the size of a few specific files.
It shouldn't, in this case, be related to hidden files. We do use subversion which has a lot of hidden directories. But in my tests I'd exported from subversion eliminating all hidden files and folders.
I'll keep this blog up-to-date with any new information.
This thing is full of bugs, I'm having problems getting 720p f4v's to play, it keeps compiling to a 1k swf.
CS4 also has problem resolving animations with shape hints given by CS3.
I opened a CS3 project and had to relocate all of the shape tweenings done with shape hints, in order to convert it to CS4 "standard".. I don't know, maybe they've improved it somehow.
Thanks for the comments everyone. It looks like Adobe is listening. Make sure you report any issues to them so they have a shot a guiding you in the right direction, or fixing a bug.
I've had a very similar/identical issue with a project in flash cs3 that used a very large number of class files, we found that various compiler options did help, such as unchecking warnings, not allowing optimisation, as we added more classes to the project the problem reappeared.
Flash CS4 doesn't appear to have the optimise compiler option and can't compile our project.
We discussed with adobe previous xmas!
Thank you for staying on Adobe about this. I have been running into this for some time now and just as you stated it can work sometimes if you reboot, so I'm assuming this is because that after you reboot there is less memory fragmentation. I'm not sure how they are going to fix this since Flash CS4 is still 32 bit. I noticed that in addition to getting the WSOD the compiler also runs out of memory at around 800 MB even though there is plenty of free memory on my PC.
Everyone,
This issue is now resolved. See the final update within the post!
That's what you think... The issue is NOT resolved.
I'm afraid Matt is right: Adobe's 11/17 update may have helped, but it didn't solve the problem. In case others are interested in how we have worked around it, I posted our experiences with this bug on our blog.
Post a Comment