Forgot your password?
typodupeerror
Internet Explorer The Internet Programming IT Technology

Plugging Internet Explorer's Leaks 480

Posted by CowboyNeal
from the finger-in-the-dike dept.
jgwebber writes "If you're developing DHTML web apps, you probably already know first-hand that Internet Explorer has horrendous memory leak issues. You can't not run on IE, so you've got to find a way to plug those leaks. So I've created a tool to help you find them. So until Microsoft decides to fix its browser architecture (ha!), at least we can keep it from blowing huge amounts of memory."
This discussion has been archived. No new comments can be posted.

Plugging Internet Explorer's Leaks

Comments Filter:
  • Not use IE? (Score:1, Insightful)

    by Jawju (614159) on Friday June 03, 2005 @06:32AM (#12712485)

    You can't not run on IE...

    Um...I'll think you find I can actually.

  • Re:Not use IE? (Score:1, Insightful)

    by Anonymous Coward on Friday June 03, 2005 @06:36AM (#12712496)
    Um, he's not talking about using a different browser, he's talking about writing a website.

    Now most of the time you want as many people as possible to be able to view your site and as IE (unfortunately, but that's just the way it is) still has the biggest market share by far, writing websites that don't work with IE isn't really an option.
  • by MaGGuN (630724) on Friday June 03, 2005 @06:40AM (#12712507)
    Everytime I try to download ten things firefox goes up to 300 megs of memory usage and 99% cpu usage. And I took the screenshots to prove it.

    Frankly, I think you can find problems and features you hate in most programs of a certain size, what matters is that you find the tool for the job that you consider the best match for your needs.
  • by Anonymous Coward on Friday June 03, 2005 @06:50AM (#12712536)

    If it's that easy, then how come that code will block Firefox users too under many circumstances? Not to mention Opera users will get blocked by default.

    For a start, if you are going to send different content based upon the User-Agent header, you need to send a Vary header to indicate you are doing so.

    Short tags are non-portable too, so even your PHP knowledge is crappy.

  • by kf6auf (719514) on Friday June 03, 2005 @06:57AM (#12712558)
    Don't be an @$$. Remember how annoying it was when people said that sites only displayed right in IE 5.5 or "better"? Yeah, you do. Did that get you to use IE? No, it didn't, unless it was your bank or something. So guess what? 90% of people won't go to your non-IE site. Period.
  • Don't Bother (Score:4, Insightful)

    by FellowConspirator (882908) on Friday June 03, 2005 @06:59AM (#12712561)
    If you work around a problem, it hides from the user that the problem exists. The demand to have it fixed, therefore, dissipates and developers accept the onus to repeat work-arounds everytime they deploy something. Ultimately, the browser fails to improve, and the costs of errors are passed from the vendor (Microsoft) who never fixes the problem to the public (developers that waste time with work-arounds).

    Anyway, if you write things specifically for IE -- then you've already got a more serious problem that you have to address first. There's no excuse for what you already know to be dismal practice.
  • by m4dm4n (888871) <madman@nofrance.info> on Friday June 03, 2005 @07:12AM (#12712604) Homepage
    If the web designer is willing to go to the effort of excluding +-90% of browsers, the site probably isn't worth viewing anyway.
  • by Anonymous Coward on Friday June 03, 2005 @07:47AM (#12712693)
    It seems to me people are now attacking IE now from 3 major angles:

    • Memory and resource usage
    • Rendering and adhering to web standards
    • Security

    IMHO, It's laughable to mock IE for memory leaks when Firefox is X (where X > 1) times worse at sucking up and retaining memory.

    People have relentlessly said the reason IE is faster to load than IE on Win32 is because it is "embedded into the OS" and somehow brushed off this advantage in favour of it's debateable disadvantage in terms of security. What's next? Will slashdotters crying out something along the lines of "WOW! IE, an embedded part of the Windows, has memory leaks! What does that say for the Operating System? You better use Linux!"?

    IE may be guilty of having a buggy implementation of web standards such as CSS2.1 but during the browser wars wasn't it IE producing functionality that hadn't even been drafted by the W3C yet?

    Isn't that "Internet Explorer's architecture made this app fairly easy to build." as testament to the browser?

    This tool is interesing and useful for developers and I thank jgwebber for writing it as I'm sure it'll be useful even to lowly personal developers like me.
    On the other hand i'm a bit baffled as to why this article wasn't simply written as "Hey IE has memory leaks, checkout this new tool [blogspot.com] by jgwebber and see for youself. Let's discuss how sucky Internet Explorer is and cover up all the flaws in competitor browsers".

    It would have had the same effect as CowboyNeal's unnecessary "(ha!)"'s and claims of IE's "horrendous memory leak issues" without a link giving some evidence for these claims for those of us without first-hand DHTML development experience.

    I truly wasn't aware of any serious IE memory leaks..i'm going to, go off and Google for information now using the cumbersome Firefox. Any links would be much appreciated since CowboyNeal didn't bother.
  • by zootm (850416) on Friday June 03, 2005 @08:10AM (#12712788)
    Just to add on that point, it's probably worth noting that if you follow a pretty strict OO approach, most of the situations where these unchecked references occur become a lot less likely. There's still problems with non-terminating threads and things, people just have to be careful with the logic of their programs, which is a lot less common than I'd like it to be...
  • by SenseiLeNoir (699164) on Friday June 03, 2005 @08:32AM (#12712897)
    When you become an Adult/Married, and havign a decent job, and move out of your mother's basement, then, maybe your views will change.
  • by Sinus0idal (546109) on Friday June 03, 2005 @08:52AM (#12713007)
    Yes but like Java, Javascript surely uses a garbage collection concept meaning it is the browsers responsibility to free memory, and any leaks are thus due to the browser.
  • by toby (759) on Friday June 03, 2005 @09:34AM (#12713305) Homepage Journal
    during the browser wars wasn't it IE producing functionality that hadn't even been drafted by the W3C yet?

    You say that like it's a good thing(!)

    "Internet Explorer's architecture made this app fairly easy to build." as testament to the browser?

    No; for some pretty obvious reasons: one obvious one being, you exclude anyone not using that particular browser. I thought everyone realised that was a Bad Thing - or maybe you haven't been one of those people who can't use their online bank because the bank decided to arbitrarily depend on IE. One can only hope that accessibility laws will put an end to such stupidities.

    It's not surprising that both browser products have memory leaks. However one could reflect deeply on the differences in responsibility and approaches to remediation. In Firefox's case - being open source - you have complete transparency; you can file a bug on it, check the bug db, or even fix it yourself (don't laugh). In M$'s case, all you can do is kiss your money goodbye and hope they fix it "one day".

    The same goes for all the rest of their system, too. It is not always obvious what a disturbing abdication of rights using a closed system is. A friend recently told me of a Visual $tudio crash triggered by a few \b backspace characters in a print statement. Not such a big deal, I thought at the time; but I found myself reflecting on his story later. Eventually the true horror of the situation sank in, which is that we have to completely trust the ability and goodwill of the vendor to deal with any and all issues in their O/S. That is no small responsibility and there is not much evidence that M$ is capable of fulfilling their end of the bargain. I would postulate, after RMS of course, that no closed and proprietary system on the scale of M$ products can be adequately maintained by one vendor. And of course maintenance becomes irrelevant when major "rewrites" are involved, such as have been prescribed by Longhr0n to fix W1ndows' fundamental ills (ref Spolsky on rewrites, Things You Should Never Do [joelonsoftware.com]).

    The thought that one has no recourse and indeed not even any way to inspect the system one uses (livelihood, etc), is deeply, deeply disturbing, and I again have to thank RMS for pointing out long ago [gnu.org] what a dead-end that is, and for putting in place viable alternatives.

  • by Anonymous Coward on Friday June 03, 2005 @09:39AM (#12713343)
    and have you reported it to the Firefox design team?

    Have you seen how many open bug reports are in Bugzilla?

    Sure he should report it, but when there's "NEW"/"CONFIRMED" memory leak bugs from 5 years ago that are going unfixed, I wouldn't put too much work into it.
  • by joshdick (619079) on Friday June 03, 2005 @10:02AM (#12713513) Homepage
    Nowadays the state of the art has moved on and there is no excuse, none at all, for malloc/free.

    You've obviously never done any embedded programming.

    The low-level capabilities of C/C++ are there by design. That's why it contains the keywords union and register, for example.

    What's more, if everyone jumps on the virtual machine and garbage collection bandwagons, new problems pop up. Abstractions and convienences inevitably foul up, and often lead to poor programs overall.

    The onus for performance should rest with application developers, not compiler developers. Thus, the solution here is for developers to be properly trained and then to take responsibility for such matters as memory leaks. It looks to me that that's exactly what the Firefox team intends to do.

  • Re:RTFA (Score:4, Insightful)

    by shumacher (199043) on Friday June 03, 2005 @11:15AM (#12714139) Homepage
    While I don't think MSIE is inherently evil, I think I could argue that a browser that allows web pages (a resource that should not be trusted) to cause memory leaks is itself flawed. Part of the browser's job is to not expose the user to risk or instability while interpreting documents of unknown maliciousness and quality.
  • Watch me (Score:2, Insightful)

    by ArmorFiend (151674) on Friday June 03, 2005 @11:39AM (#12714341) Homepage Journal
    You can't not run on IE

    Oh yes I can. When I do for-fun sites [osaurus.us], and I need some feature like translucent PNGs, that I feel MS hasn't made a good faith effort to support, I drop IE compatiblity and put an add for Firefox on the page.

    Until many people start doing this, then suckers won't switch. And suckers are the bulk of the internet.

  • but during the browser wars wasn't it IE producing functionality that hadn't even been drafted by the W3C yet?

    Yes, and that was the whole damn problem.

    The point of HTML was universal interoperability (so Tim Berners-Lee's collegues could all read each other's stuff no matter what computer setup they had). But Microsoft sacrificed this in order to obtain control and market share. They encouraged web developers to use their proprietary markup, which forced people into using their browser if they wanted to access this content.

    This was not a benevolent gesture from Microsoft- it was nothing but a power-grab. Open, agreed-upon standards are the foundation of interoperability, and Microsoft always stands against this when it thinks it can monopolize a technology.

  • by RzUpAnmsCwrds (262647) on Friday June 03, 2005 @04:10PM (#12717285)
    "Second, you add some new features. Like stealing compression code from Stacker, MS will just steal one of the "Tabbed browsing in IE" Plugins and muck the variable names up a bit."

    Come on. That's a cheap shot. There is no indication that Microsoft stole any code whatsoever for IE7.

    Ever wonder why Slashdot gets the reputation of being a bunch of crazy coots? Yep, it's people like you lobbing unfounded allegations against Microsoft.

    There are plenty of valid reasons to attack Microsoft. You don't need to make shit up.

10 to the 12th power microphones = 1 Megaphone

Working...