Ошибка изгиба - белый восклицательный знак в сером кружке: что это значит? - PullRequest
4 голосов
/ 28 декабря 2010

У нас есть гибкое приложение, которое обычно запускается в течение продолжительных периодов времени (например, дней или недель).Когда я пришел этим утром, я заметил, что приложение перестало работать, и в центре приложения был белый восклицательный знак в сером кружке.Я нашел сообщение об этом на форумах Adobe, но, похоже, никто точно не знает, что означает этот символ, поэтому я решил обратиться к сообществу SO.

Сообщение на форуме Adobe: http://forums.adobe.com/message/3087523

Снимок экрана с символом:

alt text

Есть идеи?

Ответы [ 4 ]

3 голосов
/ 28 декабря 2010

Вот ответ в сообщении, на которое вы ссылаетесь от сотрудника Adobe:

Ошибка, которую вы видите, это новая Недостаточно памяти. это в основном экранирование пользователя, когда использование памяти становится ближе к системе ограничение ресурсов. Лучший курс действие здесь (если у вас есть контент) это проверить вашу заявку на высокий использование памяти и исправление ошибок. Если вы не являетесь владельцем контента, это будет вероятно, лучше связаться с владельцами и дать им знать о проблеме, которую вы видят.

Он также говорит это в более позднем ответе:

Разработчики могут использовать Свойство System.totalMemory в AS3 для контролировать использование памяти, что Проигрывает Flash Player. Это я позволит вам увидеть, сколько памяти используется, где утечки и позволяют оптимизировать свой контент на основе этого свойство.

1 голос
/ 23 апреля 2012

Я также отметил проблему, повторяющуюся при передаче отрицательных значений в длину вектора.Возможное объяснение состоит в том, что вектор пытается выделить длину, которая ему была дана немедленно.

Поскольку отрицательное значение вводится в uint, отрицательное значение автоматически переводится в очень большое положительное значение.это приводит к тому, что вектор пытается выделить слишком много памяти (около 4 ГБ) и, следовательно, немедленно происходит сбой.

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

Это объяснение чисто гипотеза, я его нигде не слышал.но это соответствует как семантике, так и значению восклицательного знака.

Тем не менее, я искал всю нашу кодовую базу для использования установщика "length" и не смог найти его используемым с вектором.Тем не менее, мы очень часто сталкиваемся с подобными сбоями - некоторые из них вызваны фактическим высоким потреблением памяти (возможно, утечками), но в других случаях это просто происходит, когда память относительно мала.

Я не могу этого объяснитьвозможно, есть другие операции, которые потенциально могут привести к выделению большого объема памяти, кроме «длины» установщика?

1 голос
/ 06 мая 2011

Это может произойти при использовании Vector.int, который инициализируется с использованием массива с одним отрицательным целым числом.Из-за способа, которым вы инициализируете векторный класс с помощью кода, такого как:

Vector.int ([- 2])

-2 передается в векторный класс в качестве его начальной длины, как Array(5) будет.Это как-то вызывает ошибку (и не проверяется и не вызывается как исключение).

1 голос
/ 07 января 2011

Я работаю в компании, занимающейся цифровыми вывесками, и мы также столкнулись с этой ошибкой, однако она связана не только с утечкой памяти, поскольку она может быть вызвана использованием векторного кода на этой странице. Мы также отметили, что это происходит без какого-либо всплеска памяти, а иногда появляется случайно. Однако мы заметили, что когда мы повторяли ошибку с векторной ошибкой, она говорила, что это ошибка нехватки памяти - что явно не имело место.

В наших внутренних тестах мы отметили, что эта ошибка возникает только с флеш-плеером 10.1 и выше, флеш-плеер 10, похоже, не имеет этой проблемы. Кроме того, кажется, что существует слабая связь между ошибкой и использованием видео. Я знаю, что это не слишком помогает, но просто подумал, что вы должны знать, что это не только проблема, связанная с утечкой памяти. Я отправил эту ошибку в Adobe, и, надеюсь, они скоро ее устранят.

...