Skip navigation
Currently Being Moderated

Error #2046: The loaded file did not have a valid signature in flex 4

Apr 20, 2011 8:07 AM

As part of our CI build, the ant script that builds the client side (flex 4) projects also runs a set of FlexUnit4 tests on the deployed project. Most of the tests work but a few fail with this error

 

RSL

http://local.foo.com/bar/com/blah/components/someComponent/framework_4 .1.0.16076.swz failed to load.

Error #2046: The loaded file did not have a valid signature.

 

The build machine is running Ununtu 10.10 with Firefox 3.6 and Flashplayer 10.2. If I run  the exact same set of tasks, accessed from the same URL in windows everything passes with no problem. After some searching I did run across this thread: http://forums.adobe.com/message/2747415#2747415 but when I went looking for the libflashsupport.so file mentioned, the Ubuntu docs seemed to indicate that it was no longer needed.

 

I'm at my wits end here. Is libflashsupport.so actually needed in Ubuntu 10.10 and if so where would I find it? If not does anyone know of another issue that could be responsible for this?

 
Replies
  • Currently Being Moderated
    Apr 20, 2011 8:29 AM   in reply to bucpatr1

    Another issue to what out for is to make sure your system clock is set correctly. If the system clock is too far in the past or future it can cause this problem.

     

     

    -Darrell

     
    |
    Mark as:
  • Currently Being Moderated
    Apr 20, 2011 8:52 AM   in reply to Darrell Loverin

    I'm "Loverin" that last name.


     
    |
    Mark as:
  • Currently Being Moderated
    Apr 21, 2011 2:23 PM   in reply to bucpatr1

    I think you'll need to build libflashsupport.so. The instructions are in the 07/29/08 comment in http://bugs.adobe.com/jira/browse/SDK-15282.

     

     

    -Darrell

     
    |
    Mark as:
  • Currently Being Moderated
    Apr 25, 2011 6:15 AM   in reply to bucpatr1

    On the Windows machine where the RSLs loaded, did you first clear the Flash Player cache and the browser cache to make sure you are really loading the RSLs?

    I would also clear the caches on the Ubuntu machine for the same reason.

     

     

     

    -Darrell

     
    |
    Mark as:
  • Currently Being Moderated
    Apr 25, 2011 5:10 PM   in reply to bucpatr1

    We did some testing and could not reproduce the problem. We tried with Flex 4.1 and Flex 4.5 with this configuration:

     

    Ubuntu 10.04 (VMware)

    Firefox 3.6.3

    Flash Player 10,2,159,1

     

     

    If you tried to load a signed RSL that does not exist, you should not get an invalid signature error. You should get an Error #2032: Stream Error. This tells me the Flash Player cache was not cleared.

     

    A. Does a browser tool such as Charles show the RSL is actually downloaded from the server?

    B. Security errors stop the load process.

     

     

     

    -Darrell

     
    |
    Mark as:
  • Currently Being Moderated
    Apr 26, 2011 4:13 AM   in reply to bucpatr1

    I realized the previous answer to B is not correct. The load process stops if the Flash Player throws an error instead of just reporting it via listeners.

     

     

    -Darrell

     
    |
    Mark as:
  • Currently Being Moderated
    Apr 26, 2011 7:51 AM   in reply to bucpatr1

    You should see a get of the RSL swz if both the browser and Flash Player cache do not contain the file.

     

     

    -Darrell

     
    |
    Mark as:
  • Currently Being Moderated
    Apr 26, 2011 10:26 AM   in reply to bucpatr1

    Try using Settings Manager (http://www.macromedia.com/support/documentation/en/flashplayer/help/se ttings_manager03.html) to clear your Flash Player cache. The steps are:

    1. Uncheck "Store common Flash components to reduce download times."

    2. Press "Confirm".

    3. Reselect the "Store..." checkbox.

     

    Next clear the browser cache.

     

    When you run you app again you should see the RSL downloaded from fpdownload.adobe.com.

     

     

    -Darrell

     
    |
    Mark as:
  • Currently Being Moderated
    Apr 26, 2011 1:55 PM   in reply to bucpatr1

    So it seems you can load the signed RSLs but are not able to use them once they are cached. Can you try running the application with Flash Player 10.1 to see if that makes a difference?

     

     

     

    -Darrell

     
    |
    Mark as:
  • Currently Being Moderated
    Apr 27, 2011 12:17 PM   in reply to bucpatr1

    We are not aware of a problem on Ubuntu where swz files are loaded correctly into the Flash Player cache and then later Error #2046 is thrown when trying to use the cached files. Would you please write a bug with the details of your configuration and a simple app that reproduces the issue (include the swf files as well). Bugs may be logged here: http://bugs.adobe.com/flex/.  Please include the four parts of the Flash Player version as that may be interesting and post a link to the bug back here for reference.

     

    Thanks,

     

     

    -Darrell

     
    |
    Mark as:
  • Currently Being Moderated
    Apr 27, 2011 1:42 PM   in reply to bucpatr1

    If you are unable to reproduce the problem with a simple project, then a bug with just the swfs (with debug info) that reproduce the problem should be good enough.

     

     

    -Darrell

     
    |
    Mark as:
  • Currently Being Moderated
    May 3, 2011 10:11 AM   in reply to Darrell Loverin

    hello,

     

    I have the same issue, Ubuntu 10.10, flashplayer 10.3rc1

     

    mxmlc SimplePrj.mxml -debug=true -benchmark=true --target-player=10 -output ../deploy/SimplePrj.swf

     

    mxlc verbose:

     

    Loading configuration file /home/.../flex-config.xml
    Initial setup: 79ms
    start loading swcs 9ms Running Total: 88ms
    Loaded 34 SWCs: 740ms
    precompile: 1062ms
    Required RSLs:
        http://fpdownload.adobe.com/pub/swz/flex/4.5.0.20967/framework_4.5.0.2 0967.swz with 1 failover.
        http://fpdownload.adobe.com/pub/swz/tlf/2.0.0.232/textLayout_2.0.0.232 .swz with 1 failover.
        http://fpdownload.adobe.com/pub/swz/flex/4.5.0.20967/spark_4.5.0.20967 .swz with 1 failover.
        http://fpdownload.adobe.com/pub/swz/flex/4.5.0.20967/sparkskins_4.5.0. 20967.swz with 1 failover.
        http://fpdownload.adobe.com/pub/swz/flex/4.5.0.20967/mx_4.5.0.20967.sw z with 1 failover.
    Files: 540 Time: 3380ms
    Linking... 27ms
    SWF Encoding... 18ms
    /.../SimplePrj/deploy/SimplePrj.swf (80059 bytes)
    postcompile: 45ms
    Total time: 4259ms
    Peak memory usage: 81 MB (Heap: 62, Non-Heap: 19)

     

    I had to copy the swz to deploy folder since failovers are not yet available.

     

    * accessing from windows machines it loads swz without complaints.

     

    Jaco

     
    |
    Mark as:
  • Currently Being Moderated
    May 3, 2011 12:33 PM   in reply to jaco@pixeldump

    hello,

     

    removed old rsls from flexSDK, now it works as expected.

     

    Jaco

     
    |
    Mark as:
  • Currently Being Moderated
    May 3, 2011 3:41 PM   in reply to jaco@pixeldump

    After clearing the Flash Player cache, are you able to load the RSLs and run the application or do you always fail to load the RSLs?

     

     

    -Darrell

     
    |
    Mark as:
  • Currently Being Moderated
    May 3, 2011 3:45 PM   in reply to jaco@pixeldump

    I don't understand what you did to fix the problem. A Flex SDK only has one set of RSLs. How can you remove old RSLs?

     

     

    -Darrell

     
    |
    Mark as:
  • Currently Being Moderated
    May 4, 2011 12:15 AM   in reply to Darrell Loverin

    Hi Darrel,

     

    clearing the player cache did not the trick.

    I know flexSDK has one set of rsls, but I'm used to merge flex/air SDKs as they update. I also have some custom utility to ease compilation in /bin folder and docs/info folders.

     

    So, I had to keep only the newest set of swz in /frameworks/libs/rsls folder.

     

     

    Jaco

     
    |
    Mark as:
  • Currently Being Moderated
    May 4, 2011 3:28 AM   in reply to jaco@pixeldump

    hummm,

     

    I'm quite confused, it seems that the only reason it works is because now failovers are up, they are cached from Adobe site.

     

    Jaco

     
    |
    Mark as:
  • Currently Being Moderated
    May 4, 2011 5:45 AM   in reply to jaco@pixeldump

    I'm confused as well.

    Are you using the default RSL configuration or have you modified it?

    If you are using the default RSL configuration, then your failover RSLs should be SWZ files located in the same directory as the loading application.

     

    If your RSLs are cached in the Flash Player cache then there will be no need for a failover because the SWZ file will come directly out of the cache.

     

    Could you post either the output from the debugger console or the Flash Player log when you run your application? Flex will output messages that will tell you when it was unable to load an RSL and when it is failing over to another RSL.

     

     

    -Darrell

     
    |
    Mark as:
  • Currently Being Moderated
    May 4, 2011 8:02 AM   in reply to bucpatr1

    hello,

     

    I've done some further tests, always clearing player cache before.

     

    So, having empty cache, using default flex-config.xml it always look and load swz from Adobe site, ignoring local.

    I think it's the default behaviour.

     

    Trace has no meaningful infos since it loads with no error.

     

    Anyways, further loadings come from cache, only one request to Adobe fpdownload crossdomain.xml

     

     

     

    Jaco

     
    |
    Mark as:
  • Currently Being Moderated
    May 4, 2011 8:39 AM   in reply to jaco@pixeldump

    It sounds like you are you able to successfully run your application using cached RSLs. Is that correct?

     

     

    -Darrell

     
    |
    Mark as:
  • Currently Being Moderated
    May 4, 2011 9:25 AM   in reply to Darrell Loverin

    yes it seems so.

     

    works on my ubuntu box 10.10 and 11.04 notebook.

     

    I'll try to understand the way of using local swz, getting rid of Adobe site availability.

     

    If you find some helpful/practical infos, please post references, those on help.adobe are quite weak, thanx.

     

    Jaco

     
    |
    Mark as:
  • Currently Being Moderated
    May 4, 2011 9:55 AM   in reply to jaco@pixeldump

    Why don't you want to use the Adobe site? The RSLs there should be the correct RSLs for the SDK you are compiling with.

     

     

    -Darrell

     
    |
    Mark as:
  • Currently Being Moderated
    May 4, 2011 10:40 AM   in reply to Darrell Loverin

    hi,

     

    I have nothing against that way, but til yesterday they weren't available, so I spent many hours for nothing.

    Ohter issues are relevant to online/offline development, using SDK nightly builds and so on.

     

    I know I can "resolve" with


    -static-link-runtime-shared-libraries=true

    but it spit out cumbersome swf, specially on -debug=true and modules.

     

     

    Jaco

     
    |
    Mark as:
  • Currently Being Moderated
    May 4, 2011 12:36 PM   in reply to jaco@pixeldump

    Yes, RSLs are not posted for nightly builds. If SWZ files are not available for a build you can always deploy unsigned RSLs (swfs) with your application and it will still work (the default RSL configuration is to failover to RSLs in the same directory as the application). To see the default RSL configuration take a look at the "runtime-shared-library-path" elements in flex-config.xml.

     

     

    -Darrell

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points