Closed Bug 715474 Opened 13 years ago Closed 12 years ago

Successive zombie compartments with add-on "Screengrab (fix version)" 0.96.3c

Categories

(Firefox :: Untriaged, defect)

12 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: epinal99-bugzilla2, Unassigned)

References

()

Details

(Whiteboard: [MemShrink:P3])

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0a1) Gecko/20120104 Firefox/12.0a1
Build ID: 20120104031035

Steps to reproduce:

It's a bug report just for the record because the relevant add-on is reported as EOL by its author and reported as incompatible with FF9+ (but major functions work).

The leaky add-on is Screengrab 0.96.3 (see https://addons.mozilla.org/en-US/firefox/addon/1146 ) that allows you to take a snapshot (selection, visible portion, complete page, window) of the webpage you're visiting.

STR:
1) Create a new profile and enable the add-on bar
2) Install Screengrab 0.96.3 from https://addons.mozilla.org/en-US/firefox/addon/screengrab/ (Add-on Compatibility Reporter is eventually necessary to force the compatibility of Screengrab in FF9+)
3) Open about:memory?verbose
4) Open http://my.yahoo.com/ (heavy JS website) in another tab
5) Click on Screengrab icon, select "Save > Visible portion..." and save the snapshot as PNG image
6) Close the tab http://my.yahoo.com/
7) Return to about:memory?verbose, hit the "minimize memory usage" button few times and wait for 5 min to observe the zombie compartment:

│  ├───6,643,432 B (14.68%) -- compartment(http://my.yahoo.com/)
│  │   ├──4,358,144 B (09.63%) -- gc-heap
│  │   │  ├──2,028,304 B (04.48%) -- arena
│  │   │  │  ├──2,001,488 B (04.42%) -- unused
│  │   │  │  ├─────17,024 B (00.04%) -- headers
│  │   │  │  └──────9,792 B (00.02%) -- padding
│  │   │  ├──1,039,136 B (02.30%) -- objects
│  │   │  │  ├────707,328 B (01.56%) -- non-function
│  │   │  │  └────331,808 B (00.73%) -- function
│  │   │  ├────551,920 B (01.22%) -- shapes
│  │   │  │    ├──269,352 B (00.60%) -- dict
│  │   │  │    ├──227,496 B (00.50%) -- tree
│  │   │  │    └───55,072 B (00.12%) -- base
│  │   │  ├────360,496 B (00.80%) -- strings
│  │   │  ├────287,856 B (00.64%) -- scripts
│  │   │  └─────90,432 B (00.20%) -- type-objects
│  │   ├────533,728 B (01.18%) -- script-data
│  │   ├────528,032 B (01.17%) -- shapes-extra
│  │   │    ├──361,472 B (00.80%) -- tree-tables
│  │   │    ├───98,272 B (00.22%) -- dict-tables
│  │   │    ├───47,680 B (00.11%) -- tree-shape-kids
│  │   │    └───20,608 B (00.05%) -- compartment-tables
│  │   ├────457,504 B (01.01%) -- object-slots
│  │   ├────327,680 B (00.72%) -- mjit-code
│  │   ├────157,496 B (00.35%) -- type-inference
│  │   │    ├──121,296 B (00.27%) -- object-main
│  │   │    └───36,200 B (00.08%) -- tables
│  │   ├────141,312 B (00.31%) -- analysis-temporary
│  │   └────139,536 B (00.31%) -- string-chars

8) Open https://bugzilla.mozilla.org/ (low JS website) in another tab
9) Click on Screengrab icon, select "Save > Visible portion..." and save the snapshot as PNG image
10) Close the tab https://bugzilla.mozilla.org/
11) Return to about:memory?verbose, hit the "minimize memory usage" button few times and wait for 5 min to observe the new zombie compartment succeeding to the previous one:

│  ├─────222,256 B (00.50%) -- compartment(https://bugzilla.mozilla.org/)
│  │     ├──143,360 B (00.33%) -- gc-heap
│  │     │  ├──125,272 B (00.28%) -- arena
│  │     │  │  ├──124,344 B (00.28%) -- unused
│  │     │  │  ├──────560 B (00.00%) -- headers
│  │     │  │  └──────368 B (00.00%) -- padding
│  │     │  ├───10,712 B (00.02%) -- shapes
│  │     │  │   ├───3,816 B (00.01%) -- dict
│  │     │  │   ├───3,680 B (00.01%) -- base
│  │     │  │   └───3,216 B (00.01%) -- tree
│  │     │  ├────6,032 B (00.01%) -- objects
│  │     │  │    ├──5,024 B (00.01%) -- function
│  │     │  │    └──1,008 B (00.00%) -- non-function
│  │     │  ├──────768 B (00.00%) -- type-objects
│  │     │  └──────576 B (00.00%) -- scripts
│  │     ├───65,536 B (00.15%) -- mjit-code
│  │     ├────6,784 B (00.02%) -- shapes-extra
│  │     │    ├──4,416 B (00.01%) -- compartment-tables
│  │     │    ├──2,016 B (00.00%) -- dict-tables
│  │     │    ├────256 B (00.00%) -- tree-shape-kids
│  │     │    └─────96 B (00.00%) -- tree-tables
│  │     ├────5,120 B (00.01%) -- object-slots
│  │     ├────1,344 B (00.00%) -- type-inference
│  │     │    └──1,344 B (00.00%) -- tables
│  │     └──────112 B (00.00%) -- script-data


Actual results:

Each time you take a snapshot, Screengrab 0.96.3 releases the memory of the previous zombie compartment and a new zombie compartment is created. Especially when the website is heavy in JS, the zombie compartment may be large.
OS: Windows 7 → All
Hardware: x86_64 → All
Whiteboard: [MemShrink]
Note that Screengrab doesn't officially support Firefox 4 and later.
> It's a bug report just for the record because the relevant add-on is reported as EOL by its author 
> and reported as incompatible with FF9+ (but major functions work).

If the author no longer supports the add-on, then this is wontfix, right?
I emailed the author Andy Mutton, let's see if he will reply in 1 week or 2. Then close it as wontfix, I think.
sgtm!
Whiteboard: [MemShrink] → [MemShrink:P3]
18 days after my email to author Andy Mutton, no reply. So I think you can close this bug as wontfix.
Status: UNCONFIRMED → RESOLVED
Closed: 12 years ago
Resolution: --- → WONTFIX
Jorge, is this a candidate for a nag screen on AMO?
(In reply to Justin Lebar [:jlebar] from comment #6)
> Jorge, is this a candidate for a nag screen on AMO?

The addon isn't compatible with recent versions of Firefox. Nobody has investigated whether this bug exists with Firefox 3.6, as far as I can tell.
> reported as incompatible with FF9+ (but major functions work).

Indeed; I forgot about this.  If it's incompatible then I don't care.
I just added Screengrab to the compatibility override list, so that Firefox 10 and above will flag it as incompatible.
Add-ons that are incompatible with Firefox 4 won't be considered compatible anyway.
It is marked as compatible with 6.* on AMO.
Huh, I thought I saw a max version of 3.6 when I checked this a few weeks ago. I either misread this, or Andy (CC'd to this bug, btw) is actually still active and updated the version range.
It doesn't work consistently on all platforms with any versions past 5 I think. 
Things changed and I don't have the time or inclination to keep messing with it to make it work.
If I ever start thinking about working on this again I'll look at this bug, but that is extremely unlikely.

There is, however, a version that someone is bumping the compatibility numbers on...
https://addons.mozilla.org/en-US/firefox/addon/screengrab-fix-version/

Whoever they are, they might care.
Let's reopen this for the "(fix version)" version.

I tried to find the new author's email but failed.
Status: RESOLVED → REOPENED
Ever confirmed: true
Resolution: WONTFIX → ---
Summary: Successive zombie compartments with add-on Screengrab 0.96.3 → Successive zombie compartments with add-on "Screengrab (fix version)" 0.96.3c
I think it's a trivial fork they did, only to bump the maxversion, not really a full maintenance of the previous add-on.
I sent a message to the developer of the fork.
I tested new 0.96.4c version and not observe zombie compartment.
Is the 0.96.4c version available on AMO?
I don't see it anywhere. Teo, where did you find this version?
(In reply to Jorge Villalobos [:jorgev] from comment #19)
> I don't see it anywhere. Teo, where did you find this version?

This version is here:
https://addons.mozilla.org/en-US/firefox/addon/screengrab-fix-version/versions/
Right. I forgot this was about the fork and not the original.
This is fixed in the "fix version" now, and the old version is marked incompatible in Firefox 10 and above.
Status: REOPENED → RESOLVED
Closed: 12 years ago12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.