Firefox is continuing to install in the protected system area, without the benefit of the UAC warnings, bypassing any Windows security.
On the other hand, we could install into the user's home directory, and then any unprivileged program could modify the Firefox binary, bypassing any Windows security.
Just so you know, Firefox 9 stopped getting security updates once Firefox 10 was released. You're welcome to stay on FF 9 for as long as you'd like, but it's insecure.
If you continue seeing crashes, it would be helpful if you'd also test with the binaries Mozilla releases. I think the Ubuntu team usually does a good job packaging Firefox, but there are a lot of variables here...
FYI, if you go to about:crashes, you can see all your recent crash reports. These often have links to the relevant bugs.
In 3.6, I have three extensions installed to revert to old behaviour. In Nightly, I have fifteen, plus a ton of CSS in Stylish that I've written just to get the UI to match with the "Windows Classic" style I use in Windows.
That sounds unpleasant!
But you'll admit that you're an edge case, right? Even most of the trolls here on/. complain about one or two things (awesomebar, status bar), but not fifteen different behaviors they hate.
So now the question is: How much energy should Mozilla devote towards specifically your needs? Your needs are no less valid than anyone else's, but the converse is true too: Everyone else's needs are no less valid than yours. So when faced with the choice between making Firefox more usable for 399 million people, or adding and maintaining fifteen UI options so you can make Firefox work the way you and your million closest friends want, what do you think we should do?
There is a real cost even to adding and maintaining a "disable X" button to the UI, and if we did that every time we changed something, as you seem to be asking, we'd quickly end up doing nothing but fix bugs in the exponentially-growing set of ways one can configure Firefox's UI.
Or maybe you think we simply shouldn't change anything, ever? That might satisfy you, but again, we agree that you're an edge case, right? Do you honestly think that would satisfy everyone?
My experience: I can't load Yahoo Mail for any length of time in Firefox without it turning to mush. If I leave Firefox open for a couple of days with mostly static tabs, twitter excepting, and make the mistake of using other applications, it'll turn to mush.
Thank you. I need to figure out how to make a useful bug report, but I will do that.
The first quote is plenty to file with. We'll ask some questions, but we'd do that no matter what you filed with.:)
If you want to get more info, that's great. But don't let fear of filing an imperfect report keep you from filing anything at all!
I'm sure you hear enough complaints that I thought maybe you'd want to hear from one of the great many of us who are just silently using and enjoying what you've worked so hard on.
I never understood the reason for removing the status line. I've heard the reasoning that it saves vertical space for the laptop/tablet/smartphone users. However, this reasoning really doesn't hold water since all along a user could easily disable it. I, for one, constantly use the status bar and am alarmed by the decision to remove it. Someone has decided for me that I don't need it.
Since I've been paying attention, it's always been Mozilla's UI philosophy to do what we think is best for users and not to clutter the UI with an option for every feature someone might want to change. In other words, we've always decided for you, for better or for worse. It just might not have seemed that way, when you liked the decisions we made.
But we also make a browser which is flexible enough to let you install an extension which reverts you back to the old functionality. For those 1% of people who don't like it, there's an out. I guess I still don't understand why this is such a big deal to people. Go get the extension and be happy again.
PS. I wouldn't even begin to know what to put in a bug report about the memory problems.
Don't be afraid of filing a bad bug. A lot of these "snapiness" issues we've been debugging lately start out with really tough steps to reproduce: "Browse like I do for a few days." We have means of figuring out what's going on, even in those cases. But we can't do anything unless you take the first step and open a bug on bugzilla.
Yeah, but extensions are the cause of memory leaks.
Not all extensions cause leaks. At this point, perhaps most do. We found leaks in four of the top five add-ons, although most of those are now fixed.
But I'd be kind of surprised if that Status-Bar-4-Evar add-on leaks. Leakiness is usually caused by touching page content, which that add-on (hopefully!) doesn't do. Try it and see!
"My experience: I can't load Yahoo Mail for any length of time in Firefox without it turning to mush. If I leave Firefox open for a couple of days with mostly static tabs, twitter excepting, and make the mistake of using other applications, it'll turn to mush.
And by mush I mean swap hell when you try to scroll a web page, that kind of thing.
This isn't just happening on my 1.5Gb VM at work or 1Gb Netbook, it's happening on my 8Gb freshly installed no-profile-other-than-that-produced-by-Firefox-sync no-extensions-even-AdBlock Ubuntu machine."
Sweet jesus, man, he just gave you a description right there. Although I'm not on the FF dev team, that sounds like a damn memory leak to me.
This is a common/. misconception, that "bug reports" like this are actionable.
There are so many things missing from this: The reporter's operating system, which version of Firefox is affected, whether Firefox is actually swapping or the disk is spinning doing something else... We'd want to see if the garbage collector is making Firefox slow. We'd want to see if a newer version of Firefox doesn't have this problem. Like another poster said, we'd want to have a look at about:memory before and after the problem occurs. Moreover, if the problem has to do with Yahoo Mail specifically, it may have to do with the reporter's specific YM configuration. Enough Firefox users use Yahoo Mail that if anyone who opened it experienced cringe-worthy performance, we might have heard about it.
The quote above is a fine initial post in a bug report. But we'd need to go back and forth for a bit to establish set of steps to reproduce that might lead a developer somewhere.
Firefox has 400 million users. (That's 1/20th the world's population, for those following along at home.) Any time we make a UI change, some of these 400 million people will love it, and some of those 400 million people won't. I'm sorry you didn't like this change.
There's an add-on to get the status bar back. Can we move on, please?
My experience: I can't load Yahoo Mail for any length of time in Firefox without it turning to mush. If I leave Firefox open for a couple of days with mostly static tabs, twitter excepting, and make the mistake of using other applications, it'll turn to mush. And by mush I mean swap hell when you try to scroll a web page, that kind of thing.
[snip]
So... look, if we didn't love Firefox, we wouldn't be upset.
If you love Firefox, please file a bug (bugzilla.mozilla.org) and cc me [:jlebar]. Bugs from the community are how most of these problems get identified and fixed -- we simply don't have the testing resources that Google, Apple, or Microsoft has. We rely on you guys as much as you rely on us.
If you file a bug (or if anyone else reading this thread files a bug), I promise I'll take a serious look and try to understand your problem.
So while they may have fixed most of the memory leaks (it still runs like shit on a Mac), let us not allow them to get complacent again. [snip] By not frequently reminding them about memory leaks, you are opening the door to yet more bloat going forward.
I believe there's a parallel with a common fable:
You saw a wolf. I said I shot many, that the wolf situation should be improved, but you kept seeing wolves. This repeated many times and made you angry.
Now lots of others are saying that there really are fewer wolves these days. Indeed, you have no reason to believe that they're wrong.
But because of the offense done to you some time ago, you're going to continue crying wolf, even given no evidence at all?
I don't understand. I guess this is an attempt to punish us? Is it that you feel like we harmed you with our lies, so you should try to harm us with yours? I'm afraid that by crying wolf, and encouraging others to do the same, may just cause us to ignore you all, which is exactly the outcome you don't want.
I'm very sorry you feel like Mozilla deceived and harmed you. But the malicious attitude here and elsewhere in this thread is getting old. Use Chrome, if you like! But don't encourage people to waste developers' time with false claims.
In all seriousness, they need to do something about the extensions. Refuse to host leaky ones or something. Extensions can't be Firefox's killer feature if they make it eat all of your RAM.
We are so on this. In fact, add-ons are the majority of what we talk about at MemShrink these days.
In theory, leak checking is now part of the addons.mozilla.org review process, so new add-ons will all undergo a (very basic) leak check before they're approved. I'm sure we'll have to tweak as time goes on, but it's a start.
I've written and reviewed many of the patches mentioned in the presentation.:)
Code usually assume it get what it asks for, so after your rounded-down allocation, it attempts to use 1025 bytes out of 1024.
You're right that we can't change malloc so that, instead of returning 1025 bytes, it returns 1024 bytes. What we do is change the code which calls malloc so that, instead of asking for 1025 bytes, it asks for 1024 bytes.
Of course you can't always do this. But if you read TFA, you'll see a number of examples where we can.
Dump the firefox address space to a file and check the proportion that's simply text urls.
You are aware that not all of Firefox's address space is in memory, right? I'm pretty sure that Firefox does not use hundreds of MB of RAM just for storing URLs.
See page 27 of the PDF. He explains that the allocator, jemalloc, rounds up some allocation requests to easier to handle size. He calls this wastage "slop". Then look at the final point on that page - in order to reduce slop, always allocate a power of two sized block, as those never have slop.
So in order to stop the allocator wasting memory by using up more memory than requested, we're supposed to ask for more memory than we need?
What's to stop us from changing a 1025-byte allocation to 1024 bytes, rather than 2048 bytes, as you assume? There's no reason we need round up, and indeed we usually don't.
But note that even when we do round up, it's still an improvement: The slop is rarely usable memory -- you can't use it without first calling malloc_usable_size to realize that you have any slop. But if we round 1025 up to 2048 bytes, now we have almost double the amount of memory to play with. We pay 2048 bytes either way, but when we round up, we get to use all the memory we allocated.
Long term is relative... When there are browsers out there with support for 10 years, this still seems very short sighted.
I'm sure you'd agree that the 11-year (so far!) support cycle for IE6 has been a boon to consumers and web developers; Mozilla is indeed short-sighted not to want to replicate that rousing success!
but the fact that they don't even CONSIDER turning off PGO because of the performance drop means they have no idea how to tune the underlying code without using PGO (and PGO-optimised code will NOT necessarily result in the best possible code for any particular user at all!)
Because MS stopped providing the build system for the CRT sources.:-/
You'd think that we'd just figure out how to rebuild it ourselves, since we have the old build system. I don't know why we didn't, but that stuff is so ugly, I really don't want to find out.:)
On the other hand, we could install into the user's home directory, and then any unprivileged program could modify the Firefox binary, bypassing any Windows security.
You can disable auto-updates, regardless of whether or not you're running the extended support version.
Preferences -> Advanced -> Update.
You can also download every version of Firefox we've ever released here. We have no interest in forcing users to run the latest version.
Indeed, this will soon be on by default (I think in FF 13).
Just so you know, Firefox 9 stopped getting security updates once Firefox 10 was released. You're welcome to stay on FF 9 for as long as you'd like, but it's insecure.
If you continue seeing crashes, it would be helpful if you'd also test with the binaries Mozilla releases. I think the Ubuntu team usually does a good job packaging Firefox, but there are a lot of variables here...
FYI, if you go to about:crashes, you can see all your recent crash reports. These often have links to the relevant bugs.
In 3.6, I have three extensions installed to revert to old behaviour. In Nightly, I have fifteen, plus a ton of CSS in Stylish that I've written just to get the UI to match with the "Windows Classic" style I use in Windows.
That sounds unpleasant!
But you'll admit that you're an edge case, right? Even most of the trolls here on /. complain about one or two things (awesomebar, status bar), but not fifteen different behaviors they hate.
So now the question is: How much energy should Mozilla devote towards specifically your needs? Your needs are no less valid than anyone else's, but the converse is true too: Everyone else's needs are no less valid than yours. So when faced with the choice between making Firefox more usable for 399 million people, or adding and maintaining fifteen UI options so you can make Firefox work the way you and your million closest friends want, what do you think we should do?
There is a real cost even to adding and maintaining a "disable X" button to the UI, and if we did that every time we changed something, as you seem to be asking, we'd quickly end up doing nothing but fix bugs in the exponentially-growing set of ways one can configure Firefox's UI.
Or maybe you think we simply shouldn't change anything, ever? That might satisfy you, but again, we agree that you're an edge case, right? Do you honestly think that would satisfy everyone?
My experience: I can't load Yahoo Mail for any length of time in Firefox without it turning to mush. If I leave Firefox open for a couple of days with mostly static tabs, twitter excepting, and make the mistake of using other applications, it'll turn to mush.
Thank you. I need to figure out how to make a useful bug report, but I will do that.
The first quote is plenty to file with. We'll ask some questions, but we'd do that no matter what you filed with. :)
If you want to get more info, that's great. But don't let fear of filing an imperfect report keep you from filing anything at all!
I'm sure you hear enough complaints that I thought maybe you'd want to hear from one of the great many of us who are just silently using and enjoying what you've worked so hard on.
We all appreciate this, I think. Thanks!
I never understood the reason for removing the status line. I've heard the reasoning that it saves vertical space for the laptop/tablet/smartphone users. However, this reasoning really doesn't hold water since all along a user could easily disable it. I, for one, constantly use the status bar and am alarmed by the decision to remove it. Someone has decided for me that I don't need it.
Since I've been paying attention, it's always been Mozilla's UI philosophy to do what we think is best for users and not to clutter the UI with an option for every feature someone might want to change. In other words, we've always decided for you, for better or for worse. It just might not have seemed that way, when you liked the decisions we made.
But we also make a browser which is flexible enough to let you install an extension which reverts you back to the old functionality. For those 1% of people who don't like it, there's an out. I guess I still don't understand why this is such a big deal to people. Go get the extension and be happy again.
PS. I wouldn't even begin to know what to put in a bug report about the memory problems.
Don't be afraid of filing a bad bug. A lot of these "snapiness" issues we've been debugging lately start out with really tough steps to reproduce: "Browse like I do for a few days." We have means of figuring out what's going on, even in those cases. But we can't do anything unless you take the first step and open a bug on bugzilla.
Yeah, but extensions are the cause of memory leaks.
Not all extensions cause leaks. At this point, perhaps most do. We found leaks in four of the top five add-ons, although most of those are now fixed.
But I'd be kind of surprised if that Status-Bar-4-Evar add-on leaks. Leakiness is usually caused by touching page content, which that add-on (hopefully!) doesn't do. Try it and see!
You can't have it both ways.
I do agree in general that we can't tout extensions as Firefox's killer feature and allow them to destroy users' experience. http://jlebar.com/2011/11/13/The_carrot%2C_the_stick%2C_and_the_wrench%3A_Add-on_leaks_are_everyone's_problem..html
"My experience: I can't load Yahoo Mail for any length of time in Firefox without it turning to mush. If I leave Firefox open for a couple of days with mostly static tabs, twitter excepting, and make the mistake of using other applications, it'll turn to mush.
And by mush I mean swap hell when you try to scroll a web page, that kind of thing.
This isn't just happening on my 1.5Gb VM at work or 1Gb Netbook, it's happening on my 8Gb freshly installed no-profile-other-than-that-produced-by-Firefox-sync no-extensions-even-AdBlock Ubuntu machine."
Sweet jesus, man, he just gave you a description right there. Although I'm not on the FF dev team, that sounds like a damn memory leak to me.
This is a common /. misconception, that "bug reports" like this are actionable.
There are so many things missing from this: The reporter's operating system, which version of Firefox is affected, whether Firefox is actually swapping or the disk is spinning doing something else... We'd want to see if the garbage collector is making Firefox slow. We'd want to see if a newer version of Firefox doesn't have this problem. Like another poster said, we'd want to have a look at about:memory before and after the problem occurs. Moreover, if the problem has to do with Yahoo Mail specifically, it may have to do with the reporter's specific YM configuration. Enough Firefox users use Yahoo Mail that if anyone who opened it experienced cringe-worthy performance, we might have heard about it.
The quote above is a fine initial post in a bug report. But we'd need to go back and forth for a bit to establish set of steps to reproduce that might lead a developer somewhere.
Firefox has 400 million users. (That's 1/20th the world's population, for those following along at home.) Any time we make a UI change, some of these 400 million people will love it, and some of those 400 million people won't. I'm sorry you didn't like this change.
There's an add-on to get the status bar back. Can we move on, please?
https://addons.mozilla.org/en-US/firefox/addon/status-4-evar/
My experience: I can't load Yahoo Mail for any length of time in Firefox without it turning to mush. If I leave Firefox open for a couple of days with mostly static tabs, twitter excepting, and make the mistake of using other applications, it'll turn to mush. And by mush I mean swap hell when you try to scroll a web page, that kind of thing.
[snip]
So... look, if we didn't love Firefox, we wouldn't be upset.
If you love Firefox, please file a bug (bugzilla.mozilla.org) and cc me [:jlebar]. Bugs from the community are how most of these problems get identified and fixed -- we simply don't have the testing resources that Google, Apple, or Microsoft has. We rely on you guys as much as you rely on us.
If you file a bug (or if anyone else reading this thread files a bug), I promise I'll take a serious look and try to understand your problem.
So while they may have fixed most of the memory leaks (it still runs like shit on a Mac), let us not allow them to get complacent again. [snip] By not frequently reminding them about memory leaks, you are opening the door to yet more bloat going forward.
I believe there's a parallel with a common fable:
You saw a wolf. I said I shot many, that the wolf situation should be improved, but you kept seeing wolves. This repeated many times and made you angry.
Now lots of others are saying that there really are fewer wolves these days. Indeed, you have no reason to believe that they're wrong.
But because of the offense done to you some time ago, you're going to continue crying wolf, even given no evidence at all?
I don't understand. I guess this is an attempt to punish us? Is it that you feel like we harmed you with our lies, so you should try to harm us with yours? I'm afraid that by crying wolf, and encouraging others to do the same, may just cause us to ignore you all, which is exactly the outcome you don't want.
I'm very sorry you feel like Mozilla deceived and harmed you. But the malicious attitude here and elsewhere in this thread is getting old. Use Chrome, if you like! But don't encourage people to waste developers' time with false claims.
In all seriousness, they need to do something about the extensions. Refuse to host leaky ones or something. Extensions can't be Firefox's killer feature if they make it eat all of your RAM.
We are so on this. In fact, add-ons are the majority of what we talk about at MemShrink these days.
In theory, leak checking is now part of the addons.mozilla.org review process, so new add-ons will all undergo a (very basic) leak check before they're approved. I'm sure we'll have to tweak as time goes on, but it's a start.
http://jlebar.com/2011/11/13/The_carrot%2C_the_stick%2C_and_the_wrench%3A_Add-on_leaks_are_everyone's_problem..html
You are clearly not a programmer.
I've written and reviewed many of the patches mentioned in the presentation. :)
Code usually assume it get what it asks for, so after your rounded-down allocation, it attempts to use 1025 bytes out of 1024.
You're right that we can't change malloc so that, instead of returning 1025 bytes, it returns 1024 bytes. What we do is change the code which calls malloc so that, instead of asking for 1025 bytes, it asks for 1024 bytes.
Of course you can't always do this. But if you read TFA, you'll see a number of examples where we can.
Dump the firefox address space to a file and check the proportion that's simply text urls.
You are aware that not all of Firefox's address space is in memory, right? I'm pretty sure that Firefox does not use hundreds of MB of RAM just for storing URLs.
See page 27 of the PDF. He explains that the allocator, jemalloc, rounds up some allocation requests to easier to handle size. He calls this wastage "slop". Then look at the final point on that page - in order to reduce slop, always allocate a power of two sized block, as those never have slop.
So in order to stop the allocator wasting memory by using up more memory than requested, we're supposed to ask for more memory than we need?
What's to stop us from changing a 1025-byte allocation to 1024 bytes, rather than 2048 bytes, as you assume? There's no reason we need round up, and indeed we usually don't.
But note that even when we do round up, it's still an improvement: The slop is rarely usable memory -- you can't use it without first calling malloc_usable_size to realize that you have any slop. But if we round 1025 up to 2048 bytes, now we have almost double the amount of memory to play with. We pay 2048 bytes either way, but when we round up, we get to use all the memory we allocated.
Long term is relative... When there are browsers out there with support for 10 years, this still seems very short sighted.
I'm sure you'd agree that the 11-year (so far!) support cycle for IE6 has been a boon to consumers and web developers; Mozilla is indeed short-sighted not to want to replicate that rousing success!
but the fact that they don't even CONSIDER turning off PGO because of the performance drop means they have no idea how to tune the underlying code without using PGO (and PGO-optimised code will NOT necessarily result in the best possible code for any particular user at all!)
We accept patches.
Except the 64 --> 32 linker cannot use link-time code generation, which is a prerequisite of PGO.
VS2010 ships with the CRT source but not the build system.
I haven't looked at this, but the build system is apparently Very Difficult to recreate.
The 64-bit ARM architecture is ARMv8, which does not exist in any chip at the moment that I'm aware of.
http://stackoverflow.com/questions/1308500/is-iphone-os-64-bit-or-32-bit
http://en.wikipedia.org/wiki/ARMv8#ARM_cores
Because MS stopped providing the build system for the CRT sources. :-/
You'd think that we'd just figure out how to rebuild it ourselves, since we have the old build system. I don't know why we didn't, but that stuff is so ugly, I really don't want to find out. :)
Apparently this works (which surprised most of us on IRC), but doesn't support PGO, unfortunately (though unsurprisingly).