Flex error - white exclamation mark in a gray circle: what does it mean?

We have a flex application that will usually work for long periods of time (maybe days or weeks). When I arrived this morning, I noticed that the application stopped working and there was a white exclamation mark in the center of the application in a gray circle. I found a post about this on the Adobe forums, but no one seems to know exactly what the symbol means, so I thought I would turn to the SO community.

Forum Post: http://forums.adobe.com/message/3087523

Symbol Screenshot:

alt text

Any ideas?

+4
source share
4 answers

Here's a response to a post related to an Adobe employee:

The error you see is a new one from memory. this is basically protecting the user when memory usage approaches system resource limits. The best course of action here (if you own the content) is to check your application for a high level of memory usage and error correction. If you are not the owner of the content, it is probably best to contact the owners and let them know about you.

He also talks about this in a later answer:

Developers can use the System.totalMemory property in AS3 - control memory usage to keep Flash Player busy. This iwll let you see how much memory is used, where it leaks and allow you to optimize your content based on this property.

+3
source

I work for a digital signage company, and we also encountered this error, but this is not only due to a memory leak, because it could be caused by the use of vector code on this page. We also noted that this happens without any burst of memory, and sometimes appears randomly. However, we noticed that when we replicated the error with the vector error, she said that it was a memory error, which is clearly not the case.

In our internal tests, we noted that this error only occurs when using a flash player 10.1 or higher, flash player 10 does not seem to have this problem. In addition, it seems that there is a weak connection between the error and the use of the video. I know that this may not be too much help, but just thought that you should know that this is not only a memory leak problem. I posted this error to Adobe and hopefully it resolves it soon.

+1
source

This can happen when using Vector.int, which is initialized using an array of one negative int. Due to how you initialize the vector class with code, for example:

Vector.int ([- 2])

The -2 parameter is passed to the vector class because its initial length, such as Array (5), will be. This causes the error somehow (and is not checked and does not occur as an exception).

+1
source

I also noted that the problem recurs when passing negative values ​​to the length of the vector. A possible explanation is that the vector is trying to isolate the length that it gave immediately.

Since a negative value is forced into uint, a negative value is automatically converted to a very large positive value. this causes Vector to try to allocate too much memory (about 4 GB) and therefore an immediate crash.

if you pass a negative value to the length of the array, nothing happens because, apparently, it is not trying to allocate the length. but you can check the value and see that it is a very large positive number.

This interpretation is a pure hypothesis; I have not heard anything. but this is consistent with the semantics and meaning of the exclamation mark.

This suggests that I was looking for our entire code base to use the "length" of the setter and could not find it with a vector. However, we very often encounter such accidents - some of them are caused by actual high memory consumption (possibly leaks), but in other cases this happens when the memory is relatively low.

I can not explain it. perhaps there are other operations that could potentially lead to the distribution of large amounts of memory, besides the setter being "length"?

+1
source

Source: https://habr.com/ru/post/1333585/


All Articles