We were getting strange bug reports during several years, and the main idea of that reports is the fact that memory in Internet Explorer 6/7 with Flash Player 9/10 leaks when user refreshes the page. We have spent a lot of time and money trying to locate it, we lost a lot of clients. It was a nightmare for everybody in our support and development teams. We have blamed Adobe and Microsoft, but we never could even think that it is not their fault. And today the miracle has happened. We have tested on two different PCs: one of of them had the memory leak, the second one did not. And the reason of the problem was… Internet Explorer Skype add-on.
Our next experiments showed that memory size increases with any refresh/close page with any swf with installed IE Skype plug-in!!!
Here are details:
What we have:
Enviroment
Vista SP1 x86 Eng, running in VMWare workstation.
Internet Explorer 7.0.6001.18000
Flash Player WIN 10,0,22,87 non-debug, set as ActiveX by visitng the web-site ( http://get.adobe.com/flashplayer ).
We have checked the version here: http://kb2.adobe.com/cps/155/tn_15507.html
Patient
Empty SWF file, compiled for Flash Player 9.
The source code:
package {
import flash.display.Sprite;
class SimpleSWF extends Sprite{
public function SimpleSWF() {}
}
}
Test page with embedded swf using swfobject 2.2 swf: https://www.anychart.com/batsuev/flash-memory-leak/index.html
Test page with sfw emebedded manually: https://www.anychart.com/batsuev/flash-memory-leak/index1.html
Empty page: https://www.anychart.com/batsuev/flash-memory-leak/empty.html
Surgery
How we measured: we’ve installed Vista SP1 x86 eng with the latest version of Flash Player.
IE was opened using command line:
iexplore “page url”
Then we click F5 again and again with 15 seconds delays.
So, empty page with and without Skype add-on (20 tests):
We don’t see any strange behavior yet, but now we’ll open the page with embedded using <object> Flash file:
About 2 MB with every refresh of the page. Even closing the tab doesn’t help, only IE restart works.
We’ll do the same again, but now with using swfobject for swf embedding – and we’ve got the same 2 MB increase with every refresh operation.
Conclusion
Flash player doesn’t release the memory with IE Skype add-on installed. The increase in memory is about 2 MB for every page refresh operation.
Panic
Enable Skype add-onn, then open youtube, and check the memory. I have 28.8 MB. Then we see short 1 minute video and check again:~53 MB. Then we open about:blank – 50 MB in memory.
UPDATE: Tests with Internet Explorer 8 show the same result.
Workaround
This is how you disable only the add-on http://www.screencast.com/t/BrlWxmckTd3. We don’t want users removing Skype! We are working closely with Skype to get a fix out asap – watch this space!
- Categories: AnyChart Charting Component, Tips and Tricks
- No Comments »