5 Dec 2012 11:30 AM #1
Memory Leak on refresh ( IE9, HTML 5, ExtJS 3.4.0, ExtJS 4.1.1a Sandbox, No Iframe)
Ext version tested:
- ExtJS 4.1.1a Sandboxed with ExtJS 3.4.0
- HTML 5
- Including ExtJS 4.x sandbox, ExtJS 3.4.0 base and ExtJS 3.4.0 all scripts in a blank HTML 5 document and refreshing page leaks ~20MB each refresh.
- Page Refresh
- IE9 Memory Usage stays about the same after each refresh
- IE9 Memory Usage increases by ~20MB after each refresh
<!DOCTYPE HTML> <html> <head> <script src="ext340-base-debug.js"></script> <script src="ext340-all-debug.js"></script> <script src="ext411-all-sandbox-debug.js"></script> </head> <body> </body> </html>
Debugging already done:
- Remove the doctype - no leak
- Remove ExtJS 4.x sandbox - no leak
- Remove ExtJS 3.x base and all - no leak
- Comment out fireDocReady in ExtJS 4.x sandbox - no leak
- No CSS
- Windows 7
5 Dec 2012 12:19 PM #2
- Join Date
- Mar 2007
- Gainesville, FL
- Vote Rating
Does this happen without sandbox?Mitchell Simoens @LikelyMitch
Sencha Inc, Senior Software Engineer
Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/
Need more help with your app? Hire Sencha Services firstname.lastname@example.org
Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is in print!
When posting code, please use BBCode's CODE tags.
5 Dec 2012 12:35 PM #3
If you mean does it happen without the Ext4 sandbox script included, then no it does not leak.
If you mean does it happen with Ext4 non-sandboxed included, then the answer is also no, it does not leak, however this is probably because of script errors triggered by running 3 & 4 together un-sandboxed.
29 Jan 2013 10:49 AM #4
Hi, unfortunately I was also hit by this memory leak issue (and some other annoying things with sandbox).
Richard did a very good job with tracking this down to "fireDocReady", so I just took it from there.
Seems like the "MouseEnterLeave" test performed inside Ext.supports.init() call leaks in sandbox.
I'll continue checking tomorrow, but so far it seems to be the reason.
EDIT: I made a mistake with tests bisection (was too tired probably). It's not "MouseEnterLeave" as it turns out, but it's neightbour "GeoLocation", and specifically this beauty:
typeof navigator.geolocation != 'undefined'
Doing'geolocation' in navigator
PS: I only tested sandbox version, but seems this should leak in all cases - confirmed. I posted a separate bug report for this issue since it's not really sandbox related: http://www.sencha.com/forum/showthread.php?255148