📜 ⬆️ ⬇️

Internet Explorer + Flash Player + IE Skype Add-on = Memory Leak

For several years, we ( anychart.com ) periodically receive bug reports , the essence of which boils down to the fact that the memory in Internet Explorer 6/7 (and Flash Player 9/10 in it) terribly flows during the refresh of the page. Long and hard we tried to find a solution to this problem, lost customers, did not sleep at night. Over time, IE + Flash Player became my nightmare. We are both Adobe and Microsoft, but could not think that they have nothing to do with it.
Today a miracle happened. With the next test on two identical machines, there was a difference - there was a memory leak on one, not on the other. A long and stubborn brainstorming found the root of all evil. It turned out to be ... Internet Explorer Skype add-on!

-----
Update:
I was contacted from Skype. Add to post
Peter Kalmström, PM Skype Toolbars:
1. This is how you disable only the add-on www.screencast.com/t/BrlWxmckTd3 . Skype
2. We are working closely together to get a fix out asap - watch this space!
-----
One more update:
Post in English in our blog: www.anychart.com/blog/2009/07/27/anychart-has-discovered-bug-in-skype-skype-promises-to-fix-it-asap-2

Next, experiments were conducted that showed that with Skype installed, add-on memory grows with each refresh / closing of the page with ANY! swf
')
So, confirmation of the diagnosis.



What we have


Environment

Net Vista SP1 x86 eng, launched in VMWare workstation.
Internet Explorer 7.0.6001.18000
Flash Player WIN 10,0,22,87 non-debug, installed as ActiveX through access to the site adobe ( get.adobe.com/flashplayer ). The version was checked here: kb2.adobe.com/cps/155/tn_15507.html

A patient

Empty SWF file compiled under the 9th Flash Player. Its code is:
package {
import flash.display.Sprite;

class SimpleSWF extends Sprite {
public function SimpleSWF() {
}
}
}

Test page with embedded swfobject 2.2 swf:
anychart.com/batsuev/flash-memory-leak/index.html

Test page with integrated swf handles
anychart.com/batsuev/flash-memory-leak/index1.html

Empty page
anychart.com/batsuev/flash-memory-leak/empty.html

Operation


How measurements were taken: Vista SP1 x86 eng was installed on vmware, then the latest Flash Player was installed.
IE opened using the command line:

iexplore "here is the address of the page"

Further, F5 stubbornly choked in it with waiting 15 seconds between updates.

So, the comparison of a blank page and its 20 updates with and without skype add-on:



There is no particular growth in the use of memory, and nothing terrible happens.

Now open the page with the built-in via <object> Flash:



~ 2 megabytes per refresh page. Closing the tab does not help, only restarting IE helps.

Now the same thing, but we will use swfobject to embed the swf:



We get about the same 2 megabytes of growth per refresh.

(A bit of PR: graphics are drawn by anychart via Save as image)

findings


When Skype is installed, the Flash Player ActiveX plugin does not clear the memory.
With an empty swf-ke growth is 2 megabytes for each refresh / leaving the page.

Panic


Make sure skype add-on is enabled, open youtube, look at the memory. I got 28.8 megabytes. Watch a small video lasting 1 minute. Memory becomes ~ 53 megabytes. Go to about: blank - the memory is slightly reduced to 50 megabytes.

UPDATE: Internet Explorer 8 behaves the same

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


All Articles