Closed Bug 1264494 Opened 8 years ago Closed 7 years ago

Debug static analysis builds for macosx64 and linux64 are still on Buildbot

Categories

(Release Engineering :: General, defect)

defect
Not set
normal

Tracking

(firefox54 fixed)

RESOLVED FIXED
Tracking Status
firefox54 --- fixed

People

(Reporter: KWierso, Assigned: kats)

References

Details

Attachments

(3 files, 1 obsolete file)

I'm working on marking all buildbot-based linux64 debug jobs as tier-2 now that we're marking the taskcluster equivalents as tier-1.

I've noticed that the static checking/analysis (bb/tc use different naming) builds aren't running everywhere:
Linux x64 opt only has the TC-based job running.
Linux x64 debug only has the BB-based job running.


Not really sure if this is a taskcluster bug or a releng bug to get the TC build running on linux64 debug, but it should probably happen before we turn off the buildbot-based build so we don't lose coverage.
Hi Ehsan, we have static analysis for opt builds (only running on TC) but we don't have it for debug (only running for Buildbot).

Do we want to run it in both types of builds? Or do we just keep one kind?

[1] https://treeherder.mozilla.org/#/jobs?repo=mozilla-central&filter-searchStr=Linux%20static
[2] https://hg.mozilla.org/mozilla-central/rev/fffacdefdd8d
Bugs are resolved at this point.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
That's a confusing resolution, given that they aren't running because they don't exist.
Resolution: FIXED → INVALID
This seems to still be happening. i.e. the Linux64 debug static analysis build is running on buildbot while the opt static analysis build is running on taskcluster. Is there any reason for this? Can we move the debug one to taskcluster as well?
Flags: needinfo?(sdeckelmann)
... and the same is true of OS X static analysis - the opt build is running on taskcluster but the debug build is on buildbot.
Flags: needinfo?(sdeckelmann)
:kats, can you point to the relevant jobs?
Status: RESOLVED → REOPENED
Resolution: INVALID → ---
Indeed, thanks.

I'm guessing this would be as simple as adding new clauses to taskcluster/ci/static-analysis/kind.yml and disabling the corresponding buildbot jobs.

Naive question: if these are static analysis jobs, why do we need to run them on debug?
Component: General → General Automation
Product: Taskcluster → Release Engineering
QA Contact: catlee
Summary: Taskcluster-based Linux x64 debug static analysis builds don't appear to be running. → Debug static analysis builds for macosx64 and linux64 are still on Buildbot
(In reply to Dustin J. Mitchell [:dustin] from comment #9)
> I'm guessing this would be as simple as adding new clauses to
> taskcluster/ci/static-analysis/kind.yml and disabling the corresponding
> buildbot jobs.

I think the corresponding configs in testing/mozharness/configs/builds/ might need tweaking as well. I kicked off a couple of try pushes yesterday:
[1] has attempted fixes for both OS X and Linux, which failed, and [2] has a better fix for just Linux which seems to have worked but that I haven't verified is actually doing the right thing.

> Naive question: if these are static analysis jobs, why do we need to run
> them on debug?

I presume to get static analysis coverage of the debug-only code (i.e. behind an #ifdef DEBUG). But you're right in that we never ship that code so maybe it's not needed? Ehsan, do you know why we have these at all?

[1] https://treeherder.mozilla.org/#/jobs?repo=try&revision=a3ac01273ff48149727a128a9a6d34c0504e0e75
[2] https://treeherder.mozilla.org/#/jobs?repo=try&revision=b7c40f6abe6f6eeb21181663950707814da7c0f9
Flags: needinfo?(ehsan)
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #10)
> > Naive question: if these are static analysis jobs, why do we need to run
> > them on debug?
> 
> I presume to get static analysis coverage of the debug-only code (i.e.
> behind an #ifdef DEBUG). But you're right in that we never ship that code so
> maybe it's not needed? Ehsan, do you know why we have these at all?

Because:

1) people will soon be able to run static analysis locally on their build configuration (bug 1328454), so we don't want things to blow up since many Gecko developers build in debug mode locally.
2) we effectively write our code in Mozilla C++ these days, these static analysis builds ensure the sanity of this setup.  It's not really possible to keep reasoning about what it means to have our code be compiled in C++ in debug mode and in Mozilla C++ in optimized mode.

Going forward, on platforms where we build with clang, static analysis builds are the default (such as OSX task cluster builds.)
Flags: needinfo?(ehsan)
https://hg.mozilla.org/try/rev/b6189fbbddf7740fa0af5cdbba7de4677905585e looks good to me, although you shouldn't need secrets or xvfb.  Of course someone in releng should review it for reals.  :-)
I'm turning into a copy-paste programmer, specially for stuff like this :). I just copied those from the opt version and changed "opt" to "debug" in a few places (same goes for the .py configuration file).
Attached patch Patch for linux64 debug (obsolete) — Splinter Review
I guess I might as well get the linux one reviewed. I don't know why the OS X attempt failed (see try push in comment 10). That's less important to what I'm doing so I can look into it but it will be lower priority.
Attachment #8842893 - Flags: review?(kmoir)
Attachment #8842893 - Flags: review?(dustin)
Oh, I know why. The mozconfig is overriding the toolchain with the assumption it's on buildbot. I'll cook up a patch and test it.
Comment on attachment 8842893 [details] [diff] [review]
Patch for linux64 debug

new patch cooking
Attachment #8842893 - Flags: review?(kmoir)
Attachment #8842893 - Flags: review?(dustin)
Assignee: nobody → bugmail
Attachment #8842893 - Attachment is obsolete: true
The try push for the OS X debug static analysis is at https://treeherder.mozilla.org/#/jobs?repo=try&revision=fe2b7c184f14000767289042344858c091939bac - it's green. And it finished much much faster than the buildbot one takes (20 mins vs 66 mins).
Comment on attachment 8842917 [details]
Bug 1264494 - Remove xvfb and secrets from static analysis builds.

https://reviewboard.mozilla.org/r/116658/#review118364

::: taskcluster/ci/static-analysis/kind.yml:58
(Diff revision 1)
> +            implementation: docker-worker
> +            docker-image: {in-tree: desktop-build}
> +            max-run-time: 36000
> +        run:
> +            using: mozharness
> +            actions: [get-secrets build generate-build-stats]

I think ehsan suggested omitting `get-secrets` here, and `need-xvfb` below.
Attachment #8842917 - Flags: review?(dustin) → review+
Comment on attachment 8842918 [details]
Bug 1264494 - Turn on Linux64 debug static analysis builds on Taskcluster.

https://reviewboard.mozilla.org/r/116660/#review118366

::: taskcluster/ci/static-analysis/kind.yml:34
(Diff revision 1)
> +            implementation: docker-worker
> +            docker-image: {in-tree: desktop-build}
> +            max-run-time: 36000
> +        run:
> +            using: mozharness
> +            actions: [get-secrets build generate-build-stats update]

same here
Attachment #8842918 - Flags: review?(dustin) → review+
I added a "part 0" patch which removes the xvfb and secrets from the existing opt entries, and updated the two patches I had to also not have xvfb or secrets. Try looks good:

https://treeherder.mozilla.org/#/jobs?repo=try&revision=d9e67f01b25187c2232fe0869ded8c2395787389
I think you confused mozreview :)
Comment on attachment 8843018 [details]
Bug 1264494 - Turn on Mac OSX 64 debug static analysis builds on Taskcluster.

https://reviewboard.mozilla.org/r/116766/#review118414
Attachment #8843018 - Flags: review?(dustin) → review+
(In reply to Dustin J. Mitchell [:dustin] from comment #26)
> I think you confused mozreview :)

Whoops, sorry. I thought I kept the MozReview IDs on the patches but somehow they got reset :/
No worries. r+ to all three.
Comment on attachment 8842918 [details]
Bug 1264494 - Turn on Linux64 debug static analysis builds on Taskcluster.

dustin reviewed so I will remove my review flag
Attachment #8842918 - Flags: review?(kmoir)
Comment on attachment 8843018 [details]
Bug 1264494 - Turn on Mac OSX 64 debug static analysis builds on Taskcluster.

dustin reviewed so I'll remove my review flag
Attachment #8843018 - Flags: review?(kmoir)
I skipped the mozharness bits, actually, assuming you would look at them.  They're probably fine, but certainly not something I know much about.
Comment on attachment 8842918 [details]
Bug 1264494 - Turn on Linux64 debug static analysis builds on Taskcluster.

https://reviewboard.mozilla.org/r/116660/#review118718
Attachment #8842918 - Flags: review+
Comment on attachment 8843018 [details]
Bug 1264494 - Turn on Mac OSX 64 debug static analysis builds on Taskcluster.

https://reviewboard.mozilla.org/r/116766/#review118738
Attachment #8843018 - Flags: review+
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/575a62160a0c
Remove xvfb and secrets from static analysis builds. r=dustin
https://hg.mozilla.org/integration/autoland/rev/468c94147a6b
Turn on Linux64 debug static analysis builds on Taskcluster. r=dustin,kmoir
https://hg.mozilla.org/integration/autoland/rev/fdf438735657
Turn on Mac OSX 64 debug static analysis builds on Taskcluster. r=dustin,kmoir
Component: General Automation → General
You need to log in before you can comment on or make changes to this bug.