Closed Bug 473686 Opened 16 years ago Closed 15 years ago

[SeaMonkey] Chrome (suite) test_idcheck.xul > navigator.xul : new 1,112 bytes leak on 2009-01-13

Categories

(SeaMonkey :: UI Design, defect)

defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED
seamonkey2.0b1

People

(Reporter: sgautherie, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: memory-leak, regression, Whiteboard: [Fixed by bug 243894 (through bug 470709)])

(This comes on top of (MacOSX) bug 470710 ... yet looks similar to bug 470709 too.)

See Linux regression timeframe:
I would guess it's one of Boris's...

http://tinderbox.mozilla.org/showlog.cgi?log=SeaMonkey/1231878156.1231879929.22165.gz
Linux comm-central dep unit test on 2009/01/13 12:22:36
{
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1112 bytes during test execution
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of BackstagePass with size 20 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of CompositeDataSourceImpl with size 64 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of InMemoryDataSource with size 144 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of LocalStoreImpl with size 36 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of RDFServiceImpl with size 272 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of XPCNativeScriptableShared with size 108 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 4 instances of XPCWrappedNative with size 48 bytes each (192 bytes total)
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 2 instances of XPCWrappedNativeProto with size 32 bytes each (64 bytes total)
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of nsGenericFactory with size 16 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of nsJSID with size 32 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of nsStringBuffer with size 8 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of nsSystemPrincipal with size 32 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 3 instances of nsVoidArray with size 4 bytes each (12 bytes total)
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of nsXPCWrappedJS with size 56 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of nsXPCWrappedJSClass with size 40 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of xptiInterfaceInfo with size 16 bytes
}
http://hg.mozilla.org/releases/mozilla-1.9.1/pushloghtml?fromchange=81e6d7bc9161&tochange=a05e3e37e030

http://tinderbox.mozilla.org/showlog.cgi?log=SeaMonkey/1231943887.1231950158.9957.gz
MacOSX 10.4 comm-central dep unit test on 2009/01/14 06:38:07
{
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1232 bytes during test execution (threshold set at 1112 bytes)
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of BackstagePass with size 20 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 2 instances of CompositeDataSourceImpl with size 64 bytes each (128 bytes total)
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of InMemoryDataSource with size 144 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of LocalStoreImpl with size 36 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of RDFServiceImpl with size 272 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of XPCNativeScriptableShared with size 108 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 5 instances of XPCWrappedNative with size 48 bytes each (240 bytes total)
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 2 instances of XPCWrappedNativeProto with size 32 bytes each (64 bytes total)
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of nsGenericFactory with size 16 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of nsJSID with size 32 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of nsStringBuffer with size 8 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of nsSystemPrincipal with size 32 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 5 instances of nsVoidArray with size 4 bytes each (20 bytes total)
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of nsXPCWrappedJS with size 56 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of nsXPCWrappedJSClass with size 40 bytes
TEST-UNEXPECTED-FAIL | runtests-leaks | leaked 1 instance of xptiInterfaceInfo with size 16 bytes
}
(http://hg.mozilla.org/releases/mozilla-1.9.1/pushloghtml?fromchange=de29870f0fe3&tochange=42e0d4b2c804)

http://tinderbox.mozilla.org/showlog.cgi?log=SeaMonkey/1231888849.1231893570.9880.gz
Win2k3 comm-central dep unit test on 2009/01/13 15:20:49
{
Same leak as Linux.
}
(http://hg.mozilla.org/releases/mozilla-1.9.1/pushloghtml?fromchange=a0d75a7e0719&tochange=d2165c8133c3)
Flags: wanted1.9.1?
Can you point me to the relevant pushlog regression range?
Hmm.  The XBL patch got backed out (and then relanded the next day).  Did that affect things?
(In reply to comment #3)
> The XBL patch got backed out (and then relanded the next day).  Did that
> affect things?

It did not:

(In reply to comment #0)
> http://tinderbox.mozilla.org/showlog.cgi?log=SeaMonkey/1231888849.1231893570.9880.gz
> Win2k3 comm-central dep unit test on 2009/01/13 15:20:49
(http://hg.mozilla.org/releases/mozilla-1.9.1/pushloghtml?fromchange=a0d75a7e0719&tochange=d2165c8133c3)

Confirmed on Linux:
http://tinderbox.mozilla.org/showlog.cgi?log=SeaMonkey/1231888268.1231892093.7878.gz
Linux comm-central dep unit test on 2009/01/13 15:11:08

Then, out of the 5 checkins, this leaves:
Dao: bug 472302.
Boris: bug 449780, bug 465993.
Can you reproduce locally?  If so, can you try local backouts?

I'd be quite suprised if this is bug 465993, but it might be if the tests open windows with an invisible parent.  Bug 449780 is pretty unlikely, unless there are tests for swapping the "set up for undo tab close" tabs Seamonkey does.

Bug 472302 directly touched code involved in tests, so I'd probably start there.
[Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9.2a1pre) Gecko/20090118 SeaMonkey/2.0a3pre] (experimental/_m-c_, home, optim default) (W2Ksp4)
(http://hg.mozilla.org/mozilla-central/rev/a12bffb28598
+http://hg.mozilla.org/comm-central/rev/306be9e163b0)

Leak report as expected:
none on boxes, and bug 458484 locally only.

[Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9.2a1pre) Gecko/20090118 SeaMonkey/2.0a3pre] (experimental/_m-c_, home, optim default) (W2Ksp4)
(http://hg.mozilla.org/mozilla-central/rev/6e4203c77ce9
+http://hg.mozilla.org/comm-central/rev/306be9e163b0)

New leak:
1,112 on boxes and locally;
with no more bug 458484 locally...
As if a leak was fixed and another one triggered :-|

(In reply to comment #5)
> Bug 472302 directly touched code involved in tests

Indeed:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=a12bffb28598&tochange=6e4203c77ce9
Blocks: 472302
Component: General → XUL Widgets
Product: Core → Toolkit
QA Contact: general → xul.widgets
Version: 1.9.1 Branch → Trunk
I assume this widget is also used by Firefox, so in practice the leak wouldn't just affect Seamonkey?  Or is the leak involving Seamonkey-specific code somewhere?
I tested (bug 458484) with test_idcheck.xul only, which is SM specific (not FF nor TB).
I'll check later if I can reproduce without using this very test...
[Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9.2a1pre) Gecko/20090117 SeaMonkey/2.0a3pre] (experimental/_m-c_, home, optim default) (W2Ksp4)
(http://hg.mozilla.org/mozilla-central/rev/a3abe1807f71 + bug 446300 patch
 +http://hg.mozilla.org/comm-central/rev/da4ab57196d6 + bug 446300 patch)

Indeed, this leak is triggered by the following part test_idcheck.xul:
{{
        // Browser
        "chrome://navigator/content/navigator.xul":
          [
            window.CheckGenerics,
            ["contentAreaContextSet"]
          ],
}}
Depends on: 446281
Summary: [SeaMonkey] Chrome tests: new 1,112 bytes leak on 2009-01-13 → [SeaMonkey] Chrome (suite) test_idcheck.xul > navigator.xul : new 1,112 bytes leak on 2009-01-13
I think we should make some test_idcheck.xul tests for Firefox and Thunderbird as well, checking for duplicate element IDs in the main windows should be a good idea everywhere, and it has the nice side effect of checking all those for leaks as well.
(In reply to comment #10)
> I think we should make some test_idcheck.xul tests for Firefox and Thunderbird
> as well

I concur: (Toolkit and) Firefox should be +/- easy to do,
but Thunderbird does not run mochitests (yet)...

Before filing a bug about that, do you think it should be copied to Firefox or could be shared in Toolkit ?
Better to ask Mnyromyr about this, he wrote test_idcheck.xul, AFAIK
Basically, test_idcheck.xul should be able to run with any XUL app which uses the Mozilla testing framework, given a suitable uriList. It may be even possible to apply certain error checking and just stuff all uris for SM/FF/TB into the uriList - I didn't try...
OK, so IIUC, we're understanding this leak now, so I adjusted the thresholds in http://hg.mozilla.org/build/buildbot-configs/rev/5fe4bc6513e5 and restarted the master.
I filed bug 474716 on adding test_idcheck for Firefox.
(In reply to comment #9)
>         "chrome://navigator/content/navigator.xul":

And, more precisely, its
<?xul-overlay href="chrome://navigator/content/navigatorOverlay.xul"?>
(In reply to comment #16)
> >         "chrome://navigator/content/navigator.xul":
> 
> <?xul-overlay href="chrome://navigator/content/navigatorOverlay.xul"?>

And, more precisely, its

          <menupopup id="menu_ViewApplyTheme_Popup"
                     datasources="rdf:extensions" ref="urn:mozilla:item:root"
                     oncommand="applyTheme(event.target);" onpopupshowing="checkTheme(this);"
                     sortResource="http://www.mozilla.org/2004/em-rdf#name"
                     sortDirection="ascending">

Bug 391318 comment 8 workaround fixes this ;-|
No longer blocks: 472302
1) Makes sense that it's something loaded in different mochitest setups, as we're seeing a leak of the same size in other mochichrome as well.
2) There are two workarounds in that comment you cite, which one does help?
3) I wonder why the patch in bug 391318 doesn't help if it's that menu.
4) I wonder why it appeared fixed for some time and then suddenly came up again here.
Dao, why did you remove bug 472302 dependency, as (for whatever reason) it seems this is what triggered this leak report ?


(In reply to comment #18)
> 1) Makes sense that it's something loaded in different mochitest setups, as
> we're seeing a leak of the same size in other mochichrome as well.

Fwiw, the Browser(Chrome) leak is bug 470709.

> 2) There are two workarounds in that comment you cite, which one does help?

|datasources="rdf:local-store"|, at least.

> 3) I wonder why the patch in bug 391318 doesn't help if it's that menu.
> 4) I wonder why it appeared fixed for some time and then suddenly came up again
> here.

(Me too: I have no idea, on both points.)
Depends on: 391318
(In reply to comment #19)
> Dao, why did you remove bug 472302 dependency, as (for whatever reason) it
> seems this is what triggered this leak report ?

Given comment 17, bug 472302 doesn't even seem like a useful reference. Even if it triggered a new variant in a chaotic way, the actual bug doesn't seem to be new at all, and I don't think there's anything that we should do in the code that was touched in bug 472302.
[Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9.2a1pre) Gecko/20090228 SeaMonkey/2.0b1pre] (experimental/_m-c_, home, optim default) (W2Ksp4)
(http://hg.mozilla.org/mozilla-central/rev/f7f62131998d
 +http://hg.mozilla.org/comm-central/rev/7ea34ef19dc4)

(Bug still there.)
Depends on: 243894
Fixed by the patch in bug 470709, therefore marking as dupe.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → DUPLICATE
V.Fixed, per tinderboxes.
Status: RESOLVED → VERIFIED
Component: XUL Widgets → UI Design
Flags: wanted1.9.1? → in-testsuite-
Product: Toolkit → SeaMonkey
QA Contact: xul.widgets → ui-design
Hardware: x86 → All
Resolution: DUPLICATE → FIXED
Whiteboard: [Fixed by bug 243894 (through bug 470709)]
Target Milestone: --- → seamonkey2.0b1
You need to log in before you can comment on or make changes to this bug.