重新加载Flash 17次会导致错误#2046,并且需要重新启动浏览器

我遇到了一些非常奇怪的行为,我正在编写一个Flex 4.1应用程序,这个应用程序正在进行testing。 看来我可以重新加载应用程序16次,然后在17日,加载过程失败

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

它似乎一直发生在Firefox 5.0和Chrome 12上的第17次重新加载。我不确定它是否相关,但是我正在Ubuntu 10.04上运行Flash Player v10.2.159.1(也发生在10.3.181.34)。 适用于播放器的常规和debugging版本。 当我在Windows FF5上运行应用程序时,似乎并没有发生。 closures当前的浏览器窗口似乎没有解决它。 唯一的方法是完全closures所有浏览器窗口并重新启动浏览器。 然后在16次成功载入后,第17次失败。

在这一点上,我正在考虑将它作为一个Linux的Flash错误,但我想确认,如果有人知道我是否应该做些什么来防止这种情况。

从这个post的用户似乎有同样的问题,但我想他没有注意到我有的模式。

任何帮助将不胜感激。 鲁伊

==更新==

我刚刚意识到,在我的应用程序开始抛出2046错误,试图加载任何其他Flash使用签名的RSLs也显示2046错误(例如这个应用程序 ),这意味着问题不是特定于我的应用程序,最有可能涉及闪存caching或类似的东西。

披露:我是Adobe的Flash Player开发人员。 这是不太可能得到很多的关注,因为它只是Linux和边缘的情况下:在开发工作可能会讨厌,但很less用户将重新加载相同的页面超过16倍。 这也可能是一个浏览器问题。 但是可能是我们:)明天我会看看吉拉,看看能不能把它弄一些,但我会诚实的说,这真的是一个边缘案例,不太可能得到太多的爱。 如果你想提高你的机会,请确保添加最简单的.swftesting用例,以便对错误进行testing。 另外请仔细检查它是否仍然与最新的testing版发生。
我也只是看了一下以前的bug报告和论坛post,你可能应该把它当作Flash Player的bug,而不是Flex。

远景猜测,但它听起来类似于我们有一个问题….在项目属性 – Flex构buildpath – 框架链接 – 更改为“合并到代码”。 这解决了一个问题非常类似于你所描述的,但我希望我确切知道原因是什么。 祝你好运!

博士:不知道原因,张贴随机可能性,希望能给别人一个想法或两个testing。

考虑到这个问题似乎是Adobe问题跟踪器中的一个未解决的错误,您不太可能会在这里得到明确的答案。 考虑到它发生在Firefox和Chrome上,让我们排除浏览器的错误,并假设它是在一个共同的库(Flash)或OS API(Linux内核实现)。 在其中一个jira问题的评论特别提到杀死Flash进程修复它,所以它的Flash问题,而不是操作系统的错误。

我在这里可以看到的最有趣的事情是你的观察,它成功了16次失败之前加载。 这里有一些猜测的时间,从没有从事内核或encryption开发的人:

使用2048位RSA密钥和32kcaching来存储它们,在添加另外一个失败之前,16个密钥会适合 – 所以有人猜测,每次加载这个文件时,Flash都会因为某种原因caching带符号的值(可能是散列版本) – 也许跟踪允许和使用的安全权限等? 如果这个条目没有被删除,那么一旦它满了,所有的文件加载将失败,如果caching签名是检查的一部分。

你可以尝试的东西:

  • 减小应用程序的大小,以查看是否可以更频繁地重新加载页面(如stackfish所build议的)
  • 计数使用的签名RSL的数量,如果它的功率/倍数为2(也许其他人得到32页加载后的错误,如果他们使用一半的签名库的数量?
  • 检查Linux Flash插件是否有一些选项来增加凭证caching或者减less它(只是为了看看它是否影响负载的数量 – 如果是的话,可能与问题有关)

我期望实际上find一个解决scheme,你必须深入到库加载代码,并查看所有常量相关的加载签名库是4,16或16的倍数,看看他们是否有责任 – 在总之,不太可能被Flash开发团队以外的其他人解决:/

此行为可能与由Flex实现或浏览器插件导致的内存泄漏有关。 Firefox无论如何都不清理内存,臭名昭着,足迹将继续增长,你有相同的浏览器窗口打开的时间越长。

如果您减小Flex应用程序的大小以生成非常小的内容,则可以重新加载页面的次数是否增加?

错误#2046 win vista,64位机器机智1000 mb ati radeon videocard问题只发生在msnvideosofar