59

I am encountering some very strange behaviour with a Flex 4.1 app I am writing which gets in the way of testing. It seems that I can reload the app 16 times and then on the 17th, the loading process fails with

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

It seems to be consistently happening on the 17th reload on both Firefox 5.0 and Chrome 12. I am not sure if it's relevant, but I am running Flash Player v10.2.159.1 (also happens with 10.3.181.34) on Ubuntu 10.04. Happens with both regular and debugger versions of the player. When I run the app on Windows FF5, it doesn't seem to happen. Closing the current browser window does not seem to fix it. The only way around it is to completely close all browser windows and restart the browser. And then again after 16 successful loads, the 17th fails.

At this point I'm thinking of chalking it as a Linux Flash bug but I'd like to make sure and check if anyone knows if there's something I should be doing to prevent this.

The user from this post seems to have had the same problem but I guess he didn't notice the pattern I have.

Any help will be greatly appreciated. Ruy

== UPDATE ==

I just realized that after my app starts throwing the 2046 error, trying to load any other Flash that uses signed RSLs also shows the 2046 error (e.g. this app), which means the problem is not specific to my app and most likely related to the Flash cache or something of the sort.

Community
  • 1
  • 1
Ruy Diaz
  • 3,084
  • 24
  • 36
  • 8
    By the way, this issue seems to have been asked about on the Adobe forums without a satisfactory response (http://forums.adobe.com/message/2920142#2920142) – Ruy Diaz Jul 25 '11 at 21:19
  • 11
    +1 for noticing the 17th refresh pattern. Actually I would give you +100 if I could. – Chris Ghenea Jul 25 '11 at 22:04
  • I had a feeling it always ocurred after a certain number of times but had been too lazy to actually count them until today :P – Ruy Diaz Jul 25 '11 at 23:20
  • 1
    You may want to file a bug report, or add some existing information, over at https://bugs.adobe.com/jira/secure/IssueNavigator.jspa. Query for "2046" and you'll see a history of the bug, most labelled "Cannot Reproduce". Perhaps your discovery can help them on their way. – Cory Aug 07 '11 at 16:29
  • 4
    Done. https://bugs.adobe.com/jira/browse/SDK-31090 – Ruy Diaz Aug 08 '11 at 17:25
  • For me it was sometimes less than 17 times... Anyway... What's the solution? I developed my apps in WIndows using FB, but my webserver is Linux Ubuntu 10.04... Maybe there's a pattern here – Felipe Aug 09 '11 at 21:20
  • Is your app using local storage by chance? eg. `SharedObject` I'm wondering if it has something to do with that.. – Jacksonkr Aug 10 '11 at 03:39
  • Can't reproduce on IE8 / Flash 10.3 – rds Aug 16 '11 at 10:14
  • RDS: I think if you read the bug report you'll see "Affected OS(s): Linux - Other" Ruy: 8 days, still no word from Adobe. Perhaps people following this can upvote the bug over at https://bugs.adobe.com/jira/browse/SDK-31090 – Cory Aug 16 '11 at 14:25
  • 1
    Flash on Linux has always been very unreliable and unstable. In my eyes, Adobe does not care about this issue, since there are way to few Linux users out there. This is propably also the reason why they cancelled Linux support for Air. Therefore, to create cross-platform-webapps which also run reliably on Linux, I would not use Flash anymore and instead use HTML5/Javascript. Although that is not always possible, unfortunately... – Wolkenarchitekt Aug 22 '11 at 12:09
  • The bug got 'resolved' status and it was recommended we filed a report under Flash Player rather than Flex.. I couldn't find a Flash Player section under the 'Create Issue' button... WIll someone else open the new bug report? – Felipe Aug 23 '11 at 22:00
  • I've filed a new bug report at https://bugbase.adobe.com/ but when I added it I got told the bug report wouldn't be viewable externally, for some reason. Perhaps they're doing this to stop people from exploiting known bugs. – Felipe Aug 23 '11 at 22:22
  • yes this same issue gets reproduced in IE,Chrome in Windows as well. Flex application requires consistent cache clear. – Ankit Aug 25 '11 at 10:20
  • Felipe: I hate when devs handle bug reports like that. It's clearly an issue, but the developer does not care enough about to properly reclassify the bug report. – Cory Sep 02 '11 at 19:00
  • Bug report is here: https://bugbase.adobe.com/index.cfm?event=bug&id=2949403 The dev has been able to reproduce the error, but it needs to be upvoted. You'll need to sign in to Adobe to view it and comment on it. – Cory Sep 19 '11 at 20:31

6 Answers6

10

Disclosure: I am a Flash Player Developer at Adobe. This is unlikely to get much attention as it is Linux only and kind of an edge case: Probably annoying during dev work but very few users will reload the same page more than 16 times. It might also be a browser issue. But it is probably us :) I will look at the jira tomorrow and see if I can bump it up a bit, but I'll be honest in that it is really an edge case and unlikely to get much love. If you want to increase your chances make sure to add the most simple .swf test case you can make to the bug. Also please double check if it still happens with the latest beta.
I also just took a look at the earlier bug reports and forum posts, you probably should post this as a Flash Player bug, not as Flex.

starmole
  • 4,974
  • 1
  • 28
  • 48
1

Long shot guess, but it sounds similar to a problem we had.... in the project properties - Flex Build Path - Framework Linkage - change to "merged into code". This fixes a problem very similar to what you are describing, though I wish I knew exactly what the cause is. Good luck!

JTtheGeek
  • 1,707
  • 14
  • 17
  • I did a first trial with this and it worked... will test some more and then come back to post the results... might be a good workaround – Felipe Sep 05 '11 at 22:12
1

tl;dr: No idea on the cause, posting random possibility in hope it might give someone else an idea or two for testing.

Considering that it seems to be an unresolved bug in Adobe issue tracker, its unlikely that you will get any definitive answer here. Considering it occurs on both Firefox & Chrome, let's rule out browser bugs and assume it is in either some common library (Flash) or OS API (Linux kernel implementation). A comment in one of the jira issues specifically mentions killing Flash process fixes it, so its a Flash issue and not OS bug.

The most interesting thing I can see here is your observation that it succeeds for exactly 16 times before failing to load. Time for some speculation here, from someone who's never worked on kernel or crypto dev:

With a 2048 bit RSA key and 32k cache for storing them, 16 keys would fit before adding another one fails - so one conjecture is that each time this file is loaded, Flash is caching the signed value (possibly a hashed version) for some reason - maybe to keep track of allowed & used security permissions etc.? If this entry is not removed, then once it is full all file loads will fail if caching the signature is part of checking it.

Things you can experiment with:

  • Reduce size of app to see if page can be reloaded more often (as suggested by stackfish)
  • Count number of signed RSLs used and if its a power/multiple of 2 (maybe others get the error after 32 page loads if they use half the no. of signed libs?)
  • Check if Linux Flash plugin has some option to increase credentials cache or something (or decrease it, just to see if it impacts the no. of loads - if so, could be related to the problem)

I expect that to actually find a solution, you'd have to dive into the library loading code and look at all constants related to loading signed libs that are 4, 16, or a multiple of 16 to see if they might be responsible - in short, unlikely to be soluble by others outside of Flash dev team imho :/

Alok
  • 516
  • 11
  • 26
0

This behavior could be related to a memory leak caused either by the Flex implementation, or the browser plugin. Firefox is notorious for not cleaning up memory anyway and the footprint will continue to grow the longer you have the same browser window open.

If you reduce the size of your flex app to produce something very tiny, does the number of times you can reload the page go up?

stackfish
  • 251
  • 1
  • 3
-1

Error #2046 on win vista, 64 bit machine wit 1000 mb ati radeon videocard problem occurs only in msn video sofar

Johan
  • 1
-1

I meet a same problem when I use ppt on icourse163.org . when I open the course site, I can't see the ppt but I use chrome can do it .there are the same flash version(32.0.0.344),and Then ,I copy the tar.gz file that downloaded from adobe. usr/* to /usr.I solved it.wish can help you .

  • Hi @郭浩东, I fail to see how your answer solves this 8 years old question. Could you edit your answer to make it a bit clearer or perhaps even move it to the comment if you are in fact reporting a recurrence of the issue? – Ilan.K Apr 06 '20 at 17:21
  • when you download the flash player . extract it ,you can see the LGPL usr libflashplayer.so license.pdf and readme .I mean ,according to the readme ,you must copy usr to your /usr dir .and libflashplayer.so to firefox dir. I use firefox on manjaro. – 郭浩东 Apr 09 '20 at 03:43
  • you should check that are you allow flash-store meanwhile. – 郭浩东 Apr 09 '20 at 03:46
  • @llan.K ,when I only move the .so file to firefox , I can play flash videos , but I can't play the ppt that our teacher posted. and then ,mv usr extracted to /usr and overwrited .I can play the ppt.wish I can help you. – 郭浩东 Apr 09 '20 at 03:57