From personal experience I'll chime in that IE9 crashes just frequently enough for memory leaks not be a huge issue.
I prefer Chrome, but the only time I've ever seen IE9 crash is on a system that was running old Nvidia drivers. After updating the nvidia graphics drivers to the latest (at the time) the crashes went away and I haven't seen an IE9 crash since.
If you are seriously having an issue with IE9 crashing and aren't just looking for a reason to zing Microsoft, try updating your graphics drivers... Unfortunately having to worry about that sort of thing is the price you pay for the fast low-level GPU drawing/compositor operations.
If swap trashing makes a system unusable, why not get rid of the swap and let the program crash? Isn't that the preferred behavior?
This makes sense for servers, because they shouldn't really have any significant amount of virtual memory space tied up by non-resident allocations.
On a desktop OS, the user has a much larger breadth of software loaded and is only using a subset of a handful of software's allocated memory at once. As long as all of that can be in RAM at once, everything else can be safely swapped out without serious performance degradation. The OS can even prefer to swap out long-dormant processes (like, say, the rarely used SSH server on your desktop) to use that RAM for disk cache.
How does the reporter know this is a leak? High memory consumption is not a "memory leak". The RFC says the data can be retained in history buffers as part of normal operation and as far as I can tell that's what is happening here.
It is OK to have in-memory cache for certain resources. It isn't OK when this cache doesn't shrink under memory pressure. This usually leads to swap trashing after the cache becomes bigger than the available physical RAM on the system. Swap trashing makes the system unusable in most cases. See the comment #6 http://code.google.com/p/chromium/issues/detail?id=81517#c6 .
I've had Ruby processes run wild (think turning off the garbage collector) and grow to 20-30GB on my MacBook and it didn't make my system unusable. Things slowed down, but I could pretty easily open up the Activity Monitor and kill the offending process.
This looks like a fairly old leak in all WebKit browsers. There's a year+ old bug about it filed against Chromium, and I think there's one against WebKit proper as well: http://code.google.com/p/chromium/issues/detail?id=36142
Frustratingly, the chromium and webkit devs seem to have been ignoring it. In my case, it made one of my products completely unusable on all webkit-based browsers... which includes Android, WebOS and iOS. Sigh.
It is OK to have in-memory cache for certain resources. It isn't OK when this cache doesn't shrink under memory pressure. This usually leads to swap trashing after the cache becomes bigger than the available physical RAM on the system. Swap trashing makes the system unusable in most cases. See the comment #6 http://code.google.com/p/chromium/issues/detail?id=81517#c6 .
Ah, that was added after my comment. Nevertheless, there is no evidence this is a memory leak.
It depends on how strictly you define "memory leak." I'm currently in the process of diagnosing a problem that causes steadily increasing memory consumption in one of our servers. Odds are that we are simply keeping a bunch of data around past the time when it should be detected as stale and expunged. If that's true, we still have pointers to the objects and know exactly where and what they are, so the memory has not been "leaked" by the strict definition that we are no longer able to access or deallocate it. Still, pending diagnosis, everyone refers to it as the "memory leak," technical and nontechnical people alike. Usually there is a lot of discussion of such a bug before the cause is detected and not so much afterwards, so there would not be much opportunity to use the term "memory leak" if it was only used postmortem. (Not to mention that true memory leaks are pretty rare nowadays except for those unfortunate enough to be programming in C.)
From personal experience I'll chime in that IE9 crashes just frequently enough for memory leaks not be a huge issue.
I prefer Chrome, but the only time I've ever seen IE9 crash is on a system that was running old Nvidia drivers. After updating the nvidia graphics drivers to the latest (at the time) the crashes went away and I haven't seen an IE9 crash since. If you are seriously having an issue with IE9 crashing and aren't just looking for a reason to zing Microsoft, try updating your graphics drivers... Unfortunately having to wor…
I think the browser has become quite a bit more stable since the last release but I still run into more issues with it while browsing then I generally do with firefox or opera. I work at microsoft so I'm also a little biased against ie9 after dogfooding the beta bits due to peer pressure.
From personal experience I'll chime in that IE9 crashes just frequently enough for memory leaks not be a huge issue.
Zing! There was an issue with pre PHP5.3 where circular references caused memory leaks. In code that could not be moved to 5.3, long running processes were written to auto-restart at a certain point.
Good stuff. We had some issues along these lines at my last job. We were never clever enough to auto-restart though and just perodically restarted things manually and disabled opcode caching.
I hate how Opera never gets any love. It's been the most innovative browser for years now, it had tabs before other browsers even had an MDI and was fast even on my PC with 16 MB RAM.
I was a long time Opera user and love its configurability and full keyboard support for general browsing, but the Chromium dev tools won me over from a developer perspective and I disliked switching between the two.
I hate how Opera never gets any love. It's been the most innovative browser for years now, it had tabs before other browsers even had an MDI and was fast even on my PC with 16 MB RAM.
I was a long time Opera user and love its configurability and full keyboard support for general browsing, but the Chromium dev tools won me over from a developer perspective and I disliked switching between the two.
Hmm, I always prefer Firebug for development, but development and browsing are two separate tasks, so I have no problem using both. Chrome is a solid browser too, though.