开发者

Flex error- White exclamation point in gray circle: What does it mean?

开发者 https://www.devze.com 2023-02-01 05:59 出处:网络
We have a flex app that will typically run for long periods of time (could be days or weeks). When I came in this morn开发者_运维技巧ing I noticed that the app had stopped running and a white exclamat

We have a flex app that will typically run for long periods of time (could be days or weeks). When I came in this morn开发者_运维技巧ing I noticed that the app had stopped running and a white exclamation point in a gray circle was in the center of the app. I found a post about it on the Adobe forums, but no one seems to know exactly what the symbol means so I thought I'd reach out to the SO community.

Adobe forum post: http://forums.adobe.com/message/3087523

Screen shot of the symbol:

Flex error- White exclamation point in gray circle: What does it mean?

Any ideas?


Here's an answer in the post you linked to from an Adobe employee:

The error you are seeing is the new out of memory notification. It is basically shielding the user when memory usage gets near the system resource cap. The best course of action here (if you own the content) is to check your application for high memory usage and correct the errors. If you don't own the content, it would probably be best to contact the owners and make them aware of the issue you are seeing.

He also says this in a later response:

Developers can use the System.totalMemory property in AS3 to monitor the memory usage that the Flash Player is taking up. This iwll allow you to see how much memory is used, where leaks are and allow you to optimize your content based on this property.


I work for a digital signage company and we have also came across this error, however, it is not only memory leak related because it can be caused by utilizing the vector code on that page provided. We have also noted that it occurs without any kind of memory spike whatsoever, and sometimes appears randomly. However we noticed that when we replicated the bug with the vector error, it was saying it was an out of memory error - which clearly was not the case.

In our internal tests we noted that this bug only occurs with flash player 10.1 and up, flash player 10 does not seem to have this issue. Further, there seems to be a weak connection between the error occurring and the use of video. I know this might not be too much help, but just thought you should know it is not only a memory leak related issue. I have submitted this bug to Adobe, and hopefully they resolve it soon.


This can occur when using a Vector.int which is initialized using an array of a single, negative int. Because of the way you initialize the vector class with code such as:

Vector.int([-2])

The -2 gets passed to the vector class as it's initial length like Array(5) would be. This causes an error somehow (and is not checked and raised as an exception).


I have also noted the issue repeating when passing negative values to length of a Vector. A possible explanation would be that the vector tries to allocate the length its been given immediately.

Since the negative value is being forced into a uint, the negative value autumatically translates to a very large positive value. this causes the Vector to attempt allocation of too much memory (about 4GB) and hence the immediate crash.

if you pass a negative value to the length of an Array nothing happens, because apparently it does not attempt to allocate the length. but you can inspect the value and see that it is a very large positive number.

This explanattion is pure conjecture, I did not hear it anywhere. but it is consistent with as semantics and the meaning of the exclamation mark.

This said, I have search our entire code base for the use of the setter "length" and could not find it used with a Vector. Still, we are experiencing very often crashes of this sort - some of them are caused by actual high memory consumption (probably leaks) but other times it just happens when the memory is relatively low.

I cannot explain it. perhaps there are other operations that can potentially lead to allocation of large amounts of memory other the the setter "lenght"?

0

精彩评论

暂无评论...
验证码 换一张
取 消