Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Firefox Working to Fix Memory Leaks

Posted by CmdrTaco on Mon Sep 24, 2007 11:29 AM
from the important-but-boring-work dept.
Christopher Blanc writes "Many Mozilla community members, including both volunteers and Mozilla Corporation employees, have been helping to reduce Firefox's memory usage and fix memory leak bugs lately. Hopefully, the result of this effort will be that Firefox 3 uses less memory than Firefox 2 did, especially after it has been used for several hours." Here's hoping. Frequent restarts of things on my computer make me furious. I can't imagine why anyone would tolerate such things.

Related Stories

[+] Your Rights Online: Firefox 3 Antiphishing Sends Your URLs To Google 296 comments
iritant writes "As we were discussing, Gran Paradiso — the latest version of Firefox — is nearing release. Gran Paradiso includes a form of malware protection that checks every URL against a known list of sites. It does so by sending each URL to Google. In other words, if people enable this feature, they get some malware protection, and Google gets a wealth of information about which sites are popular (or, for that matter, which sites should be checked for malware). Fair deal? Not to worry — the feature is disabled by default."
This discussion has been archived. No new comments can be posted.
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • about time! (Score:4, Insightful)

    by downix (84795) on Monday September 24, @11:32AM (#20730379)
    Too many apps nowadays just throw out RAM like it was yesterdays newspaper! It is sloppy coding, and I'm tired of having to put 2GB of RAM into a system just to surf the net nowadays.
    • Re:about time! by tritonman (Score:2) Monday September 24, @11:33AM
    • Glad the issue is getting some priority, but .... by waterbear (Score:3) Monday September 24, @11:45AM
    • Re:about time! by DustyShadow (Score:2) Monday September 24, @11:45AM
    • Because YOU allow it! (Score:4, Informative)

      by www.sorehands.com (142825) on Monday September 24, @12:10PM (#20731041)
      (http://www.barbieslapp.com/)
      It is because people accept poor programming as the norm. Oh, yeah, just reboot it and it'll be fine.

      I consult for someone who uses ACT! 2005. When they got the upgrade notice, they asked me to check it out. I spoke to ACT! support and they told me "We improved performance by releasing resources that we are no longer using." I said, "THAT IS A BUG FIX!" Anybody writing code outside of school should be doing it, and if I was grading their code, I would take points off for that.

      I'd like to see some of these software companies that do this get sued for such poor coding practices.
      [ Parent ]
    • Re:about time! by icepick72 (Score:2) Monday September 24, @01:13PM
    • Re:about time! by Threni (Score:1) Monday September 24, @01:44PM
    • Less than surprising by Anonymous Coward (Score:1) Monday September 24, @01:55PM
    • Re:C++ long-in-the-tooth? by deftcoder (Score:2) Monday September 24, @11:41AM
      • If you can't code without hand-holding tools like automatic garbage collection, perhaps you belong in a different profession!
        Professional computer programming, for example.
        [ Parent ]
      • Re:C++ long-in-the-tooth? (Score:5, Insightful)

        by SilentChris (452960) on Monday September 24, @11:49AM (#20730685)
        (http://slashdot.org/)

        If you can't code without hand-holding tools like automatic garbage collection, perhaps you belong in a different profession!


        Or perhaps they're too busy thinking about clearly-defined objects, robust interfaces, clean documentation and the "big picture" then to worry about moving individual bytes around.

        Likewise, I don't trust any artist using Flash today. They should clearly know how to code, in assembly, animation and transitions. Use of a timeline is for losers. The creative process should always be sacrificed for knowing the code inside out. /sarcasmoff
        [ Parent ]
        • Re:C++ long-in-the-tooth? (Score:4, Insightful)

          by caerwyn (38056) on Monday September 24, @11:56AM (#20730797)
          Or perhaps they're too busy thinking about clearly-defined objects, robust interfaces, clean documentation and the "big picture" then to worry about moving individual bytes around.

          Actually, I'd say they're not busy enough- if they actually had been, proper memory management should simply fall into place on top of a clean architecture. If you're trying to shoehorn memory management back into something that didn't support it before, you're going to have issues- and this applies whether you're doing c/c++ style management, reference counting, or garbage collecting.
          [ Parent ]
        • Re:C++ long-in-the-tooth? (Score:5, Insightful)

          by Kristoph (242780) on Monday September 24, @12:00PM (#20730883)
          A computer, by definition, 'moves bytes around'. One might argue that this is the job of the computer (or language or VM or whatever) and not programmer but if you don't understand how / why and when the bytes are moved around then you are a poorer programmer for it.

          C++ yields superior performance and memory usage, than higher level languages, in the hands of a skilled C++ programmer and it can lead to bloatware in the hands of a novice.

          There is this old saying about blaming your tools for a poor job and it applies to software development too.

          ]{

          [ Parent ]
          • Re:C++ long-in-the-tooth? (Score:4, Insightful)

            by dgatwood (11270) on Monday September 24, @01:49PM (#20732643)

            Precisely. A skilled craftsman does not blame the tools. A skilled craftsman does the job right, and if it cannot be done right with the tools at hand, he/she goes and gets tools that are appropriate for the job.

            Poor programming is possible in any language, and garbage-collected languages are no exception. I would also caution that garbage-collected languages tend to encourage more novice programmers because of the apparent ease of use (it isn't really easier). This results in a larger number of poorly-written apps by people who think they know how to write software. Taking away the need to explicitly manage memory just encourages lazy programmers who can always find something else to be sloppy about.

            As for garbage collection making this sort of thing magically go away, that simply isn't the case. Working around garbage collection with things like "soft references" is a disgusting hack and is actually far harder than simply doing explicit memory management in the first place. Anyone who says differently has never had to manage any complex data structures that reference each other in non-trivial ways. The alternative is to basically write your own code that explicitly walks the data structure, deleting circular references, etc. If you're going to that much trouble, you are doing just as much work as you would for explicit memory management, but without the performance benefits from actually being able to destroy the objects immediately, and thus garbage collection is just hurting performance without providing any real benefit.

            Basically, apart from the really trivial cases (most of which could be solved just as easily by simply creating a stack-local auto-destroy variant of malloc), garbage collection causes more problems than it solves. In my book, garbage collection in programming language ranks right up there with multiple inheritance as one of the worst ideas ever conceived.

            [ Parent ]
          • Re:C++ long-in-the-tooth? by Wavicle (Score:2) Monday September 24, @01:54PM
          • Re:C++ long-in-the-tooth? by Anonymous Coward (Score:1) Monday September 24, @02:48PM
          • Re:C++ long-in-the-tooth? by owlstead (Score:2) Monday September 24, @05:07PM
        • Re:C++ long-in-the-tooth? by gcauthon (Score:2) Monday September 24, @12:01PM
        • Re:C++ long-in-the-tooth? (Score:5, Insightful)

          by Hatta (162192) on Monday September 24, @12:26PM (#20731293)
          (Last Journal: Monday November 28 2005, @12:21PM)
          Likewise, I don't trust any artist using Flash today.

          That's a good instinct. Never trust anyone using Flash.
          [ Parent ]
        • 1 reply beneath your current threshold.
      • Re:C++ long-in-the-tooth? (Score:5, Interesting)

        by suv4x4 (956391) on Monday September 24, @11:50AM (#20730691)
        If you can't code without hand-holding tools like automatic garbage collection, perhaps you belong in a different profession!

        Firefox's problem is architectural and not one of garbage collection.

        XUL is inherently single-threaded and JavaScript based. Try out any XUL application out there and you'll see how you get the same poor performance, speed and resource usage as with Firefox (try Miro Player and Joost).

        The Firefox developers are literally throwing out more C code with every release, replacing it with JavaScript code.

        Leaks (in the classical sense) aren't what's causing Firefox's abysmal performance, and this is why Firefox 2 performs worse than Firefox 1.5, despite one of the "features" of Firefox 2 was supposedly plenty of fixed memory leaks.

        Actually I'm pretty sure they're in denial as to the cause of their problems. Announcing they're working on fixing "memory leaks" just supports their ability to continue their delusion.

        [ Parent ]
        • Mod parent up (Score:5, Insightful)

          by Anonymous Coward on Monday September 24, @12:14PM (#20731111)
          The parent post is completely correct. The main problem with Firefox and Mozilla in general is the XUL architecture. It is single-threaded such that JavaScript cannot run in multiple threads. And I've tried. It can't be done, Firefox will actually crash. (You can try with XPCOM, but it will crash.) I asked, and the solution given to me by the Firefox community (which isn't necessarily the developers, mind you) was to use Java from JavaScript, which is a non-starter if you want to write a cross-platform extension. (Not because Java isn't crossplatform, but because you can't guarantee that Firefox will be installed with a JVM.)

          Firefox's problem is architectural and not one of garbage collection.
          Unfortunately part of their problem is garbage collection - it's due to their architecture, but they have at least four separate memory allocation schemes going:

          1. Custom malloc/free implementation. (Yes, custom - not from libc.)
          2. C++ new/delete operators, which for all I know may be overridden to use their malloc/free.
          3. One of the first two with reference counting to decide when to free/delete.
          4. JavaScript mark-and-sweep GC.

          Dealing with this causes some truly insane hacks, like the absolutely insane DOM C++/JavaScript implementation. (They're C++ objects, exposed as JavaScript objects, using something that's like XPCOM but isn't due to the overhead XPCOM imposes. I really don't understand it.)

          Ultimately, though, it's worse than all that. All this crap leaves the code completely opaque, and actively prevents contributors from contributing code without having to learn an insane amount of infrastructure decisions.

          It makes a project that's supposed to be open source effectively closed off to only the "official" developers: almost open source in name only.
          [ Parent ]
          • Re:Mod parent up by Dr. Spork (Score:2) Monday September 24, @01:42PM
          • Re:Mod parent up (Score:5, Interesting)

            by BZ (40346) on Monday September 24, @01:59PM (#20732805)
            (http://web.mit.edu/bzbarsky/www/)
            > 1. Custom malloc/free implementation. (Yes, custom - not from libc.)

            Uh... No. There are some arena allocators in use in the codebase for very specific tasks, but there is no custom malloc/free.

            > They're C++ objects, exposed as JavaScript objects, using something that's like XPCOM but isn't

            Actually, to be exposed to JS in Gecko something more or less has to be an XPCOM object at the moment. Then the XPConnect layer handles the glue between JS and C++.

            > It makes a project that's supposed to be open source effectively closed off to only the
            > "official" developers

            As someone who got into this project without being in any way "official", I beg to differ! ;)
            [ Parent ]
          • Re:Mod parent up by sjames (Score:2) Tuesday September 25, @11:38AM
          • Re:Javascript engine Tamarin will use conservative by QuoteMstr (Score:2) Tuesday September 25, @01:59AM
          • 2 replies beneath your current threshold.
        • Re:C++ long-in-the-tooth? (Score:5, Informative)

          by jsebrech (525647) on Monday September 24, @12:15PM (#20731131)
          XUL is inherently single-threaded and JavaScript based. Try out any XUL application out there and you'll see how you get the same poor performance, speed and resource usage as with Firefox (try Miro Player and Joost). ...

          Actually I'm pretty sure they're in denial as to the cause of their problems. Announcing they're working on fixing "memory leaks" just supports their ability to continue their delusion.


          They're not in denial. They're working on tamarin [mozilla.org], a replacement/upgrade of their javascript engine based on the same engine that's in flash 9 / actionscript 3.

          Tamarin will run javascript 2, which will to do javascript what the move from actionscript 2 to 3 did for flash/flex. In short: it will make non-toy applications easily done, instead of just marginally feasible. They plan to migrate the firefox UI and extensions to javascript 2, which should negate the performance issues. Only problem: it won't be ready for FF3.
          [ Parent ]
      • Re:C++ long-in-the-tooth? by SheldonYoung (Score:2) Monday September 24, @11:51AM
        • Re:C++ long-in-the-tooth? by Kristoph (Score:2) Monday September 24, @12:06PM
        • Re:C++ long-in-the-tooth? (Score:5, Insightful)

          by i7dude (473077) on Monday September 24, @12:09PM (#20731011)

          Your argument is nonsense. If what you said held true, large scale applications should be able to be written is assembler. Without high level tools it wouldn't be feasible to create applications the scale we do today.


          Wrong. What he is saying is that people who choose to use C/C++ for their applications should be competent enough to properly handle their own allocation and de-allocation of memory. If your abilities as a programmer preclude you from properly managing your application's memory then you need to look at alternatives that will take care of that for you.

          There are plenty of languages out there that offer things like garbage collection. Developers need to make better choices about which tools they use to meet their needs, and also understand their limitations and work within those parameters.

          dude.
          [ Parent ]
      • Re:C++ long-in-the-tooth? by TuringTest (Score:2) Monday September 24, @11:54AM
      • Re:C++ long-in-the-tooth? by Rei (Score:2) Monday September 24, @11:54AM
      • Re:C++ long-in-the-tooth? by Tablizer (Score:1) Monday September 24, @12:14PM
      • Re:C++ long-in-the-tooth? (Score:4, Insightful)

        by ultranova (717540) on Monday September 24, @12:17PM (#20731165)

        If you can't code without hand-holding tools like automatic garbage collection, perhaps you belong in a different profession!

        Statements like this are why I prefer Java programs to C ones. Mandatory bounds checking means that no macho idiot can turn it off, no matter how full of hubris he is. But even assuming a 100% perfect coder, does it really make sense to use his precious time to worry about memory management when the computer can do that automagically ?

        [ Parent ]
        • Re:C++ long-in-the-tooth? by maxwell demon (Score:1) Monday September 24, @02:34PM
        • Re:C++ long-in-the-tooth? (Score:4, Insightful)

          by Wavicle (181176) on Monday September 24, @02:37PM (#20733391)
          You realize, of course, you are seriously going against Slashdot groupthink here. Still, if I had mod points, I'd give you one. Macho programmers who think they are too awesomely skillful to screw up are the ones whose screwups always take me the most time to chase down.

          Frankly if you can't look at a problem and then pull out five or six languages from your tool belt and evaluate which will be the best for this job, then you are a bad programmer. Don't code in C++ that which could easily be done in Python. Don't code in Python that which could easily be done in Bash. If you don't have a compelling argument for using C, DON'T USE IT!

          Sometimes I think Java is awful for no other reason than companies tend to believe that using one language for other is a net gain. That has never been my experience except when your very best programmers aren't all that good either. If you insist that everything run on the Java runtime, use Jython and embed Python. A good example of multi-language gains can be seen with embedded Lua. There are many applications out there that use Lua "under the covers" so that things that do not have to be written in C++ aren't. This includes games (I believe WoW is one).
          [ Parent ]
          • Re:C++ long-in-the-tooth? (Score:4, Insightful)

            by plover (150551) * on Monday September 24, @04:28PM (#20734995)
            (http://slashdot.org/ | Last Journal: Thursday April 12 2007, @09:41AM)

            Frankly if you can't look at a problem and then pull out five or six languages from your tool belt and evaluate which will be the best for this job, then you are a bad programmer.

            While I agree with this sentiment on principle, in practice this has proven to yield unworkable solutions. Different people bring different skillsets to the table. You may have a dozen developers who all have C++ in common, but to varying degrees. One may be more skilled in Perl, another in smalltalk, another in Python, and three more in Java. Divvy up the specs and tell each one to "Write your code using the best tool for the job." Then spend another year trying to integrate the pieces, and when they quit try to hire someone who can maintain the hydra.

            Picking a single language for a project (at least at the component level) is pretty much a requirement.

            Even though they try to hand-wave it away, this has been a big problem in the Microsoft .NET world. When it was introduced, Microsoft promised that all .NET languages were equal, first-class languages (my interpretation at the time was that C# programmers were instantly demoted to VB programmers :-( ) and that a developer could write in whichever .NET language they were most comfortable. But there are C# programmers and VB.NET programmers who don't really speak each other's language, even though they all compile down to the same MSIL. Trying to get them to maintain each others code leads to a lot of squabbling.

            It's easy to say "A good programmer can write in any of these languages" but in reality it's much harder to find a lot of good programmers that are both willing and able to competently do maintenance in all of the languages you might end up with.

            [ Parent ]
        • Re:C++ long-in-the-tooth? by Nicolay77 (Score:2) Monday September 24, @07:03PM
        • Re:C++ long-in-the-tooth? by sjames (Score:2) Tuesday September 25, @03:33PM
      • Re:C++ long-in-the-tooth? by JackMeyhoff (Score:1) Monday September 24, @01:33PM
      • Re:C++ long-in-the-tooth? by plague3106 (Score:1) Monday September 24, @02:21PM
      • Re:C++ long-in-the-tooth? by RazzleDazzle (Score:2) Monday September 24, @03:45PM
      • Re:C++ long-in-the-tooth? by HeroreV (Score:2) Monday September 24, @08:01PM
      • Re:C++ long-in-the-tooth? by AVee (Score:2) Tuesday September 25, @04:12AM
      • Re:C++ long-in-the-tooth? by Paradox (Score:2) Tuesday September 25, @05:51PM
      • 1 reply beneath your current threshold.
    • Re:about time! by MightyMartian (Score:2) Monday September 24, @11:49AM
    • Re:C++ long-in-the-tooth? (Score:5, Insightful)

      Perhaps the culprit is C++. Languages with auto-garbage-collection or are database-engine-based tend to clean up automatically or cache to disk more effectively.
      Actually, the big language culprits would be those with auto-garbage collection, etc. as they tend to have lazier programmers that don't "need" to manage their own resources, and in some cases even prohibit the programmer from being able to manage their resources.

      C/C++ and similar languages, on the other hand, force the programmers to manage their resources. In those cases, the programmers would likely be just not designing their programs well, or employing bad resource management. Yes, managing resources can be hard - one project I worked on had to go through several months of testing to get the resources properly managed, and even then some of the resources were still a little uncontrollable due to legacy code or Windows APIs, but overall the thing was pretty stable and any memory leaks were mostly due to Windows APIs.

      In either case, I can't tell you how many times I have heard (especially from Java programmers) something along the lines of the following: "RAM is cheap", "processors are getting faster", "computers will be ready for this when we deliver it", "hardware is cheaper than programmers"

      No offense, but to rely on hardware always being getting faster, or the cost of adding more RAM always being cheaper, etc. is a bad premise to rely on. Already with multi-core processors we are seeing slower processors being combined into a single processor get the equivalent processing power of a faster processor (e.g. two 1.8 Ghz cores rated equally to a single 3 Ghz core); thus the premise breaks down. Also, I want to be able to do more with the faster processors and additional RAM, rather than simply do the same job I could do yesterday only in "better" software.

      The real answer is doing your job right, and using the right tool - which is not necessarily the easiest tool to use either. We also need to get back to writing applications that have good, if not great, performance with minimal resource requirements (e.g. RAM and processor). If we're not going this at the API/library level - at the very least - then the programs and library/APIs that rely on that API/library level will have worse performance no matter what they do. But in either case it doesn't get done unless the programmers do their job, and use tools that allow them to do it.
      [ Parent ]
      • Re:C++ long-in-the-tooth? by Oswald (Score:2) Monday September 24, @12:07PM
      • Re:C++ long-in-the-tooth? by Rei (Score:2) Monday September 24, @12:10PM
      • Re:C++ long-in-the-tooth? (Score:4, Insightful)

        I am not sure where you think C++ Programmers are more careful the Other Higher language programmers. A lot of C++ Programmers are really not that good the only reason they use C++ because they had to take it part of their college requirements, thus being the only language they know. Problem with C++ is the fact programming memory is so intensive that most people will be willing to let it leak because of all the extra work it will take to clean it up. They program in C++ not because it is the best tool for the job but the one they know the best. I have seen cases where C++ Project get killed because they take way to long to write and more to debug, while Python, VB or Java Programmers seem to get the job done. Most projects are not Open Source, Most programming is actually just custom program for businesses so these programmers are paid by the hour.

        I Agree with you the Duel Cores are not equal to systems with twice the GigaHertz and the singlecore twice as fast system normally will out preform the application written. But that isn't about C++ Program or Java Programming, It is about Multi-Threaded programming. Parallel processing is a different form of programming that most programmers shy away from. But still the fact if you are paying a programmer $20 and hour and it takes them twice as long to get a 10% increase in speed it would be better off buying extra RAM then paying the programmer.

        Now if you are getting a boxed application that is different because the cost of application development programming is spread across all the people who buy it. So by Doubling the price of the Shrink Wrapped App. say from $80 to $160 and everyone gets a 10% increase in speed then it is worth it to put the extra in and get it more optimized, the degree of benefit will outweigh the costs.

        The thing that usually gets me like comments like this parent it assumes a completely Academic Computer Science approach to all problems. While real life requires making trade offs and sacrificing performance is often a good trade off to make because most of the time it is unnoticeable, most computers spend most of their time idle anyways, and most application are idle waiting for inputs. So in the once in a while heavy processing moment say in this case an HTML Render adding 1 second to the load in real life most people wont notice unless they are going back and forward button crazy. Or doing a batch rendering job. As for memory I am surprised that you didn't bring up the large quanity of 32bit systems still out there being sold as new only handling a max of 4 GB or RAM so for a large population RAM limits are an issue again.
        [ Parent ]
      • Re:C++ long-in-the-tooth? by Anonymous Coward (Score:1) Monday September 24, @12:51PM
      • Re:C++ long-in-the-tooth? by Tibixe (Score:1) Monday September 24, @12:58PM
      • Re:C++ long-in-the-tooth? by Doctor Crumb (Score:3) Monday September 24, @01:06PM
      • Re:C++ long-in-the-tooth? by flyingfsck (Score:2) Monday September 24, @01:10PM
      • Re:C++ long-in-the-tooth? by Anonymous Coward (Score:1) Monday September 24, @01:11PM
      • Re:C++ long-in-the-tooth? by edxwelch (Score:1) Monday September 24, @01:11PM
      • Re:C++ long-in-the-tooth? by dhasenan (Score:2) Monday September 24, @01:18PM
      • java memory profile (Score:5, Interesting)

        by sentientbrendan (316150) on Monday September 24, @01:33PM (#20732285)
        (Last Journal: Monday February 03 2003, @08:59PM)
        > Actually, the big language culprits would be those with auto-garbage collection,
        > etc. as they tend to have lazier programmers

        Actually, it isn't lazier programmers. The problem is that existing garbage collection implementations have horrible memory profile.

        If you look at the memory usage of a java program, it's about as bad as a c program that does nothing but leak memory. Practically speaking, java does little to free memory until it has *run out of memory*. Then when it does run out of memory and it needs to clean things up, things get slow as hell.

        >The real answer is doing your job right, and using the right tool - which is not necessarily
        >the easiest tool to use either.

        Yes! Unfortunately, academics and many novice programmers (who just got finished being trained by academics) are unfamiliar with the powerful tools available like C++. Going to school can give you the mistaken impression that garbage collection is *a good thing* because everyone uses it there. The truth is that C++ is a very complicated language with a steep learning curve, but that many times it is simply the only tool that is suitable for the job.

        If your program is IO bound, like a web application front end, you are in a great position, because essentially *any* tool will do the job, even if the performance is abysmal. You can use java, ruby, or whatever. And you should, becuase those languages don't present you with the complexity of c++.

        Unfortunately, many programs *are not IO bound* and the performance and memory profile of the underlying tool are very important. This is most true of interactive non parializable programs. So, a good example would be bittorrent programs. Consider utorrent vs azureas, one in c++ and one in java. utorrent is fairly light weight and easy to use because of its performance characteristics. Azureus is a powerful and well engineered program, but it sure as hell is slow and chews up memory.
        [ Parent ]
      • Re:C++ long-in-the-tooth? by e2d2 (Score:2) Monday September 24, @01:47PM
      • Re:C++ long-in-the-tooth? by fwarren (Score:2) Monday September 24, @01:59PM
      • Re:C++ long-in-the-tooth? by naasking (Score:2) Monday September 24, @05:24PM
      • Re:C++ long-in-the-tooth? OMG by talledega500 (Score:1) Monday September 24, @11:20PM
      • Re:C++ long-in-the-tooth? by Walles (Score:2) Tuesday September 25, @09:44AM
      • 1 reply beneath your current threshold.
    • Re:C++ long-in-the-tooth? by Yahma (Score:1) Monday September 24, @11:58AM
    • Re:C++ long-in-the-tooth? (Score:4, Informative)

      by Constantine XVI (880691) <trash DOT eighty AT gmail DOT com> on Monday September 24, @12:10PM (#20731037)
      Sorry, but quite a few other browsers (Opera, Konqueror, Safari(the WebKit part anyways)) are written in C++, and they don't seem to have near the problems Firefox has.
      [ Parent ]
    • Re:C++ long-in-the-tooth? by nwf (Score:2) Monday September 24, @12:44PM
    • Automatically != Efficiently (Score:5, Informative)

      by ClosedSource (238333) on Monday September 24, @01:23PM (#20732153)
      A well-written C++ program is going to free memory much faster than a GC can. The value of GC is that you don't have to worry about forgetting to free memory, it will happen - eventually.
      [ Parent ]
    • Memory leaks by Per Abrahamsen (Score:3) Monday September 24, @01:25PM
    • Re:C++ long-in-the-tooth? by Dancindan84 (Score:1) Monday September 24, @01:25PM
    • Re:C++ long-in-the-tooth? by dgatwood (Score:1) Monday September 24, @02:18PM
      • 1 reply beneath your current threshold.
    • C++ was broken for Garbage Collection from day 1. by Ungrounded Lightning (Score:3) Monday September 24, @04:47PM
    • Mod Squad - Re:C++ long-in-the-tooth? by Tablizer (Score:1) Monday September 24, @10:24PM
    • 3 replies beneath your current threshold.
  • Bloat in general (Score:5, Insightful)

    by pipatron (966506) <pipatron@gmail.com> on Monday September 24, @11:32AM (#20730385)
    (http://www.vhemt.org/)
    I don't mind the memory. I have plenty of gigs even in my laptop. What I mind is the general slowness that I experience with Firefox, and that makes me use Opera on my laptop even though I would feel better using an open source browser.
  • Yay! (Score:1)

    by benmatth (1160859) on Monday September 24, @11:32AM (#20730393)
    This is what has been keeping me off Firefox on my memory-lacking iBook.
    • Re:Yay! by Generic Guy (Score:1) Monday September 24, @11:48AM
    • Re:Yay! by Mr. Underbridge (Score:2) Monday September 24, @12:16PM
  • but but (Score:5, Interesting)

    by svendsen (1029716) on Monday September 24, @11:33AM (#20730399)
    everytime I mentioned the memory issue I was always told it was a plugin or there was something wrong with my system or something about my mother and a donkey. Certainly firefox fan boys wouldn't have just attacked me because I questioned something...would they? :-D
    • Re:but but by onetwentyone (Score:2) Monday September 24, @11:42AM
    • Re:but but by Martin Blank (Score:2) Monday September 24, @11:46AM
    • Re:but but (Score:5, Interesting)

      I've heard that too. I use FF on my desktop at work with one or two plugins (FlashBlock and FireBug, mostly). It does leak memory after enough time. Closing the browser always fixes it, so it's not much of a problem.

      That said, if a plugin leaks memory, there are a few options. First, the system should know. Even if the plugin in used constantly, I should be able to open the extensions options panel and see how much memory each one is using, so I can identify the culprit. There should be a warning system ("Plug-in 'MemHog2' is using 500MB of ram, close/ignore/disable?").

      Also, when a plugin isn't in use, then it shouldn't cause a problem. Let's say that the problem is Flashblock. If it isn't actively rendering (say I only have one window/tab open and it's pure text, no flash/etc) then it really shouldn't be using any memory. If I have FireBug inactive it should use next to no memory (when I have it actively checked CSS/JS/etc I expect it to use memory).

      I'm glad they are working on this. I've heard this complaint for a while. But even if the problem is the plugins, it needs fixing or roping in.

      How about being able to set memory limits for plug-ins, Mac OS 1-9.x style? Maybe total, maybe per active page, maybe both. Just a random idea.

      [ Parent ]
    • Re:but but by Actually, I do RTFA (Score:2) Monday September 24, @04:56PM
    • Re:but but by geekgirlandrea (Score:1) Monday September 24, @01:16PM
    • 4 replies beneath your current threshold.
  • Firefox != Internet (Score:5, Insightful)

    by realdodgeman (1113225) on Monday September 24, @11:33AM (#20730407)
    (http://datanytt.no/)

    Here's hoping. Frequent restarts of things on my computer make me furious. I can't imagine why anyone would tolerate such things.


    Nobody forces you to use Firefox. You can use Opera, Konqueror, links or IE, or any other browser out there...
  • too litlle too late (Score:3, Insightful)

    by wwmedia (950346) on Monday September 24, @11:34AM (#20730411)
    (http://www.footballfans.tv/)
    too little too late some people i know have switched to alternatives like Opera or back to IE7 (both use substantially less resources on windows) due to all that ram hogging
  • Symmetry (Score:2, Interesting)

    Are there really any memory problems that cannot be cured by strict adherance to the rule of "allocate memory at the beginging of a routine, deallocate same amount at the end"?
  • by xxxJonBoyxxx (565205) on Monday September 24, @11:36AM (#20730447)

    Frequent restarts of things on my computer make me furious. I can't imagine why anyone would tolerate such things

    I know. It's enough to make anyone consider using IE...
  • by revscat (35618) on Monday September 24, @11:36AM (#20730451)
    (Last Journal: Friday May 21 2004, @12:42PM)

    Frequent restarts of things on my computer make me furious

    Shit Taco, what OS are you using? FF leaks on my OS X box too over time, but quitting the app seems to free up the memory.

    Or maybe I'm not paying close enough attention.

  • Restarting Isn't much of a problem (Score:5, Informative)

    by Gertlex (722812) on Monday September 24, @11:36AM (#20730455)

    Here's hoping. Frequent restarts of things on my computer make me furious. I can't imagine why anyone would tolerate such things.

    I tolerate it with an extension that provides a restart button on the toolbar. There are several such extensions. It's also useful for when one wants to quickly restart after installing/enabling/disabling an add-on/theme.

    And of course, said extensions reload Firefox with the windows/tabs you had open.
  • Surprise search engine choice! (Score:1, Offtopic)

    by operagost (62405) on Monday September 24, @11:38AM (#20730483)
    (http://operagost.com/ | Last Journal: Monday May 01 2006, @12:08PM)
    Well, at least this project discovered a new way to find pr0n:

    Robert Sayre created a script to load random pages and see whether they cause leaks. The random URLs come from the Yahoo directory (biased toward older, top-level pages), del.icio.us (biased toward newer, geeky pages), and AltaVista (biased toward pornography).
  • I can't imagine why anyone would tolerate such things.

    Well, my guess is that you *are* tolerating it, as are millions of others, simply because you're using it (either older versions of IE, or current versions of Firefox). Can't comment on IE7 cause I don't use it much, but IE6 rarely crashed for me. IE3-5.5, almost daily crashes.

    5 years ago people people would constantly belittle IE users because it had frequent crashes, and pointed to the 'superior' Mozilla suite. Today, FF has morphed in to something which can't be used, with plugins, for more than a couple days max without needing to be reset. I add the caveat in there about 'with plugins' because I'm not sure I know many people who run a bare-metal Firefox. Most people use one or more extensions. This has been a huge marketing push for FF - "It's lean! Only use what you need! Get rid of 'bloat' - package everything in extensions!"

    Putting things in extensions makes the base 'leaner' but has lead to a situation where there's no centralized testing for, or even acknowledgement of, memory leak bugs (and other bugs, but this is the obvious one). I still read comments from people who claim they never have leaks with FF (we'll see some on this thread no doubt). It's not that I don't believe them, but their usage patterns are likely different from mine. I have about 6 plugins that I love to use, and I like to keep my browser going. The idea that MSIE is more "stable" than FF for daily usage should remind people that resting on your laurels is not an option. What cut the mustard 5 years ago isn't gonna cut it any more.

    • Reality check (Score:4, Insightful)

      by MMC Monster (602931) on Monday September 24, @11:53AM (#20730741)

      I can't imagine why anyone would tolerate such things.
      5 years ago people people would constantly belittle IE users because it had frequent crashes, and pointed to the 'superior' Mozilla suite. Today, FF has morphed in to something which can't be used, with plugins, for more than a couple days max without needing to be reset.
      Reality check: Most general users do not leave their browsers open for a couple days. Let alone a couple days max. In fact, I wager that most turn their computers off at the end of the day.

      No I don't have a source for my statement. But ask people you know who are not in the tech industry. The one outlier group is Mac users, who don't realize that closing a browser window doesn't take the program out of memory.
      [ Parent ]
    • Re:You're already tolerating it by using it at all by kebes (Score:2) Monday September 24, @12:23PM
    • by jsebrech (525647) on Monday September 24, @12:29PM (#20731349)
      Today, FF has morphed in to something which can't be used, with plugins, for more than a couple days max without needing to be reset.

      You say that, and you compare it to IE. The only environment where I know people keep a firefox process open for days is on the mac, which doesn't run IE anymore (and btw, safari 2 leaks like a sieve too in my experience). Yes, I have to relaunch ff on my mac every few days. But on windows every time I close my last window, the browser shuts down and all memory is reclaimed. So, on platforms that are not mac, and for "normal" use patterns (i.e. don't leave a browser window with sites open for days), this is a non-issue.

      Thiis page may be informative about the issue of memory in firefox: http://plugindoc.mozdev.org/faqs/memusage.html [mozdev.org]
      [ Parent ]
      • 1 reply beneath your current threshold.
    • 2 replies beneath your current threshold.
  • A possible fix? (Score:1)

    by angryfirelord (1082111) on Monday September 24, @11:45AM (#20730599)
    I haven't tried it myself, but would this be a temporary cure? http://www.freerepublic.com/focus/f-bloggers/1327586/posts [freerepublic.com]
  • the solution is simple (Score:1, Interesting)

    by Ryzzen (1078135) on Monday September 24, @11:45AM (#20730601)
    www.opera.com ;P
  • An act of balance (Score:5, Insightful)

    by SplatMan_DK (1035528) * on Monday September 24, @11:49AM (#20730667)
    (http://www.stopcomputerlicens.dk/ | Last Journal: Wednesday August 01, @08:24AM)
    I can certainly understand why people are tired of FF memory leaks. Being a FF user myself, with open browser windows and multiple tabs all through the day, I have seen what happens to FF after 4-5 hours of intense browsing. And don't even get me started on the PDF and Flash plugins!

    Some would argue that the problem is sloppy coding, or poor encapsulation (a typical OO programmers point of view). But please remember, that even though modern browsers are GUI apps, they are coded much like low-level server processes or protocol stacks. Low-level programming using languages like C and C++ gives you more control and better performance, but at the expense of nicer development features like garbage collection and encapsulation.

    Think about it. Would you accept a browser that rendered HTML flawlessly and with absolutely no memory leaks, but took more than a minute to render each page? I think not.

    It's an act of balance, and the problem is not _always_ "sloppy coding". It is the increasing complexity of these apps, combined with user demands which push the development towards low-level development languages. From a realistic point of view, any app. written in low-level C with as many lines of codes as FF, is bound to have bugs and leaks. (perhaps except code controlling nuclear reactors and NASA satellites, but then the price of each line of code is also somewhat different).

    We - the end users - are not without blame.

    - Jesper
  • One of the things they're adding is a time-based cache for unused images. For example, if after 5 seconds an image isn't used, it's freed from memory. This alone gave them a huge memory boost, IIRC.
  • Why tolerate? (Score:1)

    by nerdacus (1161321) on Monday September 24, @12:05PM (#20730963)
    Frequent restarts of things on my computer make me furious. I can't imagine why anyone would tolerate such things.

    Because other browsers have their problems too, and I have to web browse with something.
  • I'm sure it's part of the problem. I wish Firefox's JS implementation were as fast as Opera's, or even IE's. Its GC makes it jerky as all hell. Like, just now, as I type into this dialog box.
  • Time To Chill (Score:1)

    by LifesABeach (234436) on Monday September 24, @12:11PM (#20731051)
    After reading the threads, and noting the reactions, one has to consider the "Source". The difference between Close Sores, and Open Sores is that when you feel compelled to squawk, you can do something about it with Open Sores; But with Closed Sours You cannot. Try it with Microsoft, ask them to add the puny coding it would take to bring Internet Exploder up to CSS 2.0, or XSLT to 2.0, how about SVG 2.0 handling? But with an Open Sores solution, if you do not like it, you can change it, NOW! Maybe the submitter of the Parent Article could tackle the Memory Leaks of FF?

    "Do you want some cheese with that wine?" - Unknown
  • by PPH (736903) on Monday September 24, @12:15PM (#20731129)
    On which platform? In the browser itself or dynamic libraries or drivers it uses?

    Cautiously avoiding the mention of anyones favorite O/S so as not to earn troll mod points; It all depends on where the leaks are. The only way to fix some of them would be to build a staticly linked executable. That still doesn't get you around kernel/driver bugs. In my experience, many apps that appear to leak quite badly on one system do very well on another.

    Hint: Try setting "LEAKS=OFF" in the registry. ;-)

  • More prevelant on Mac? (Score:3, Interesting)

    by wizman (116087) on Monday September 24, @12:16PM (#20731141)
    I use Firefox on Mac (intel) and Windows, with the latest versions on both. I can have Firefox open for a full week on Windows without any problems, however on either Mac I have to restart Firefox about once every day or two, otherwise browsing slows to a crawl. At extremes the whole machine will start to bog down until I "force quit" (kill -9) Firefox. I'll also experience oddness where images will just stop loading.

    Running "bare bones" on all Firefox installs, no plugins other than whatever may have been included with the base distribution.

    Does anyone else notice this? I've switched back to Safari on the Mac in the meantime.
  • Well, seems like this is time to extol the joys of the C and C++ language, with their delightful scavenger hunt the whole team can play: Find the Memory Leaks! Seriously--can you imagine a more embarrassing thing for the developers of Firefox? You guys were so sloppy that we're expanding the hunt for your mistakes to a world-wide level. Gosh, they must be proud of their work.
  • What leaks???!?? (Score:2)

    by saleenS281 (859657) on Monday September 24, @12:27PM (#20731319)
    (http://www.liquidshells.net/)
    IIRC, "there are no leaks in firefox, it is your extensions causing the problems".
  • 49GB! (Score:2)

    by pergamon (4359) on Monday September 24, @12:36PM (#20731435)
    (http://moore.cx/dan)
    Yes, I sure hope that I won't have to deal with massive memory usage anymore: http://moore.cx/images/firefox.png [moore.cx]
    • Re:49GB! by Bandman (Score:2) Monday September 24, @02:42PM
  • Firefox memory leaks - (X11 specific) (Score:5, Informative)

    by Alien Being (18488) on Monday September 24, @12:37PM (#20731447)
    The biggest memory leak does not show up in firefox itself. It shows up in the X process:

                TIME+ PID USER CODE VIRT SWAP RES SHR S %CPU %MEM P COMMAND
          391:42.00 30262 root 1712 864m 481m 383m 5636 R 20.5 38.0 0 X :0 -auth /home/me/.serverauth.30245
            19:54.97 5473 me 9.9m 350m 202m 148m 18m S 0.0 14.7 0 firefox/firefox-bin

    xrestop shows this:

          res-base Wins GCs Fnts Pxms Misc Pxm mem Other Total PID Identifier

          3600000 295 62 1 2664 119 621592K 12K 621604K ? Firefox Working to Fix Memory Leaks - Mozilla Firefox

    In other words, X has over 600MB of memory holding pixmaps for firefox. This grows every time I open a page/tab with images in it.

    Closing pages/tabs does not free the memory from X, nor does lowering firefox's various cache settings in the preferences dialog and about:config. Quiting firefox causes X to release the memory. I have to do this at least once a week.

  • About time (Score:2)

    by teslatug (543527) on Monday September 24, @12:42PM (#20731521)
    So have they finally acknowledged that Firefox is a memory hog instead of just blaming users for not understanding features? I can't believe how much memory Firefox uses just from the start. The memory buffers use up 3/4 of my memory with an empty, just launched, instance of Firefox. Where does all that go? Sure buffers can be cleared if needed, but I'd rather have that memory free (which I'm guessing can be allocated more easily than buffered memory, but maybe I'm wrong). Either way, I'd like to know why it spent time allocating buffer memory without even a single page loaded.
  • by Wolfier (94144) on Monday September 24, @01:04PM (#20731875)
    How about making at least the Javascript engine and the Flash plugin framework multi-threaded?

    IE has been lowering the CPU priority of Flash applets for years so if you have 100 Flash ads open, it won't bog down your browsing. On Firefox, try opening a couple of tabs in Yahoo and it basically grinds to a halt.

    It used to be that in NS4, I could see "nsplugin" process so I can renice that to achieve the same effect. On Firefox, it's not possible.

    And, if you happen to leave Gmail open, my CPU usage (lowly Sempron) will hike to 30% twice a minute. On IE the CPU usage stays low. I suspect it's due to a multi-threaded Javascript engine in which individual thread can be prioritized.

  • by travelin_light (682879) on Monday September 24, @01:26PM (#20732199)
    I know this is not code level, technical, observation but a real world comparison. I use 4, 22in LCDs in my real estate office window to advertise houses. The web page they display is javascript light, one to change the logo every 30 seconds. Each page has FLIKR applet to show a slide show of the property. The 4 firefox browsers will grind the system to a halt within 3 days (P4 630mb of RAM). The same 4 pages shown continously in IE7 will last 8-10 days. Either way it is crap b/c they should not leak at all, they are web browsers with thousands of peole wokring on them. Increased quality review and assurance of core functionality would probably help here. Thankfully memory is so cheap I am bumping up to 3gb. Not to go quicker but to last longer between re-boots...
  • by Krojack (575051) on Monday September 24, @01:33PM (#20732289)
    Add some threaded (or better threaded) support... I'm sick of one tab loading something like a Flickr.com page and while its loading I'm looking at other tabs and unable to scroll up and down the page...
  • by LM741N (258038) on Monday September 24, @01:34PM (#20732325)
    Any type of liquid damage voids my service contract.
  • by cinnamon colbert (732724) on Monday September 24, @02:04PM (#20732907)
    (Last Journal: Sunday October 28, @11:25AM)
    If I can run ff on my 2001 HP laptop,wiht a messed up harddrive with my own install of Windows 2000 on top of Windows ME, ff performance aint the issue.

    worrying about a little performance is a classic geek mistake; people buy features, not performance.

    what are features ?
    I have poor vision, and Cntrl+ doesnt increase the size of the text in the url window
    the poor state of organization of the site where you down load extensions
    I'm sure all the non geeky /.ers reading this can add other features, like builtin support for video (the videolan thing doesn't work very well)
    Or how about better export and save of urls
    or
    or ....
    remember, people buy features, not performance - if that werent true, how would MS rule the world ?
  • Could Linux be the difference? (Score:2, Interesting)

    by Herschel Cohen (568) on Monday September 24, @02:31PM (#20733315)
    (http://opensourcetoday.org/)
    My experience has been quite counter to many of the complaining posts I have read. I now have nearly no lockups that I can ascribe to Firefox 2.0.x whereas it was very obvious that version 1.5 ate memory and at times locked a session. At last count I had 164 tabs open and it is likely nearer to 180 at the moment. At most times I have at least three sessions running email (Thunderbird), browser, coding with Subversion with several files open and in the last a connection to a remote server. If anything my system is much more reliable with 2.0 over 1.5.

    I used to be a casual tester for both versions 1.5 and 2.0 and I switched to each well prior to their offical release. What I noticed was much more effort was expended creating satisfactory working versions on Windows over either the Mac or Linux. Nonetheless, I have been pleased with the results. My use of the coming version 3.0 has been very limited running of most of the stable alpha versions. So far my limited exposure seems to see an improvement over 2.0. Another factor that could make my experience worse, is that I use the Mozilla version that I install by hand. I have long ago not bothered to even update the supplied distribution version. Nonetheless, I have no complaints.

    Another factor that should degrade my experience, is my machine's inners are not of that recent vitage having only one Gig of RAM and a much older AMD CPU. Might some of the problems so vociferously expressed here be due to other factors than so loudly proclaimed?

    I am well aware that supposedly identical machines, with the same software can behave very differently. Had that experience with corporate property using NT and XP, where I could get to Unix and the version control system while a neighbor could not. Nonetheless, I find it odd that my experience is so at odds with the many that have written.
  • by Ant P. (974313) <anthony.parsons@manx.net> on Monday September 24, @03:30PM (#20734217)
    I've forgiven them time and time again for screwing up.

    First it was the MNG/JNG farce - you have to see this for yourself [mozilla.org] to believe it. 5 years (!!) of making up bullshit excuses later they dump an inferior, crippled "replacement" format in the browser to force everyone to give up.
    I won't comment on their side project to make a faster, smaller, less bloated browser... you can all see what a success that's been.

    Now for some reason despite all the times the mozilla people have done this -- much more than the two examples I've mentioned -- I was still using Firefox last month. Then it broke spectacularly on me (which was to be expected given it was a CVS build), so I load 2.0 up again and I realise half the extensions I have installed in it are to fix bugs and security holes it shouldn't have in the first place. I can name Noscript and Long Titles off the top of my head. I realised there was no reason to keep using this crap just like there was no reason to keep using windows.

    Memory leaks aren't Firefox's biggest problem -- it's the inmates running the asylum that is. Until that's fixed, I'll be using Konqueror. (if you want to know why I won't use opera, substitute developers for users)
  • 24 Hours (Score:2)

    by HTH NE1 (675604) on Monday September 24, @03:35PM (#20734305)
    I've found that the Linux version (running in Gnome on RedHat 9) starts consuming ungodly amounts of processor time for minor tasks--even taking 1-2 seconds to respond to buffered keypresses in a slashdot comment textarea--if it has been allowed to run for more than 24 hours. It feels like the same time every day when I have to kill -9 the process and restart it. The only exception seems to be it is able to survive a weekend of non-use. Even vs. odd days?
  • First Post! (Score:1)

    by Psychor (603391) on Monday September 24, @03:39PM (#20734361)
    (http://is.gd/)
    First post in Firefox, it took me a while since my machine was running low on RAM!

    Actually at least with the Windows version, I haven't noticed much of a problem with memory leaks personally. I guess that's probably because I finish whatever I'm doing and tend to close all my FF windows at least once every few hours though. Anything to fix bugs and lower resource usage is always a step in the right direction though, so I'd have to applaud this action regardless.

  • Concurrency and Responsiveness (Score:3, Interesting)

    by Chandon Seldon (43083) on Monday September 24, @03:43PM (#20734407)
    (http://www.ferrus.net/)

    Although Firefox does have some issues with memory usage (and occasionally memory leaks), that doesn't seem the be the primary cause of usability issues.

    In my personal experience with Firefox, I see two problems:

    • The whole browser locks up if a bit of JavaScript is slow - even if it's just one tab being slow out of ten.
    • The whole browser locks up if a plug-in or extension locks up - even if the plug-in is in just one tab out of ten.

    Both of these problems could be solved relatively easily with threads (in a number of different ways), but for some reason the Firefox developers have an irrational paranoia of anything that even vaguely resembles native concurrency. They say "the real problem is just response time, if we can respond fast enough in a single thread it's the same" - but then they never actually do it, and they definitely don't do anything that would let them recover from component crashes.

  • by dropadrop (1057046) on Monday September 24, @03:56PM (#20734581)
    I've really been annoyed by this, but I'm addicted to both adblock and mouse gestures. Would downgrading to firefox 1.x be a solution? I don't even remember if things where better then?
  • Hoorah! (Score:2)

    by macdaddy (38372) on Monday September 24, @04:12PM (#20734813)
    (http://slashdot.org/ | Last Journal: Monday January 31 2005, @05:48PM)
    Dare I say, It's about damn time. I've been fighting FireFox memory issues since I first started with Phoenix. Mozilla was never this bad. I rebooted at noon because Firefox was just under 800MB. I've been on the phone and/or away from my desk for 2 of the 4 hours since I rebooted. FireFox is already using 258MB. I love the Fox but this is screwed up.
  • by minniger (32861) on Monday September 24, @04:42PM (#20735255)
    One of the highest ignorance to knowledge ratios in Slashdot's history...

    90%+ of the c/c++ guys have no clue.
    99%+ of those bagging on GC have less of a clue.

    They might as well be talking about girls...

    Geez.

    • 1 reply beneath your current threshold.
  • by bit01 (644603) on Monday September 24, @06:51PM (#20736699)

    One frustrating thing about this is that fixing memory leaks is relatively easy. To have any memory leak is unnecessary and a sign of a mediocre programmer.

    To find a memory leak just instrument the memory allocator. See what's left when you exit the program and that's your memory leak.

    There are several commercial/freeware packages that will do this or just roll your own. This will catch all memory leaks that aren't caused by memory corruption, including ones created by threads, addons and interpreted code. You can even use it with a garbage collector to see why certain blocks of memory aren't being freed by the collector. It has an overhead but not a major one and on a fast development machine it's easily usable, particularly if you're able to take advantage of a second CPU.

    The firefox developers should create a beta build with instrumented memory allocation. Better yet make it part of the standard build (it's small) and enable it with a configuration option. The instrumentation could be made quite sophisticated with arena's, snapshots, tagged allocations and the like but even a basic calling PC log would be a big win.

    Memory corruption is a different ballgame. For that you need to do much more sophisticated instrumentation that will catch bounds violations and unallocated pointer access. Possible, but can cause the program to run so much slower that it becomes impractical to do on a large scale. Should still be done occasionally though just to see what obvious, easily fixed violations are occurring.

    ---

    Don't be a programmer-bureaucrat; someone who substitutes marketing buzzwords and software bloat for verifiable improvements.

  • by suitepotato (863945) on Monday September 24, @07:58PM (#20737173)
    ...towards older men. "Mozilla Firefox. The only browser with more leaks than you with that bad prostate."
  • This issue always comes up, and it seems the vast majority of the people in this thread are bashing Firefox/Mozilla, but they are ignoring three very crucial points.

    1 - The code already has been tested with garbage collectors, Valgrind and the like. Most memory leaks hopefully have already been caught, but they are recommitting themselves to this task.
    2 - Mozilla is not responsible for the poor javascript and such prevalent in various extensions written by third parties.
    3 - This is the most important part, the massive memory and CPU usage is a feature, not a bug, and can quickly be disabled. Firefox 2 and 3 cache fully rendered versions of pages, so that it is "quicker" when you hit the back button. It doesn't have to rerender the page. Personally, I don't care for this feature, and so I tell Firefox to use less memory.

    http://kb.mozillazine.org/Memory_Leak [mozillazine.org]

    Google is a powerful tool. Slashdot readers should familiarize themselves with it before crucifying Mozilla.
  • (throws chair!)

    In all seriousness though, I want performance from FF, feature wise the latest stable 2.0 releases with the addons I've installed (about 6 iirc) is more than enough for my _current_ needs.
    I want to see this application pick up in speed, a lot.
    Sure it's fast now but goddamnit people I (you?) want more - I've got 4gb of ram, I've got dual core processors, I've got fast hard disks but still the web isn't fast enough.

    I'm not a developer, I'm an enthusiast, take my posts with as much salt as you like but I've found the speed of opening web pages hasn't particularly improved that much in the past 10 years.

    Sure the pages are more complex, no denying it, I'm not completely dopey.
    We used to open what? 50kb of html / images on dialup 10 years back, now how big is your average page, (I honestly don't know) but based on my bandwidth use, quantity of pages I hit, I think it would surely have to be under 500kb.

    See the thing is, I don't find the cache use in any browser clever enough, it just doesn't seem to get hit enough at least that's what I'd theorise.

    While I'm at it, the one thing I've found which increased performance massively for me was a small application called 'easy dns' - I believe it's no longer available and either way I can't install it on every machine I browse on, but it was a DNS caching tool, lets you add up to 10 DNS servers, it would chose the best ones AND cache whatever ones it had already opened.
    When your browser hits /banner.jpg then /sidebar.jpg then /bottom.jpg etc - these hits seemed to be faster, perhaps it's time for something like this to be built into a browser?

    This may come across like a big whine but honestly, I think FF is fantastic, the features are rich and it works well but hell, let's keep improving, I'd love to see the web truely, amazingly quick.

    While I'm on that note, perhaps some performance tips for FF would be in order, anyone got any?
  • In 1.5, leftclick and hold brings up the contextual menu.

    In 2.0 and up, you HAVE to hold down a key on the keyboard and right click.

    And there is NO preferences option to change it back.

    What dipwad thought THAT was a good idea?

    Fix the broken usabilty/human interface bits, as well as the memory leaks and then maybe you'll have a decent browser once again.

    In the meantime, I'm sticking with 1.5. The FireFox browser that's not broken.
    • 1 reply beneath your current threshold.
  • it was about time (Score:1)

    by diego.viola (1104521) on Tuesday September 25, @08:22AM (#20742049)
    I'm using the latest build of Firefox 3 (gran paradiso) on Linux right now and it doesn't crash or gets slow anymore like Firefox 2 did when I had more than 20+ tabs open, this version of Gecko also passes the Acid2 test, Firefox 3 will be a great release. Thanks Mozilla developers for all this ;)
  • I'm just curious what exactly everyone is doing (on Windows I understand Firefox has different problems on Mac) that causes Firefox's memory usage to be a problem on a modern box.

    I have a gig of RAM, 256 of which goes right to a VMware instance, run Outlook all day long, usually have photoshop open, and work with Firefox all day long. Multiple tabs, plenty of fun little extensions, Flash, the whole package.

    So what clues you into Firefox's memory usage? Does your system start running slowly? Or are you opening Task Manager seeing Firefox is using 200megs and getting angry?

    Maybe I have better luck because I shutdown nightly.
  • Interestingly enough, I was once part of a development team that created a competing WFC GUI library that had no known memory leaks under the four existing "wintel" platforms of the day Win 3.11, WFW, Win95 and WinNT (3.5X), and had begun porting to other chipsets and platforms. Unfortunately, the marketroids decided to spend a bunch of the remaining dev budget to try and get some serious venture capital and IPO the darn thing rather than "release early release often, and the whole effort went up in $$$ flames, AKA the company went out of business shortly thereafter.

    So when a company or group of coders say they can't fix their memory bugs, I say bull----. When they say that the parent company doesn't pay for fixed code, that I believe.

    So if ten years after a small team of four had a bug and memory-leak free code stack, the fact a browser still leaks like a stuck pig after the hundreds of thousands of hours of code that went into Firefox, then it's obvious where the fault lies.

    Especially because if they prioritized that fix, coders like me might actually be interested in contributing again.

  • Re:And on three... (Score:5, Funny)

    by Selfbain (624722) on Monday September 24, @11:37AM (#20730473)
    Ok. [flickr.com]
    [ Parent ]
  • Re:And on three... (Score:2)

    by moore.dustin (942289) on Monday September 24, @11:38AM (#20730495)
    Actually... [slashdot.org] it kinda is :)

    This is long overdue and is the cause of my biggest gripe with Firefox. Without a couple vital extensions related to my work, I would have ditched FF for IE7 because of this issue. I absolutely hate having to Force quit the .exe in order to save my session tabs and free up the memory. Every single machine I use (3 desktops, 1 laptop) has to be forced down on a nearly daily basis if not more, in order to keep the memory available for other applications.
    [ Parent ]
  • Re:Here we go... (Score:5, Insightful)

    by savuporo (658486) on Monday September 24, @11:39AM (#20730501)
    There are very few "things that require a lot of memory", really. Most of the "things" you do in programming are tradeoffs, often between complexity of implementation, speed and memory requirements. There are usually off the shelf algorithms for each approach. Simplest solutions are often the most inefficient ones.
    There is no reason why a minimal web browser could not be implemented, utilizing something like ~100kb of memory, in fact, i have seen the code to one. However, it wont be a) fast b) portable c) full featured d) very easy to understand
    [ Parent ]
  • Re:And on three... (Score:5, Interesting)

    by Seumas (6865) on Monday September 24, @11:41AM (#20730525)
    Actually, from what I understood over the last year "THERE IS NO MEMORY PROBLEM".

    Every time someone mentions memory issues, the responses are either that it's supposed to consume a gigabyte of ram so that it speeds up the back button or that "there is no memory issue".

    Strange, now, that there are suddenly people paying attention to specifically attacking memory use issues that supposedly don't exist.
    [ Parent ]
  • Re:I thought this was OSS? (Score:3, Informative)

    by SplatMan_DK (1035528) * on Monday September 24, @11:53AM (#20730737)
    (http://www.stopcomputerlicens.dk/ | Last Journal: Wednesday August 01, @08:24AM)

    How is it that an open source project is taking this long to fix bugs such as this?
    Because knowing the symptoms is not the same as knowing how to fix the problem?

    Observing the existence of a memory leak, and knowing where to fix it in your code, are two VERY different things.

    - Jesper
    [ Parent ]
  • Re:Here we go... (Score:2)

    by moderatorrater (1095745) on Monday September 24, @11:59AM (#20730847)
    That's a bullshit excuse they've thrown around for a while, and it's simply not true. You can turn the memory usage on those features down and firefox still slowly creeps up to using as much memory as it can, and this is without any addons whatsoever. So, either firefox ignores configuration settings or it's a memory leak.
    [ Parent ]
  • Re:Here we go... (Score:2)

    by RonnyJ (651856) on Monday September 24, @12:39PM (#20731475)
    Opera has significantly more features than Firefox does without some extensions installed, yet Opera definitely isn't a memory hog.
    [ Parent ]
  • by dvice_null (981029) on Monday September 24, @01:27PM (#20732221)
    > (so much for the "millions of pairs of eyes" thing, huh?)

    The story is about how many leaks have been found and fixed. How do you see that as a bad thing? Or do you mean that with open source development model, these bugs shouldn't been there in the first place? Well, Firefox is based on Mozilla Application Suite, which is based on Netscape Communicator, which was developed as closed source application, before it's source was released in 1998.

    http://en.wikipedia.org/wiki/Mozilla_Application_Suite [wikipedia.org]
    [ Parent ]
  • by Paradigm_Complex (968558) on Monday September 24, @01:51PM (#20732675)
    It's not as user friendly, but you can block ads with the host file. It'll work with any browser, or any program for that matter. http://en.wikipedia.org/wiki/Hosts_file [wikipedia.org]
    [ Parent ]
  • Re:Try Opera (Score:1)

    by Wolvie MkM (661535) on Monday September 24, @02:03PM (#20732899)
    I found I had less rendering problems with Opera than with Firefox. I would have stuck with it at the time but Opera didn't support the built-in ghetto gTalk on the GMail website.

    Now this was probably a year a go I tried it... So there is a fairly good chance I might be talking out of my ass now.
    [ Parent ]
  • Bah humbug. My problem with Firefox, and the problem of most of the other people complaining, is not memory usage. I have 3GB RAM in my laptop. Apart from Firefox I rarely use even 1 GB. I added the 3'rd GB to reduce my Firefox restarts from many a day to 1-2.

    That memory usage is mostly leaks. Whenever I get Firefox to 1.5-2GB, and close down all tabs, so my only page open is about:blank, and I clear out my cache, and tune the Firefox settings to minimize caching etc., most of that memory never gets freed up.

    Now, it's certainly true that there's a lot that could be improved to reduce memory usage further, but I'd be perfectly happy just to get rid of the leaks. It's not like I regularly "need" to have 80+ tabs open, and even if I do, my machine is perfectly usable with 80+ tabs open initially after a restart if/when that is what I want to do, and I'll still have plenty of memory free.

    [ Parent ]
    • 1 reply beneath your current threshold.
  • Re:Here we go... (Score:2)

    by dreddnott (555950) <dreddnott@yahoo.com> on Monday September 24, @11:57PM (#20738963)
    (http://www.the-h.net/h)
    233 millibytes isn't really that much of your computer's resources, when you get right down to it. Add in the virtual memory and it's only 0.97 bytes.
    [ Parent ]
  • 16 replies beneath your current threshold.