need a Firefox Mac OS X debug + leak test tinderbox

RESOLVED FIXED

Status

P1
major
RESOLVED FIXED
12 years ago
4 years ago

People

(Reporter: dbaron, Assigned: coop)

Tracking

Details

Attachments

(1 attachment)

We need a debug and leak test tinderbox on Mac OS X.  The configuration should
be essentially the same as fxdbug-linux-tbox, except without --enable-trace-malloc and without BloatTest2.
Severity: normal → major
(Assignee)

Updated

12 years ago
Assignee: build → ccooper
Priority: -- → P1
(Assignee)

Updated

12 years ago
Status: NEW → ASSIGNED
(Assignee)

Comment 1

12 years ago
Build is reporting to MozillaTest currently. Here's a link to the build in progress:

http://tinderbox.mozilla.org/showlog.cgi?log=MozillaTest/1182274200.6486.gz&fulltext=1

The last few builds have been failing in packaging (installer, due to UB).

Tinderbox configs are on the test_mem branch if you want to peruse.
(Assignee)

Comment 2

12 years ago
The build is still failing in postflight-all:

http://tinderbox.mozilla.org/showlog.cgi?log=MozillaTest/1183485600.2664.gz&fulltext=1#err0

Should this bug stay open until we see green here?
Why is the build even *doing* packaging in the first place?  Or universal builds?  It only needs to build the platform it tests on.
(Assignee)

Comment 4

12 years ago
Build is working now without UB, but the bloat test is getting hung up because the app doesn't exit "normally" on Mac. 

Playing around with this code: http://wiki.mozilla.org/SoftwareTesting::Tools:QuitJS I was able to get a js quit page working. Adding a bit of platform detection onto the bloattest.html URL list and have the browser exit properly.

At the risk of morphing this bug, we should probably stick the js quit page somewhere where all the tinderboxes can get to it, and then figure out how to munge the default profile to automatically allow access/privs to this page on Mac tinderboxen (it pops up the priv dialog every time currently), since other tests could also benefit from this on Mac.

http://tinderbox.mozilla.org/showlog.cgi?log=MozillaTest/1183585440.6917.gz&fulltext=1
(Assignee)

Comment 5

12 years ago
(In reply to comment #4)
> Adding a bit of platform detection onto the bloattest.html
> URL list and have the browser exit properly.

Sigh, you'd never know english was my first language.

By adding a bit of platform detection to bloattest.html, I was able to add the js quit page onto the URL list on Mac and have the browser exit properly at the end of the test.
(Assignee)

Comment 6

11 years ago
I made some local tinderbox changes today to make sure that quit.html is available via file:///tmp/quit.html. I then add that URL to the end of the list in bloattest.html on Mac only. 

It's incredibly hacky. Setting codebase principals (to allow quit.html to close the browser) via the existing set_pref() tinderbox function is not working -> the prefs just end up in InvalidPrefs.js and the privileges dialog still pops up. I've had to turn off running with a CleanProfile for now (after manually accepting the privileges) so the codebase settings can be automatically reused.

It seems to be working now though:

http://tinderbox.mozilla.org/showbuilds.cgi?tree=MozillaTest
(Assignee)

Comment 7

11 years ago
Shall I move this to the main Firefox page? Somewhere else?
(In reply to comment #7)
> Shall I move this to the main Firefox page?

I think so, but other people probably care too.
(Assignee)

Comment 9

11 years ago
I'm sure the "the tinderbox page is too wide!" people will be up in arms, but I'll beg their forgiveness later. Moved to firefox tree.
Status: ASSIGNED → RESOLVED
Last Resolved: 11 years ago
Resolution: --- → FIXED
So, a tinder-config.pl checkin for this bug had the checkin comment:

 - reuse profile to allow automatic exiting

and set CleanProfile to 0.  This is causing the maxheap graph to do rather odd things:

http://build-graphs.mozilla.org/graph/query.cgi?tbox=bm-xserve11.build.mozilla.org&testname=trace_malloc_maxheap&autoscale=1&size=&days=0&units=bytes&ltype=steps&points=1&avg=0

Do you remember why reusing the profile was necessary?
(In reply to comment #10)
> So, a tinder-config.pl checkin for this bug had the checkin comment:
> 
>  - reuse profile to allow automatic exiting
> 
> and set CleanProfile to 0.  This is causing the maxheap graph to do rather odd
> things:
> 
> http://build-graphs.mozilla.org/graph/query.cgi?tbox=bm-xserve11.build.mozilla.org&testname=trace_malloc_maxheap&autoscale=1&size=&days=0&units=bytes&ltype=steps&points=1&avg=0
> 
> Do you remember why reusing the profile was necessary?
> 

See comment #6. This seems to be causing part of the problem in bug 407018, so coop and I are working on reproducing this and fixing Tinderbox so we can set CleanProfile=1 (which is how linux and win32 debug+leak are set).
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Ok, so every time any these are set:

user_pref("capability.principal.codebase.p0.granted", "UniversalXPConnect");
user_pref("capability.principal.codebase.p0.id", "resource://");
user_pref("capability.principal.codebase.p0.subjectName", "");

the entire prefs.js is moved to InvalidPrefs.js (looks like this was added by this patch: https://bugzilla.mozilla.org/attachment.cgi?id=245907&action=diff).

These prefs are used by http://mxr.mozilla.org/mozilla/source/tools/performance/startup/quit.js to shut down on Mac when the test is complete. 

Is this a problem with the pref-checking code, with the prefs themselves, something else?
(Assignee)

Comment 13

11 years ago
From my previous testing, if I launch the Mac build on the tinderbox, navigate to quit.js, and then manually accept the codebase dialog that appears, the above codebase prefs are set and are subsequently honored, hence the reusing of the profile. 

Trying to set the same preferences through tinderbox set_prefs fails, as rhelmer is reporting.
(In reply to comment #13)
> From my previous testing, if I launch the Mac build on the tinderbox, navigate
> to quit.js, and then manually accept the codebase dialog that appears, the
> above codebase prefs are set and are subsequently honored, hence the reusing of
> the profile. 
> 
> Trying to set the same preferences through tinderbox set_prefs fails, as
> rhelmer is reporting.

Ah, ok I stepped back and tried to reproduce outside of tinderbox and couldn't. set_prefs must be called with quotes for these:

            set_pref($pref_file, 'capability.principal.codebase.p0.granted', '"UniversalXPConnect"');
            set_pref($pref_file, 'capability.principal.codebase.p0.id', '"resource://"');
            set_pref($pref_file, 'capability.principal.codebase.p0.subjectName', '""');

Because they are strings not boolean values, like all the other examples of set_prefs().

Coop, can you work up a patch for this? I'm not sure if you wanted to make it bloattest(and bloattest2)-only, and/or mac-only, or just do it globally (dunno what effect this might have).
(Assignee)

Comment 15

11 years ago
I'll post a Mac bloatest-only patch shortly.
Status: REOPENED → ASSIGNED
(Assignee)

Comment 16

11 years ago
Created attachment 292182 [details] [diff] [review]
Set codebase prefs following rhelmer's example for BloatTest(2), but only on Mac
Attachment #292182 - Flags: review?(rhelmer)
Comment on attachment 292182 [details] [diff] [review]
Set codebase prefs following rhelmer's example for BloatTest(2), but only on Mac

Great. Sorry I forgot to mention that you need:

set_pref($pref_file, 'browser.warnOnQuit', 'false');

Can you land that along with these?
Attachment #292182 - Flags: review?(rhelmer) → review+
(Assignee)

Comment 18

11 years ago
Done.

Checking in build-seamonkey-util.pl;
/cvsroot/mozilla/tools/tinderbox/build-seamonkey-util.pl,v  <--  build-seamonkey-util.pl
new revision: 1.378; previous revision: 1.377
done

Checking in tinder-config.pl;
/cvsroot/mozilla/tools/tinderbox-configs/firefox/macosx/tinder-config.pl,v  <--  tinder-config.pl
new revision: 1.24.2.8; previous revision: 1.24.2.7
done
(Assignee)

Updated

11 years ago
Status: ASSIGNED → RESOLVED
Last Resolved: 11 years ago11 years ago
Resolution: --- → FIXED

Updated

8 years ago
Component: Tinderbox Platforms → Tinderbox
Product: mozilla.org → Webtools
Product: Webtools → Webtools Graveyard
You need to log in before you can comment on or make changes to this bug.