First Look At Firefox 3.0 Beta 2
DaMan writes "ZDNet takes Firefox 3.0 beta 2 for a spin and draws some conclusions that should be sweet music to Mozilla's ears.
"Beta 2 feels snappier and far more responsive than beta 1 (or Firefox 2.0 for that matter) and I can feel the difference on all the systems that I've tried it on — from a lowly Sempron system to my quad-core monsters. No matter what you want doing — opening a new tab, moving tabs, opening up Find, zooming in and out of the page, bookmarking — it all happens swiftly and smoothly. What surprises me about the Firefox 3.0 beta is how many memory leaks that Mozilla have fixed. Complaints of memory leaks with Firefox 2.0 were met with an attitude of "Leaks? What leaks?" Considering that there have been more than 300 leaks plugged, it's obvious that past versions leaked like sieves.""
Beta 1 did, so you'd hope Beta 2 will :)
How we know is more important than what we know.
But on older systems, the sieve like memory leaks made it inoperable within a short period of time. Hopefully this will allow those of us who run legacy hardware to have a modern relatively secure web browser.
Except for the newer bits, like most of Places and the cosmetics of new Super-autocomplete dropdown (which feels ... unrefined; functionality-wise it's doing a great job).
It's interesting to see the new animated-ish tab movement on the tab bar (when you scroll the mousewheel over it) and the animation when things like 'Remember this password?' appear. They look pretty, but are slow on some crappy video cards -- would anyone know how these 'animation' effects can be disabled?
And, kudos to the Firefox team -- I've been using v3 Beta1 for some time, and the browser does feel snappier. Of course, I haven't loaded up my 4-5 'must-have' extensions (Adblock, TabMixPlus, SwitchProxy, DownloadThemAll mainly, sometimes YSlow) so it'll be interesting to see how v3 does in "real"-use scenarios.
Go somewhere random
Apparently not, the bug against it is still open. ( https://bugzilla.mozilla.org/show_bug.cgi?id=289480 - but you'll have to copy/paste, since Bugzilla blocks Slashdot referrers.)
And before anyone jumps on this and points out that it used to, it has apparently regressed and no longer does, according to the last comments on the bug.
Not to mention that, even if it does (finally) pass Acid 2, there are still a ton of CSS3 features that Firefox fails to implement.
I remember the excitement when people first started using the trimmed down Firefox versions. Lean, mean, secure, and eventually the amazing array of extensions people have grown to no longer be able to do without.
... ...
Those days seem long ago now. The project needs a top to bottom rewrite to deal with orders of magnitude more demanding usage of large numbers of tabs over days or weeks at a time.
Firefox needs to:
1) Implement threading both between tab sessions and within tabs themselves
2) Bring the memory-performance balance up to par with other browsers
3) Implement some sort of standard memory/resource allocation/deallocation API for extensions so that people can bring up a standard window and see:
Tab 1: 35 megs
Tab 2: 50 megs
Extension 1: 500k
Extension 2: 100 megs == Zoinks!
Extension 3: 300k
So that memory/resource leaks can be readily identified, reported, and fixed.
The save active tabs option has helped to allow people shutdown and wipe the memory slate clean but that really is not a solution a decent piece of software should be forced to rely on.
It would take a really bad OS to make memory fragmentation a problem, since memory address pointers are virtualized (IE I'm talking about how process A can't access process B's memory and how the same numerical pointers in each point to different memory locations). Even Windows isn't that bad. Besides, the only performance metric any kind of fragmentation can really affect is speed, never size.
Or is this some misnomer or am I misunderstanding this?
I love my firefox, but with Opera and Konq out there, the only reason I really stick to Firefox is for the extensions that I simply can't live without. I am getting so damned tired of it crashing on KDE time after time that I'm on the verge of being willing to dump it all and survive extension-free. As it is, I'll be just browsing around, reading some stuff, click a link... the page I want will start to come up... and then it'll just hang out of nowhere and never come back to life. I'll kill the process and re-launch it and it'll be fine again for a few hours. It's just so damn frustrating. Thank god for the session saver. That absolutely had to be implemented, because without it nobody would continue using firefox unless it was completely crash-free.
I do like the idea of using Konq full-time, but the extensions just aren't there. Meh.
Windows EventID 9582: The virtual memory necessary to run your Exchange server is fragmented in such a way that performance may be affected. It is highly recommended that you restart all Exchange services to correct this issue.
It happens quite a bit actually.
Your misunderstanding it.
The problem with memory fragmentation is that as firefox gets used it allocates memory for buffers then stops using some of that memory. The memory unused is too small to return to the OS and if a large amount of memory is needed then more is allocated sice none of the spaces are large enough to hold whatever object that needs the memory.
It's entirely possible that firefox would have 1/3 to 1/2 of it's memory unused at any given time.
Knowing that's the problem and fixing a problem as complicated as that are two different things unfortunatly
You mean to say IE8 did, so you'd hope Firefox will!
Maybe it's late and I'm looking to nitpick, but "it's obvious that past versions leaked like sieves" is a bold declaration that is rife with interesting implications that I don't think are strictly true.
Even as you read this, your pants are strangling your loins! Aaa!
Firefox got replaced with some lame Iceweasel thing. Besides just looking nasty, it doesn't use the firefox settings. I lose the themes, stored passwords (Talk about lock-in! How in hell to I dig those out of firefox?), stored cookies (a bit more lock-in), plug-ins, etc.
How about basic useability improvements that I've been hoping for since Firefox 0.8 (Firebird back then, or maybe Phoenix even) such as page-created modal dialogs (eg. javascript:alert("");) being tab-modal instead of application-wide, or how about the Downloads dialog being useful? I'm not talking about making it a Download Manager or anything, I mean stuff like actually telling me if a download fails instead of reporting "Complete" even if the download URL resulted in an error or if it cuts out before downloading Content-Length bytes. And I'm sure there are plenty more things like these I could think of if it wasn't 5am right now.
I know this stuff may be considered trivial things to some people, but it strikes me as basic functionality. I would hope that Firefox won't make it to a third supposedly major version change without these kinds of things being addressed.
Spelling mistakes, grammatical errors, and stupid comments are intentional.
It is much more important to be compliant with CSS than just passing the Acid2 test, and so I really don't pay much attention to this test at all. There are better test suites out there, for instance http://www.css3.info/selectors-test/test.html.
We need to pay less attention to passing any one test and more to standards compliance as a whole.
Freedom is not worth having if it does not include the freedom to make mistakes. - Mahatma Gandhi
This is really the worst part of modern software-development practices. When users complain about bugs, they are met with hostile demands to explain exactly, how to reproduce the bug, and the complainer is always presumed to be doing something wrong. Those, who aren't willing to put up with the hostility are not even deemed worthy of being a user — if you had a bug, you should've reported it!
But when a new release has (some of) the bugs fixed, the fixes are touted as a major leap forward. We are supposed to love the new version for all the fixes it includes — and ignore all the bugs, that the next version will be addressing...
In Soviet Washington the swamp drains you.
Normally, I'd agree with you, but I think in this case it's different. It's all about public perception and to and extent, marketing. If IE8 can pass a test that's widely publicized and the latest FireFox can't, people may doubt that FireFox is superior. Of course people such as yourself will realize it doesn't mean much, but it's a very easy thing to point to and say "Hey it looks like Microsoft got something right."
Sorry for replying again but I just found out that the test itself is broken and not Firefox. The reason is given here but it appears that it now renders wrong in Opera and Safari as well.
Hmm... The test breaks and IE is suddenly compliant while previously compliant browsers are not *dons his tin foil hat*
Freedom is not worth having if it does not include the freedom to make mistakes. - Mahatma Gandhi
I would hope not. The OS on its own isn't really doing any useful or interesting work.
Slashdot - where whining about luck is the new way to make the world you want.
We need a rewrite that strips out all the bloat to make a lean, fast, bloat free browser out of a basically solid codebase. It'll be like it's risen from the ashes, so we need a name that reflects that. A name like "phoenix". I wonder if that's taken...
SJW n. One who posts facts.
It does pass. The original Acid 2 test page http://www.webstandards.org/files/acid2/test.html accidentally got changed a bit (so that a missing link returns error code 200 instead of 404 not found). That's why FF (and other browsers like Safari and Opera) "fail" on that page. But see the mirrored page here http://www.hixie.ch/tests/evil/acid/002/ to verify that FF 3b2 (and Safari and Opera and IE 8... OOoops! can't test that one!) do pass...
I'm running a few-days-old Minefield (SVN build) release and it passes perfectly.
If there's anyone I hate more than stupid people, it's intellectuals.
To the best of my knowledge, Firefox typically does not leak memory, at least in the conventional sense that references to memory are erroneously discarded and unused allocated memory cannot be freed. Instead, the actual heart of the issue is supposedly memory fragmentation:
http://blog.pavlov.net/2007/11/10/memory-fragmentation/
As the linked article suggests, memory fragmentation can be reduced by replacing heap allocations with stack variables, where possible, in hotspots such as the JavaScript engine. As for the heap allocations that cannot be dealt away with in this manner, effort can be made to group them together such that they are less likely to cause fragmentation.
There was a bug on the server running the test (returning a page with a 200 success code instead of 404 error). It has been fixed since.
It shows up like that because of a misconfiguration on webstandards.org. (In particular, "not found" pages are served as 200 instead of 404.) Safari and Opera will show you the same thing. Hixie is trying to get it fixed.
The version of Acid 2 on the author's website works fine.
The shareholder is always right.
Sorry, I call bullshit. The only time I've seen that "response" was on Ben Goodger's blog, numerous comments by ignorant fanboys, and a lot of copy/pastes by people like you. I have yet to see anyone familiar with Firefox internals make this (patently false) claim. Of course part of the problem with the Web is that most people can't tell apart a random blogger who doesn't even use Firefox, a Firefox fanboi, and a Gecko developer, even if they were to try. And they don't try.
;)
The claim I _have_ seen made is that leak bugs would be easier to fix if people actually provided some idea of how to reproduce the leak (e.g. which sites they visited in the process of leaking). At some point David Baron wrote an extension that allowed collecting such data automatically, and the results from this led directly to a number of leaks being fixed in Gecko 1.9.
The other issue Gecko 1.8 had is that it had several leak scenarios that particularly hit AJAXy apps. With the growth in the number of such apps, the leaks became more serious. Gecko 1.9 fixes those issues.
Try the beta. You might like it.
You read somewhat wrong... General use of templates was disallowed, but templated smart pointers for reference counting have been in use in Gecko for quite a long time. The class was carefully written and tested to work on all the compilers being targeted at the time (a lot of which had crappy template support).
I'm not sure why it's "heinous" advice to say "avoid writing code that won't compile and will have to be backed out"...
A MS internal beta version of IE8 reportedly passes Acid2. That's a bit different from "IE is suddenly compliant."
Those of you watching from home from an IE browser, please don't attempt the Acid2 test, or you might do further damage to the test.
- RG>
Hey pal, this isn't a pleasantforest, so don't waste my time with pleasantries!
A brief answer is "yes".
There is sloppy coding in some parts of the codebase (some of which are not actually used in Firefox, though; parts of the addressbook code in mailnews come to mind). The reference-counting system used in Gecko will leak in the presence of reference cycles (mitigated in 1.9 with the cycle collector). The reference-counting system and the GC-based JS engine don't play that nice together in some ways (again mitigated by the cycle collector; planned to be fixed in Gecko 2.0 by moving to a GC-based setup for the C++ as well). Extensions have been known to do silly things like holding onto all Window objects ever loaded in the browser (which of course prevents them from being GCed).
Some things you missed are memory fragmentation, plug-in leaks (only really solvable by putting plug-ins out-of-process), and unbounded growth of caches (there isn't much of this, but for completeness sake).
100k? You only wish!
Most web pages seem to have images, which all together add up to more than 100k. Then there's the DOM tree, the Javascript libraries, all the script state with variables, objects, etc. There's IFRAMEs and OBJECTs.
Lots more than just the surface.
Don't get me wrong lads, I love firefox, but the downloader in 1.x and 2.x is ASSSSSSSSS
I know that 3.0 did SOME changes to the downloader but how many? Is it just the UI or resume?
In FF 2.0 on a single core, p4 3ghz, if I open say a 1920x1200 JPG on a web site, then right click to save as, the ENTIRE BROWSER dies in the ass for up to nearly 10 seconds, it even does it on my heavily overclocked quad core machine at home (still 4 or 5 seconds)
There's something about that download box which just completely chugs machines.
It's been claimed for IE8, but anyone can download the Firefox betas and check for themselves. Big difference.
Wouldn't be the first dose of vapourware to come out of Redmond....
"I've got more toys than Teruhisa Kitahara."
The reason I am waiting for Firefox 3 is the new Gecko engine which will make vertical text possible. With this, it should be possible to make tabs vertical. Right now the only way to get that in Firefox is the Rotab extension, but it is an ugly slow and unpolished hack which has not been updated in ages. Hopefully a major extension like TabMixPlus will make vertical text an option
in FF3.
Yes it does.
It hasn't been fixed yet, but you can take the test here: http://www.hixie.ch/tests/evil/acid/002/
To be honest its mostly irrelevant at this point since you're still going to have to support FF2, IE6 and IE7 for years yet.
I have discovered a truly remarkable sig which this post is too small to contain.
echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
Firefox isn't just remembering some HTML code and images, that's what the cache is for, it's remembering the STATE of the web page. When you hit the back button, it (usually) remembers what you've entered in the form, where you were scrolled to on the page, etc. It remembers the page as it was when you left it so it doesn't need to render it all over again. This includes rendered CSS, Javascript states, uncompressed images, the DOM tree (as the GP mentioned). They wouldn't be able to call it "Instant Back" if it had to render the page again, because that wouldn't be very instant.
You're right. We won't be able to fix problems today, so fuck it, let's just never fix them.
<xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
ACID2 fits in perfectly with the Microsoft Mindset. Remember how MS screwed other browsers. They...
1) custom coded their HTML generators (e.g. Frontpage) to generate badly broken webpages, which any sane browser (Netscape, Mozilla, Firefox, Opera, Konqueror, etc) would have problems with
2) custom coded IE to handled the badly broken webpages produced by Frontpage, etc.
The net result was a World Wide Web full of pages that are "best viewed with Internet Explorer". Embracing broken "MS Extensions" is wrong. Yet the people behind ACID2 seem to think that it's a good idea that a web browser should take a badly broken webpage and guess at what the "intent" of the webpage is. What's next? A C compiler that tries to guess what you intended your program to do, rather than returning a compiler error when it encounters broken C code? The solution to broken webpages should be to fix the broken webpages.
I'm not repeating myself
I'm an X window user; I'm an ex-Windows user
I suppose it depends... eg.
"I can reproduce it. First logon to 'www.bigjugs.com', then I click the link to 'charlene' and I see a page of 500 thumbnail images. I click on each one in turn until about after image 220..... uerrmmm.. nevermind, I think I'm not sure I can reproduce it, there's just a memory leak that I saw once, umm maybe it has something to do with the back button code?"
Abandoned no.
Kludging to pass the test without actually implementing full CSS2 support, yes.
ACID2 is a test of a few of the hardest elements of CSS2, based on the assumption that if you passed the test, you'd have good support for the rest of the standard. If your goal was to just get the tick in the box for marketing purposes, it wouldn't be hard to just kludge it.
That's very much Microsoft's style. Look at how they're hacking ISO instead of fixing MSOOXML for a recent example.
"I've got more toys than Teruhisa Kitahara."
No, it really did. That's your first clue that it isn't done yet. :)
Firefox is developing more quickly because it doesn't have all of the baggage. It has its hurdles to overcome like and project, but they don't have to worry about making their browser render any page written in Netscape Composer properly. IE still has to make all those FrontPage sites look like the code wasn't shat out of some third graders science project on the effects of mold on diodes.
With good developers, lots of money, and as much savvy as anyone, Microsoft has the ability to produce all kinds of amazing software. Once they've made some great software (like a browser that renders Acid 2 properly), that's when they start adding in all of the backwards compatibility that effectively crushes the product.
I believe that Windows could be every bit as polished as OS X, as lean as Linux, and as secure as BSD if they didn't bend over backwards to maintain compatibility with every in-house-developed Visual Basic app that accesses odbc.ini, has hard coded requirements to be at the root of C:, and writes user preferences to HKLM.
Mirosoft needs to learn that sometimes things shouldn't work with their new OS. That isn't to say that Apple doesn't do this to the other extreme, breaking things with every point release and forcing developers to come out with updates to all of their software every year or two just so that it won't run in some degraded mode, but there's a happy medium in there where you do a lifecycle on the components of your OS. If they could ease people along, explain the benefits of the new way of doing something, and make a clean break instead of using hacked together tangled bundles of cruft, we'd all be in a better place.
Ok, so I strayed off topic. Anyway, I use Opera. : )
XeoMage
Bullshit. Do you think Firefox doesn't have to render stuff written in Frontpage too? Mozilla pays just as much attention to quirks mode as Microsoft.