This content has been marked as final. Show 9 replies
I am using Cairngorm with Flex Builder 3 beta 3 everyday and don't seem to run into issue you mention. If you do a Project -> Clean, and force FB to recompile the SWF from scratch, the problem might go away.
I tried that... but it didn't seem to help. I will try it again, just to make sure. Thanks for helping though...
I get the same error. But it seems to depend on the Flash player version. It works fine with the latest version 184.108.40.206, but fails with version 220.127.116.11. I guess, this is a new bug introduced with Flex 3 Beta 3, because with Flex 3 Beta 2 everything worked fine also for older Flash players. Probably the problem is with the Failover SWF older Flash player versions are using.
The error means the RSL is out of sync with the library swc you are linking with. A library contains the digest of the RSLs created from that library. A loaded RSL must match the digest as specified by the swc or you will get the digest mismatch error. From the truncated error message it looks like the problem RSL is the framework RSL. I suspect what happening is when you upgraded to Flex 3 you linked with a new framework.swc but you are still trying to load the older RSLs. If you are using Flex Builder, then go into the project settings and update the RSL information for framework.swc. If you are using the command line, modify your -runtime-shared-library-path option to use the RSLs in the Flex 3 SDK (frameworks/rsls directory).
If this information does not help you please send me the command line you are using and the player's log file. RSL errors are sent to the log file.
OK, here we go. The full error message using Flash player 18.104.22.168 is:
"Flex Error #1001: Digest mismatch with RSL framework_3.0.189825.swf. Redeploy the matching RSL or relink your application with the matching library."
I've tried both using Flex Builder and the the command line to build. When building the following files are created:
And this is, what's in the log file:
Failed to load RSL framework_3.0.189825.swz
Failing over to RSL framework_3.0.189825.swf
Flex Error #1001: Digest mismatch with RSL framework_3.0.189825.swf. Redeploy the matching RSL or relink your application with the matching library.
In Flex Builder look at the RSLs in the SDK you are compiling with. The RSLs are in the frameworks\rsls subdirectory of the SDK. What are the names of the files in this directory?
There are the following files:
BTW, I have not changed these files in any way. They came with the default installation of Flex Builder and they have exactly the same name and size in both of my SDKs (Flex Builder Standalone and PlugIn)
This SDK is missing framework_3.0.189825.swf and rpc_3.0.0189825.swf (known bug).
Since your are missing framework_3.0.189825.swf in the frameworks\rsls directory, Flex Builder is unzipping the library.swf from framework.swc and copying it to the bin directory. You are getting the digest mismatch error
because the application is expecting an optimized RSL, not the
unoptimized RSL (library.swf).
The workaround is to create the optimized RSL for the SDK yourself. The
steps to create the optimized RSL are:
1. Unzip library.swf from frameworks\libs\framework.swc to the
2. Optimize library.swf and rename it to framework_3.0.189825.swf
>optimize library.swf --output framework_3.0.189825.swf --keep-as3-metadata=Bindable,Managed,ChangeEvent,NonCommittingChangeEvent,Transient
3. Delete library.swf
Now you should have the framework_3.0.189825.swf in the frameworks\rsls
directory has it should have been. You can repeat the same process for
rpc_3.0.189825.swf if needed.
Sorry for the inconvenience,
Thanks, now it works. When I tried to create the optimized RSL myself, at first I got the same digest mismatch error again, because there's one step missing:
4. digest --digest.rsl-file framework_3.0.189825.swf --digest.swc-path framework.swc