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

问题描述 投票:60回答:6

我正在编写的Flex 4.1应用程序遇到一些非常奇怪的行为,该行为妨碍了测试。看来我可以重新加载该应用程序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也是如此)。 。随播放器的常规版本和调试器版本一起发生。当我在Windows FF5上运行该应用程序时,似乎没有发生。关闭当前的浏览器窗口似乎无法解决。解决此问题的唯一方法是完全关闭所有浏览器窗口并重新启动浏览器。然后在成功加载16次之后,第17次失败。

[我现在正在考虑将其归为Linux Flash错误,但我想确定并检查是否有人知道我应该做些什么来防止这种情况。

this post的用户似乎有相同的问题,但我想他没有注意到我的模式。

任何帮助将不胜感激。瑞

==更新==

[我刚刚意识到,我的应用开始出现2046错误后,尝试加载使用签名RSL的任何其他闪存也会显示2046错误(例如this app),这意味着问题不仅仅针对我的应用,而且很可能是与Flash缓存或类似内容有关。

linux flash apache-flex
6个回答
10
投票

披露:我是Adobe的Flash Player开发人员。这不太可能引起人们的关注,因为它仅是Linux,并且属于边缘情况:在开发工作期间可能很烦人,但很少有用户将同一页面重载超过16次。这也可能是浏览器问题。但这可能是我们:)明天我会看一下吉拉,看我是否能把它撞高一点,但是老实说,这确实是一个边缘案例,不可能获得太多的爱。如果您想增加机会,请确保添加最简单的.swf测试用例,您可以对该错误进行处理。另外,请仔细检查最新的Beta是否仍然会发生这种情况。我也只是看了一下较早的错误报告和论坛帖子,您可能应该将其发布为Flash Player错误,而不是Flex。


1
投票

长时间猜测,但这听起来类似于我们在项目属性中遇到的问题-Flex Build Path-Framework Linkage-更改为“ merged into code”。尽管我希望我确切知道原因是什么,但这可以解决与您所描述的问题非常相似的问题。祝你好运!


1
投票

tl; dr:不知道原因,发布随机的可能性,希望它可以给别人一个或两个想法进行测试。

考虑到这似乎是Adobe问题跟踪器中未解决的错误,因此您不太可能在此处获得任何明确的答案。考虑到它同时出现在Firefox和Chrome上,让我们排除浏览器错误,并假定它存在于某些公共库(Flash)或OS API(Linux内核实现)中。在一个关于jira的问题中的评论特别提到杀死Flash进程可以解决该问题,因此它是Flash的问题,而不是OS的错误。

我在这里可以看到的最有趣的事情是您的观察,它成功加载了16次,然后才加载失败。是时候进行猜测了,来自从未从事内核或加密开发工作的人:

[使用2048位RSA密钥和32k高速缓存来存储它们,在添加另一个密钥失败之前,将适合16个密钥-因此,可以推测的是,每次加载此文件时,Flash都会为某些原因-也许跟踪允许和使用的安全权限等?如果未删除此条目,则一旦缓存签名是对其进行检查的一部分,则一旦文件已满,所有文件加载将失败。

您可以尝试的事物:

  • 减小应用程序的大小以查看是否可以更频繁地重新加载页面(如stackfish所建议的]
  • 使用的已签名RSL的数量,如果其是2的幂/倍(如果其他人使用的是签名库的一半,则在加载32页后可能会出现错误?)>
  • 检查Linux Flash插件是否可以选择增加凭证缓存或增加某些东西(或减少它,只是看它是否影响负载数量-如果是这样,可能与问题有关)
  • 我希望真正找到一个解决方案,您必须深入库的加载代码,并查看与加载4、16或16的倍数的带符号库有关的所有常量,以查看它们是否可能负责-简而言之,不太可能被Flash开发团队恕我直言以外的其他人溶解:/


0
投票

此行为可能与Flex实施或浏览器插件引起的内存泄漏有关。 Firefox以无法清除内存而臭名昭著,并且打开同一浏览器窗口的时间越长,占用空间将继续增加。


-1
投票

Win Vista,64位机智1000 mb ati radeon视频卡上出现错误#2046问题仅在msn视频用户中出现]


-1
投票

当我在icourse163.org上使用ppt时遇到相同的问题。当我打开课程站点时,看不到ppt,但是我使用chrome可以做到。有相同的Flash版本(32.0.0.344),然后复制从Adobe下载的tar.gz文件。usr / *到/ usr。我解决了。希望可以为您提供帮助。

© www.soinside.com 2019 - 2024. All rights reserved.