Closed Bug 658814 Opened 14 years ago Closed 13 years ago

about:memory: Negative "heap-used/other" value due to overlap between image and gfx memory reporters

Categories

(Toolkit :: General, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
firefox6 - fixed

People

(Reporter: n.nethercote, Assigned: n.nethercote)

Details

Attachments

(1 file, 2 obsolete files)

Jesse saw the following output. It looks very likely that the images/* reporters and the gfx/surface/image reporter are double-counting some memory. CC'ing some gfx people. Main Process Mapped Memory 3,606,937,600 B (100.0%) -- mapped ├──3,183,395,936 B (88.26%) -- other ├────417,708,960 B (11.58%) -- heap │ ├──366,023,808 B (10.15%) -- used │ └───51,685,152 B (01.43%) -- unused └──────5,832,704 B (00.16%) -- js ├──5,308,416 B (00.15%) -- mjit-code └────524,288 B (00.01%) -- tjit-code Used Heap Memory 366,023,808 B (100.0%) -- heap-used ├──138,558,573 B (37.86%) -- images │ ├──138,237,501 B (37.77%) -- content │ │ ├──135,305,282 B (36.97%) -- used │ │ │ ├──119,908,256 B (32.76%) -- uncompressed │ │ │ └───15,397,026 B (04.21%) -- raw │ │ └────2,932,219 B (00.80%) -- unused │ │ ├──2,594,860 B (00.71%) -- uncompressed │ │ └────337,359 B (00.09%) -- raw │ └──────321,072 B (00.09%) -- chrome │ ├──321,072 B (00.09%) -- used │ │ ├──321,072 B (00.09%) -- uncompressed │ │ └────────0 B (00.00%) -- raw │ └────────0 B (00.00%) -- unused │ ├──0 B (00.00%) -- raw │ └──0 B (00.00%) -- uncompressed ├──122,852,976 B (33.56%) -- gfx │ └──122,852,976 B (33.56%) -- surface │ └──122,852,976 B (33.56%) -- image ├───80,783,240 B (22.07%) -- js │ ├──77,594,624 B (21.20%) -- gc-heap │ ├───2,320,224 B (00.63%) -- tjit-data │ │ └──2,320,224 B (00.63%) -- allocators │ │ ├──1,776,000 B (00.49%) -- reserve │ │ └────544,224 B (00.15%) -- main │ └─────868,392 B (00.24%) -- mjit-data ├───49,715,672 B (13.58%) -- storage │ └──49,715,672 B (13.58%) -- sqlite │ ├──40,946,592 B (11.19%) -- urlclassifier3.sqlite │ │ ├──40,841,408 B (11.16%) -- cache-used │ │ ├─────100,944 B (00.03%) -- stmt-used │ │ └───────4,240 B (00.00%) -- schema-used │ ├───5,191,008 B (01.42%) -- places.sqlite │ │ ├──4,717,368 B (01.29%) -- cache-used │ │ ├────395,280 B (00.11%) -- stmt-used │ │ └─────78,360 B (00.02%) -- schema-used │ ├─────984,128 B (00.27%) -- other │ ├─────733,512 B (00.20%) -- cookies.sqlite │ │ ├──718,040 B (00.20%) -- cache-used │ │ ├───12,528 B (00.00%) -- stmt-used │ │ └────2,944 B (00.00%) -- schema-used │ ├─────613,256 B (00.17%) -- extensions.sqlite │ │ ├──429,848 B (00.12%) -- cache-used │ │ ├──172,192 B (00.05%) -- stmt-used │ │ └───11,216 B (00.00%) -- schema-used │ ├─────341,480 B (00.09%) -- addons.sqlite │ │ ├──264,760 B (00.07%) -- cache-used │ │ ├───69,760 B (00.02%) -- stmt-used │ │ └────6,960 B (00.00%) -- schema-used │ ├─────335,680 B (00.09%) -- chromeappsstore.sqlite │ │ ├──265,144 B (00.07%) -- cache-used │ │ ├───64,184 B (00.02%) -- stmt-used │ │ └────6,352 B (00.00%) -- schema-used │ ├─────265,904 B (00.07%) -- downloads.sqlite │ │ ├──256,312 B (00.07%) -- cache-used │ │ ├────6,768 B (00.00%) -- stmt-used │ │ └────2,824 B (00.00%) -- schema-used │ ├─────206,152 B (00.06%) -- webappsstore.sqlite │ │ ├──135,616 B (00.04%) -- cache-used │ │ ├───64,184 B (00.02%) -- stmt-used │ │ └────6,352 B (00.00%) -- schema-used │ ├──────33,336 B (00.01%) -- formhistory.sqlite │ │ ├──19,832 B (00.01%) -- stmt-used │ │ ├──10,824 B (00.00%) -- cache-used │ │ └───2,680 B (00.00%) -- schema-used │ ├──────21,936 B (00.01%) -- content-prefs.sqlite │ │ ├───9,632 B (00.00%) -- stmt-used │ │ ├───8,280 B (00.00%) -- cache-used │ │ └───4,024 B (00.00%) -- schema-used │ ├──────17,264 B (00.00%) -- signons.sqlite │ │ ├───8,264 B (00.00%) -- cache-used │ │ ├───4,528 B (00.00%) -- stmt-used │ │ └───4,472 B (00.00%) -- schema-used │ ├──────13,296 B (00.00%) -- permissions.sqlite │ │ ├───6,776 B (00.00%) -- stmt-used │ │ ├───4,464 B (00.00%) -- cache-used │ │ └───2,056 B (00.00%) -- schema-used │ └──────12,128 B (00.00%) -- search.sqlite │ ├───5,672 B (00.00%) -- stmt-used │ ├───4,448 B (00.00%) -- cache-used │ └───2,008 B (00.00%) -- schema-used ├────8,640,641 B (02.36%) -- layout │ ├──8,640,641 B (02.36%) -- all │ └──────────0 B (00.00%) -- bidi └──-34,527,294 B (-9.43%) -- other Other Measurements 544,038,912 B -- resident 366,025,952 B -- heap-zone0-committed 413,515,776 B -- heap-zone0-used
Bug 660577 comment 27 has a similar example. The problem shows up on any page that has lots of images.
Attached patch patch (obsolete) (deleted) — Splinter Review
This is the simple, brute force approach -- just move all the gfx/surface/* reporters out of the "explicit allocations" tree into the "other measurements" tree.
Attachment #536822 - Flags: review?(jmuizelaar)
Comment on attachment 536822 [details] [diff] [review] patch This is not a patch :)
Attachment #536822 - Flags: review?(jmuizelaar) → review-
Attached patch patch v2 (obsolete) (deleted) — Splinter Review
Attempt 2!
Attachment #536822 - Attachment is obsolete: true
Attachment #537231 - Flags: review?(jmuizelaar)
Attached patch patch v3 (deleted) — Splinter Review
Attempt 3!
Attachment #537231 - Attachment is obsolete: true
Attachment #537231 - Flags: review?(jmuizelaar)
Attachment #537232 - Flags: review?(jmuizelaar)
Attachment #537232 - Flags: review?(jmuizelaar) → review+
I set the tracking-firefox6? flag because this is a low-risk fix to a bug that was introduced by the about:memory revamp, which was first introduced in Firefox 6.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
not going to track. please nominate the patch with a risk assessment.
Comment on attachment 537232 [details] [diff] [review] patch v3 Requesting approval-mozilla-aurora. The benefit of this patch is that it avoids some nonsensical negative numbers in about:memory. The risk is extremely low, it just renames and reclassifies the gfx memory reporters so they are shown in the "Other Measurements" part of about:memory instead of the "Explicit Allocations" part.
Attachment #537232 - Flags: approval-mozilla-aurora?
Comment on attachment 537232 [details] [diff] [review] patch v3 Giddyup
Attachment #537232 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Setting status-firefox6=fixed per comment 11, so that this will disappear from the "approved but not yet landed" bug list.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: