Closed Bug 699187 Opened 14 years ago Closed 14 years ago

Memory leaks while sitting idle with only about:home open and extensions disabled

Categories

(Firefox :: General, defect)

7 Branch
x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: mozilla, Unassigned)

Details

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:7.0.1) Gecko/20100101 Firefox/7.0.1 Build ID: 20110928134238 Steps to reproduce: Started Firefox with extensions disabled, open to "about:home" with no other tabs open. Actual results: Memory leaks at a rate of around 10 MB per hour with the browser sitting idle, doing nothing. The main source of leakage seems to be from "storage" according to about:memory, and the main "storage" leak seems to be sqlite. Here's before and after around 3 hours from that section: Before: ├───2.39 MB (04.25%) -- storage │ └──2.39 MB (04.25%) -- sqlite │ ├──0.75 MB (01.33%) -- other │ ├──0.57 MB (01.01%) -- places.sqlite │ │ ├──0.44 MB (00.78%) -- cache-used │ │ └──0.13 MB (00.23%) -- (2 omitted) │ ├──0.43 MB (00.76%) -- urlclassifier3.sqlite │ │ ├──0.35 MB (00.61%) -- cache-used │ │ └──0.08 MB (00.15%) -- (2 omitted) │ ├──0.34 MB (00.60%) -- (7 omitted) │ └──0.31 MB (00.55%) -- chromeappsstore.sqlite │ └──0.31 MB (00.55%) -- (3 omitted) After: ├──25.66 MB (33.00%) -- storage │ └──25.66 MB (33.00%) -- sqlite │ ├──23.18 MB (29.81%) -- urlclassifier3.sqlite │ │ ├──23.10 MB (29.71%) -- cache-used │ │ └───0.08 MB (00.11%) -- (2 omitted) │ ├───0.87 MB (01.12%) -- places.sqlite │ │ ├──0.63 MB (00.81%) -- cache-used │ │ └──0.24 MB (00.31%) -- (2 omitted) │ ├───0.83 MB (01.07%) -- (9 omitted) │ └───0.78 MB (01.00%) -- other Expected results: Firefox should not consume additional memory without bound sitting completely idle. At the very least it should be cleaning up after itself internally, not wasting an ever-increasing amount of memory while doing nothing for the end user.
Could you retest with a build from http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/firefox-10.0a1.en-US.mac.dmg and using about:memory?verbose Ongoing leak fixing work info updates: http://blog.mozilla.com/nnethercote/category/memshrink/
It's a lot better in the nightly, but the majority of the leakage is still in sqlite, mostly in places.sqlite/cache-used and stmt-used: Before: ├───2,271,264 B (04.32%) -- storage │ └──2,271,264 B (04.32%) -- sqlite │ ├────743,712 B (01.41%) -- other │ ├────616,624 B (01.17%) -- places.sqlite │ │ ├──461,496 B (00.88%) -- cache-used [3] │ │ ├───95,592 B (00.18%) -- stmt-used [3] │ │ └───59,536 B (00.11%) -- schema-used [3] After: ├───2,792,824 B (05.28%) -- storage │ └──2,792,824 B (05.28%) -- sqlite │ ├────920,840 B (01.74%) -- places.sqlite │ │ ├──620,488 B (01.17%) -- cache-used [3] │ │ ├──239,952 B (00.45%) -- stmt-used [3] │ │ └───60,400 B (00.11%) -- schema-used [3] The other entries under sqlite either decreased in memory usage or stayed the same.
(In reply to mozilla from comment #2) > It's a lot better in the nightly, but the majority of the leakage is still > in sqlite, mostly in places.sqlite/cache-used and stmt-used: That's not leakage, that memory is actively used to give you performance, and is not expected to reduce with time (bug 681525 is looking for possibilities to answer memory-pressure notifications though). Thus this bug is invalid as reported, since it is working as expected. You can follow the memshrink effort for further improvements, for example those sqlite caches have already been reduced consistently in Firefox 9 compared to 7, that can explain the difference you noticed in comment 2.
Status: UNCONFIRMED → RESOLVED
Closed: 14 years ago
Resolution: --- → INVALID
I could buy that, IF the browser were actually being used to do anything at all. Note that it's just sitting there, completely idle, with only "about:home" ever opened, all add-ons disabled, and absolutely nothing else of any kind going on. In what way is using memory in this situation enhancing performance?
You are idle, the browser is not. The databases often need some sort of maintenance, that, when expensive, happens at idle to avoid interrupting your usual workflow.
You need to log in before you can comment on or make changes to this bug.