Tag Archives: error

AGAL Error #3613: The native shader compilation failed

What a cryptic error message, yeah? Good grief! Thanks Adobe! Googling didn’t come up with very much, either.

Turned out I was passing two constant registers to an operation.

So basically, in order to compare two temporary registers, you have to copy one of them to a temporary register first.

This code failed in my vertex shader:
ife vc7.x, vc5.x

But this code works:

mov vt1, vc7
ife vt1.x, vc5.x

Go figure. Wonder why that is. Solution found on a comment on this article.

Flash Builder 4.7 won’t reload SWC when it changes

According to this thread, Flash Builder will only notice when your library SWC changes if it’s in your project folder. Kind of sucks if you use the same SWC in multiple projects, like I do, but it appears to be the only option. Also, sometimes you need to clean the project to make the refresh happen.

Now, I’m not using the Flex framework, but also from the linked thread, if you use Flex you might be able to turn off a “global SWC cache.” I tried it for my plain-jane actionscript projects and it didn’t work.

Here’s the secondary method:

Find the .options file in the /Applications/Adobe Flash Builder 4.7/eclipse/plugins/com.adobe.flexbuilder.project_4.7.0.349722/ folder and look for a line like this:

# use a global swc cache across all projects when compiling with flex sdk 4 or higher
com.adobe.flexbuilder.project/useGlobalSwcCache=true

Try setting useGlobalSwcCache to false then restart Flash Builder and see if that helps.

NOTE: This may result in longer compile times in Flash Builder if your workspace includes Flash Library Projects since those generated SWCs will no longer be cached and instead will be rebuilt every time.

Again, I tried this secondary option, but it didn’t work for me (OSX 10.10.3 Yosemite), possibly because I don’t actually use Flex, and the comment in the config file specifically mentions Flex SDK.

FlashDevelop 4.6 BinaryHeader error on startup on Win64 8.1

Today FlashDevelop got stuck on startup into an infinite loop of the following error:

Binary stream '0' does not contain a valid BinaryHeader. Possible causes are invalid stream or object version change between serialization and deserialization.

I found this really old forum post that said to delete the whole FlashDevelop app data folder.

So, I deleted/renamed the folder located at C:/Users/YOURUSERNAME/AppData/Local/FlashDevelop, and it works again!

FlashBuilder 4.7 Win8.1 x64 unexplainable java.lang.NullPointerException

This one’s a weird one. Sometimes Flash Builder 4.7 has a problem where weird errors come up in library code (Feathers, usually) that doesn’t have any actual errors in it.

The error raised is the following: com.google.common.collect.ComputationException: java.lang.NullPointerException

The (non-obvious) solution is to find a little button called “Mark Occurrences” in the toolbar and turn it to OFF.

Here’s a picture of what the button looks like when set to OFF:
mark occurrences off

And here’s what it looks like when set to ON:
mark occurrences on

Oh, and sometimes restarting Flash Builder doesn’t do it, so sometimes in order to fix it, I have to set mark occurrences to ON, close and restart FB, and then set it to OFF again to get it to work.

More info is available in this post in the Feathers forum here.

AIR for iOS Runtime Error #1520: Mutex cannot be initialized.

Situation: I’m making an app for iOS and Android using Flash Builder 4.7 and AIR SDK 4.0. It includes the Lua 5.2 interpreter as compiled from C code into a SWC using CrossBridge (formerly FlasCC). I’m just using the lua.swc file from the crossbridge samples. However, apparently there’s some problem with the multithreading code or something (is multithreading even supported in AIR 4.0? I don’t remember), because I get the following run-time error when debugging on the device (not on Android or AIR simulator, just iOS):

Error #1520: Mutex cannot be initialized.

Solution: I don’t know why this works, but if you add the following compiler options:

--swf-version=17

It works. This probably means I’m targeting an older flash player and one day I will need to figure out how to get the Lua interpreter code.

Here’s a pretty picture of the box where you enter the code in Flash Builder 4.7:
version17