ajaxian » ie’s memory leak fix greatly exaggerated
ajaxian » ie’s memory leak fix greatly exaggerated
ajaxian
the web renaissance is here
news
podcasts
showcases
resources
training
conference
jobs
planet
patterns
contribute news
go
jobs @ ajaxian
find a job, post a job.
topics
.net (55)
accessibility (37)
adobe (40)
advertising (3)
ajax (305)
ajaxian.com announcements (3)
android (2)
announcements (60)
articles (182)
atlas (5)
book reviews (14)
books (19)
browsers (61)
builds (4)
business (15)
calendar (11)
canvas (31)
chat (22)
coldfusion (6)
comet (32)
component (93)
conferences (17)
css (67)
database (6)
debugging (3)
design (9)
dojo (131)
dwr (10)
editorial (247)
email (5)
examples (130)
ext (33)
firefox (44)
flash (52)
framework (40)
fun (39)
games (36)
gears (32)
google (109)
gwt (38)
html (16)
ie (66)
interview (20)
iphone (29)
java (119)
javascript (677)
jmaki (7)
jquery (45)
json (27)
library (378)
liveedit (5)
livesearch (15)
mac (1)
mapping (33)
microformat (1)
microsoft (15)
mobile (28)
mootools (6)
office (9)
offline (26)
openajax (1)
opera (9)
performance (22)
perl (7)
php (75)
plugins (3)
podcast (24)
portal (13)
pragmatic ajax (2)
presentation (36)
programming (132)
prototype (169)
python (5)
qooxdoo (1)
rails (27)
recording (6)
remoting (19)
richtextwidget (15)
roundup (7)
ruby (50)
safari (24)
screencast (32)
scriptaculous (28)
security (43)
server (9)
showcase (575)
social networks (7)
sound (2)
standards (5)
storage (2)
survey (8)
svg (5)
testing (25)
the ajax experience (59)
tibco (22)
tip (43)
toolkit (160)
tutorial (11)
ui (90)
unobtrusive js (13)
usability (64)
utility (126)
w3c (3)
web20 (24)
widgets (4)
workshop (7)
xmlhttprequest (34)
yahoo! (73)
archive
november 2007 (47)
october 2007 (123)
september 2007 (99)
august 2007 (109)
july 2007 (89)
june 2007 (86)
may 2007 (89)
april 2007 (87)
march 2007 (106)
february 2007 (87)
january 2007 (104)
december 2006 (92)
november 2006 (120)
october 2006 (120)
september 2006 (92)
august 2006 (106)
july 2006 (100)
june 2006 (83)
may 2006 (99)
april 2006 (78)
march 2006 (111)
february 2006 (117)
january 2006 (118)
december 2005 (106)
november 2005 (111)
october 2005 (67)
september 2005 (87)
august 2005 (85)
july 2005 (51)
june 2005 (70)
may 2005 (63)
april 2005 (11)
march 2005 (23)
0 (1)
tuesday, september 18th, 2007
ie’s memory leak fix greatly exaggerated
category: ie
we were all hoping that ie’s memory leaks were fixed, but joel webber of the gwt team dug deeper . at first he was excited of course:
when i saw this article, i nearly spilled tea all over the keyboard. they really fixed this issue? you mean i can untangle all the painful code in gwt that works around this issue, diligently cleaning up all its circular dom references under all sorts of circumstances?
and then he had a gut check:
before i got too excited, i had to do a little gut-check. did they really go back and make it possible for their garbage collector to chase references through com objects? that would be wonderful, but i’m not holding my breath.
and it’s a good thing, because there’s basically no way in hell they did that. in fact, it turns out that all they did was write a little code to sweep the dom on unload and clean up all the extant circular references on those elements. this means that *all elements not still attached on unload are still leaked, along with the transitive closure over all references javascript objects*. in even marginally complex applications, that means you’re still going to leak like a bloody sieve!
and finally he tested it with a script to prove that ie still throws out memory all over the shop. some things are too good to be true.
come on ie team. for awhile you were out in the open talking to the community, and then you went back into the black hole!
posted by dion almaer at 9:56 am
4.2 rating from 29 votes
12 comments
»
comments feed
trackback uri
you forgot the link.
comment by simon willison — september 18, 2007
hmmm,
we wanted to support ie with java script memory validator but the ie team members change so rapidly (being pulled off one thing onto another) that the people inside microsoft that were trying to help us could no longer make it happen. if microsoft would talk to us we could have a working memory tool for ie in weeks.
stephen
comment by stephen kellett — september 18, 2007
only loosers still use ie nowadays
enjoy the web, there is plenty to do if your browser let you
comment by scriptkiddie — september 18, 2007
ie is not the only one that has memory leak problem. if you watch ff memory usage while interacting with ajax app (eg. extjs) you will also see that the usage is increasing. it does release some of used memory, but apparently some are still stuck and can’t be released.
comment by georg miller — september 18, 2007
safari also has memory leaks, and i doubt opera doesn’t. the problem though is that ie’s developed in an environment that precludes community help improving the browser.
comment by trevor — september 18, 2007
we got lucky in dojo 0.9 that we were testing for memory leaks and spotted this early. we re-enabled the memory leak prevention code just before release for ie 7…we’re still finding new leakage patterns. for things to be cleaned up correctly, we have to ensure that things don’t actually get destoryed, but rather added to the visible dom just before unload (as the pattern describes would imply). real dom cleaning code still has to be part of every toolkit. it’s effing insane that we’re still doing this shit in 2007. ie’s com dependency is going to be the death of us all.
comment by alex russell — september 18, 2007
told you so :p
http://weblogs.asp.net/bleroy/archive/2007/06/26/ie6-s-main-memory-leak-hot-fixed.aspx
we didn’t change a thing in asp.net ajax after this hotfix, which is not fixing anything for all practical purposes. as alex says, the cleanup code is pretty much still needed in every toolkit.
comment by bertrand le roy — september 18, 2007
wow, what happened to automatic garbage collection?
comment by andy — september 18, 2007
alex,
can you elaborate a bit on what you said about “for things to be cleaned up correctly, we have to ensure that things don’t actually get destoryed, but rather added to the visible dom just before unload (as the pattern describes would imply)”?
one thing i would love to see is a resource which explicitly describes the leak patterns, and proper ways to deal with them.
comment by frank — september 19, 2007
i´m so happy i saved my time throwing my own related code out of my lib… i really don´t understand this behaviour from microsoft. we really need cross-browser js engine plugins with auto-update and a valid open source reference implementation… :-(
comment by frank thuerigen — september 19, 2007
we also do some pretty awful backflips to work around this problem, though they tend to remain buried in the low-level gwt libraries. the hardest problem to deal with, in my experience, is avoiding leaks *while the app is running*. that is, if i create a widget, use it, then throw it away while the app is running, it needs to get cleaned up.
otherwise, you’ll end up blowing enormous amounts of memory in a long-running app.
this article’s very gwt-specific, but will give you some of the flavor of how we approach the problem: http://code.google.com/p/google-web-toolkit/wiki/domeventsandmemoryleaks
comment by joel webber — september 20, 2007
oh, come on, http://browsehappy.com/why/
be happy, now ;)
comment by nikita kapustin — september 23, 2007
leave a comment
name (required)
mail (will not be published) (required)
website
spam is a pain, we are sorry to have to do this to you, but can you answer the question below? if so, the comment will go through!spam question: what does the x in ajax stand for?your answer:
xhtml: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>
recent entries
eye-fi: do you want web 2.0 with your 2gb?
html5 media support: video and audio tags and scriptability
mozilla hunting for memory
debugbar 5: new css debugging for ie
another webkit win with android
making the opensocial api feel more at home
capability javascript: javascript isn’t caja
john resig plays with ecmascript 4
get rid of the ie iframe “click”
interview with joe hewitt on the new devphone.com
audible ajax
episode 20
in episode 20, we chat with kevin lynch, brendan eich, alex russell and others to find out more about
project tamarin, the high-speed javascript engine donated by adobe to the mozilla foundation.
podcast rss
more podcasts
get e-mail updates
receive e-mails on the topics that interest you most. you'll get the latest news, technical resources, announcements and more. select your topics and submit your e-mail below.
browser plug-ins
client-side frameworks
interaction design/   graphic design/user experience
javascript
programming techniques
security
server-side frameworks
not a member? we'll activate your free membership with your subscription.
ajaxian jobs
more jobs | post a job
contact us
who are the ajaxians? find out.
please contact us at .
we would love to hear about any news that we could put up here.
we have individual blogs too:
dion almaer's blog
ben galbraith's blog
rob sanheim's blog
michael mahemoff's blog
chris cornutt's blog
dietrich kappe's blog
feeds
enter your email
powered by feedblitz
powered by wordpress.
entries feed.
valid xhtml and css.
all rights reserved, copyright 2007. about us.
privacy policy
Acceuil
suivante
ajaxian » ie’s memory leak fix greatly exaggerated IPython fix for Leopard - O'Reilly ONLamp Blog Fix all Ajax cross-browser problems then deploy Wiki Autrans - Fix FIX-IT - bedrijvengids - handelsgids - webdesign - Pc repair ... PC Fix Error Doctor Registry Cleaner PC Diagnostics PC Checkup SF Gate: Columnists: Mark Morford Archive PNG in Internet Explorer: How to Use Registry Repair, Clean Up & File Fix for Windows Markdown Fix Histoire philosophique et politique des établissemens et du ... - Résultats Google Recherche de Livres How not to fix HTML ¶ Personal Weblog of Joe Clark, Toronto Madeleine Fix-Hansen :: Design :: Illustration :: Media ... MacNN Apple updates iMac fix for Tiger users MacNN Apple updates iMac fix for Tiger users Acheter Housse pouf Sit Fix... avec eco-SAPIENS macosxhints.com - 10.5: A fix for broken video chats and screen ... PKH-fix - Prozeßkostenhilfeberechnung molly.com » So How Do We Fix the Web, Really? How to fix broken Firefox extensions Free Software Magazine System Downloads : DHCP Fix /// AnalogX Reviews: Video Game Reviews Are Broken, Please Fix OpenBSD 4.0 errata Water fix proposed in Southeast - Weather - MSNBC.com Lettres édifiantes et curieuses, écrites des missions étrangères. - Résultats Google Recherche de Livres Candy- Chocolate- A Candy Fix Free Registry Fix - Fix My Registry QuickFix: Open Source FIX Engine SmitFraudFix Macworld: News: Apple posts QuickTime security fix Macworld: News: Apple releases fix for iMac freezing issue Object Fix Zip - Freeware for repairing damaged ZIP archives with ... Bike Shop Frederick, Maryland Bike Repairs, Bike Sales --BICYCLE ... Two charged with hacking PeopleSoft to fix grades - Network World BBC/OU Open2.net - Can Gerry Robinson Fix The NHS? Google to fix blog noise problem The Register Tena Fix - Incontinence Windows Mobile 5.0 Fix Site - Home Bug Fix Weekend finished :: pnCommunity :: Support at your fingertips はてなブックマーク - FIX Your Freebie Fix - All the latest Freebies, Coupons and Online Deals Portail Internet de la Haute Autorité de santé - H-FIX PDS frontline: the wall street fix PBS Fix Your Money Screw-Ups - Kiplinger.com [Profil de fix] OverBlog - Le blog des blogs XML.com: Using XSLT to Fix Swing Mr. Fix It (2006) KompoZer - Easy web authoring Rob Galbraith DPI: EOS-1D Mark III sub-mirror fix announced in USA ... Indonesia's three divas fix the nation's finances International ... Objet Publicitaire : Magnet Magic fix - ALB01.com Windows Vista Team Blog : Partners helping fix Vista Software ... FOSSwire » Fix a Frozen System with the Magic SysRq Keys Why Blog Post Frequency Does Not Matter Anymore Marketing Profs ... serious fix 4.1 How to Fix CGI - majordojo GRC CIH Virus Recovery You receive an access violation error and the system may appear to ... FIX: Update to enable DirectX Video Acceleration (DXVA) of Windows ... Video Coldplay - Fix You - coldplay, fix, you, clip ... Free Registry Fix 3.9 for Windows