Become a fan of Slashdot on Facebook

 



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

Plugging Internet Explorer's Leaks 480

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:
  • by robojamie ( 883110 ) on Friday June 03, 2005 @06:32AM (#12712486)
    The true source of IE memory leaks?

    Korean outsourcing
  • by ajs318 ( 655362 ) <sd_resp2@earthsh ... .co.uk minus bsd> on Friday June 03, 2005 @06:43AM (#12712517)
    Actually, it's very easy to make a site not run on IE; as the following example shows.

    <?
    if (preg_match("/MSIE/i", $_SERVER["HTTP_USER_AGENT"])) {
    header("Location: http://www.mozilla.org/products/firefox/");
    exit();
    };
    ?>
    <html>
    <head>
    <title>This site will not display in Internet Explorer</title>
    .
    .
    .
    </head>
    <body>
    .
    .
    .
    </body>
    </html>
  • by jrumney ( 197329 ) on Friday June 03, 2005 @06:43AM (#12712519)
    Because computers use base-12 counting

    Please, tell us more about the fascinating workings of computers you seem to know so much about.

  • by BRonsk ( 759601 ) on Friday June 03, 2005 @06:45AM (#12712526) Homepage
    I entirely stopped using Windows a month ago

    And your new OS do not have Firefox ?
  • by iceborer ( 684929 ) on Friday June 03, 2005 @06:53AM (#12712548)
    (Why 16384 instead of 16000? Because computers use base-12 counting. Thus 16 megabytes = 16384 bytes...)

    I think you made a simple typo in this sentence. It should read Thus 16 megabytes = 1283918464548864 bytes.
  • by gerddie ( 173963 ) on Friday June 03, 2005 @07:15AM (#12712613)
    Probably that 12 is base 14?
  • Re:NOOB... (Score:3, Funny)

    by Negatyfus ( 602326 ) on Friday June 03, 2005 @07:42AM (#12712678) Journal
    Well, the memory remains allocated to the application. The thing is, it's a programming bug. The application allocates a piece of memory but never releases it, not even when it's not needed anymore. In a managed environment like .NET or JVM, a garbage collector periodically checks whether a certain piece of code or memory is still active, and when it's not it gets "collected" (freed).
  • Re:NOOB... (Score:1, Funny)

    by Anonymous Coward on Friday June 03, 2005 @10:42AM (#12713828)
    This is very interesting, are memory leaks only a problem when running an application and the memory is returned when it closes, or is the memory gone and eventually you need to reboot?

    Usually operating systems will free memory allocated to an application when it exists. There are probably ways to confuse every operating system and prevent this, though.

    In any case, it's generally considered bad form to ever rely on the OS to free your memory for you (at least in languages where you have to manage the memory), and leaks that accumulate in your main loop are obviously a big problem.

    Where does the memory leak to?

    If the leaked memory does not share a page with often-used memory in a separate allocation, it eventually gets push out to the pagefile. Eventually (could take a LONG time) the application will exhaust its address space and die, but it won't really affect other applications too much. (there's less virtual memory available, but you're probably in trouble anyway if you're that close to the limit)

    If the leaked memory DOES share a page with other goodies, it'll eat up part of your physical memory and ultimately lead to more heavy swapping, slowing down the machine.

    Most likely you'll end up with some combination of these two. Smaller leaks will tend toward using physical memory, larger ones (relative to the machine's page size) toward pagefile.
  • Re:NOOB... (Score:3, Funny)

    by ScrewMaster ( 602015 ) on Saturday June 04, 2005 @12:15AM (#12720918)
    Normally, it leaks out onto the surface upon which the computer is resting, however I have connected some surgical rubber tubing to my computer and have thus routed the outflow into the sump in my basement, where it is periodically flushed into the rain sewer. I'm not entirely sure whether this is environmentally sound, or not, and I would appreciate anyone with more experience in proper disposal techniques for leaked memory giving me a heads up.

UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things. -- Doug Gwyn

Working...