Перезагрузка Flash 17 раз вызывает ошибку # 2046 и требует перезагрузки браузера - PullRequest
60 голосов
/ 26 июля 2011

Я сталкиваюсь с очень странным поведением в приложении Flex 4.1, которое пишу, что мешает тестированию.Кажется, что я могу перезагрузить приложение 16 раз, а затем 17-го, процесс загрузки завершается неудачно с

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

Похоже, что последовательно происходит 17-й перезагрузки на Firefox 5.0 и Chrome 12. Яне уверен, что это актуально, но я использую Flash Player v10.2.159.1 (также происходит с 10.3.181.34) в Ubuntu 10.04.Происходит как с обычной, так и с отладочной версиями плеера.Когда я запускаю приложение в Windows FF5, это, похоже, не происходит.Закрытие текущего окна браузера, похоже, не помогает.Единственный выход - полностью закрыть все окна браузера и перезапустить браузер.И затем снова после 16 успешных загрузок, 17-ый отказывает.

В этот момент я думаю о том, чтобы считать это ошибкой Linux Flash, но я хотел бы убедиться и проверить, знает ли кто-нибудь, есть ли что-то, что ядолжно быть, чтобы предотвратить это.

У пользователя из этого поста , похоже, возникла та же проблема, но, думаю, он не заметил, что у меня есть шаблон.

Любая помощь будет оценена.Ruy

== UPDATE ==

Я только что понял, что после того, как мое приложение начинает выдавать ошибку 2046, при попытке загрузить любой другой Flash, который использует подписанные RSL, также отображается ошибка 2046 (например, это приложение ), что означает, что проблема не связана с моим приложением и, скорее всего, связана с Flash-кешем или чем-то в этом роде.

Ответы [ 5 ]

10 голосов
/ 29 августа 2011

Раскрытие информации: я являюсь разработчиком Flash Player в Adobe.Маловероятно, что это привлечет к себе внимание, так как это только для Linux, и это своего рода крайний случай: вероятно, это раздражает при работе разработчиков, но очень немногие пользователи будут перезагружать одну и ту же страницу более 16 раз.Это также может быть проблемой браузера.Но это, вероятно, мы :) Я посмотрю завтра на jira и посмотрю, смогу ли я немного ее увеличить, но я буду честен в том, что это действительно крайний случай и вряд ли получит большую любовь.Если вы хотите увеличить свои шансы, обязательно добавьте к ошибке самый простой тестовый пример .swf.Также, пожалуйста, дважды проверьте, происходит ли это с последней бета-версией.
Я также только что посмотрел более ранние сообщения об ошибках и сообщения на форуме, вы, вероятно, должны опубликовать это как ошибку Flash Player, а не как Flex.

1 голос
/ 27 августа 2011

Долгосрочная догадка, но это звучит похоже на проблему, с которой мы столкнулись .... в свойствах проекта - Flex Build Path - Framework Linkage - измените на «объединено в код».Это устраняет проблему, очень похожую на то, что вы описываете, хотя мне бы хотелось, чтобы я точно знал, в чем причина.Удачи!

1 голос
/ 27 августа 2011

tl; dr: понятия не имею о причине, публикуя случайную возможность в надежде, что это может дать кому-то еще одну или две идеи для тестирования.

Учитывая, что это похоже на неразрешенную ошибку в трекере проблем Adobe, маловероятно, что здесь вы получите какой-либо окончательный ответ. Учитывая, что это происходит как в Firefox, так и в Chrome, давайте исключим ошибки браузера и предположим, что это либо в какой-то общей библиотеке (Flash), либо в OS API (реализация ядра Linux). В комментарии в одном из выпусков jira конкретно упоминается, что исправление устранено в процессе Flash, поэтому это проблема Flash, а не ошибка ОС.

Самое интересное, что я вижу здесь, это ваше наблюдение, что оно успешно работает ровно 16 раз, а затем не загружается. Время для некоторых предположений здесь, от кого-то, кто никогда не работал над ядром или разработчиком crypto:

С 2048-битным RSA-ключом и 32-килобайтным кешем для их хранения 16 ключей подойдут до того, как добавится еще один, - поэтому можно предположить, что каждый раз, когда этот файл загружается, Flash кэширует подписанное значение (возможно, хешированную версию) по какой-то причине - может быть, чтобы отслеживать разрешенные и используемые разрешения безопасности и т. д.? Если эта запись не удалена, то после ее полной загрузки все файлы завершатся неудачно, если кэширование подписи является частью ее проверки.

Вещи, с которыми вы можете экспериментировать:

  • Уменьшите размер приложения, чтобы узнать, можно ли чаще перезагружать страницу (как рекомендует stackfish)
  • Подсчитать количество использованных подписанных RSL и, если его степень / кратно 2 (возможно, другие получат ошибку после загрузки 32 страниц, если они используют половину числа подписанных библиотек?)
  • Проверьте, есть ли в плагине Linux Flash какая-либо опция для увеличения кэша учетных данных или чего-то в этом роде (или для его уменьшения, просто чтобы посмотреть, влияет ли он на количество нагрузок - если это так, это может быть связано с проблемой)

Я ожидаю, что для того, чтобы действительно найти решение, вам нужно погрузиться в код загрузки библиотеки и посмотреть на все константы, связанные с загрузкой подписанных библиотек, которые являются 4, 16 или кратными 16, чтобы увидеть, могут ли они быть ответственный - короче говоря, маловероятно, что он может быть решен другими за пределами команды разработчиков Flash imho: /

0 голосов
/ 09 ноября 2013

Ошибка # 2046 на Win Vista, 64-битная машина с 1000-мегабайтной видеокартой. Проблема возникает только в MSN Video Sofar

0 голосов
/ 26 августа 2011

Такое поведение может быть связано с утечкой памяти, вызванной либо реализацией Flex, либо плагином браузера. Firefox печально известен тем, что не очищает память в любом случае, и его площадь будет расти, чем дольше у вас будет открываться то же окно браузера.

Если вы уменьшите размер своего гибкого приложения для создания чего-то очень маленького, увеличится ли количество раз, когда вы можете перезагрузить страницу?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...