If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

Artifact builds should check autoland pushheads and/or artifact builds on infra should force-use their "own" build artifacts

NEW
Unassigned

Status

()

Firefox
Build Config
a year ago
a year ago

People

(Reporter: Gijs, Unassigned)

Tracking

Trunk
Points:
---

Firefox Tracking Flags

(firefox50 affected)

Details

(Reporter)

Description

a year ago
STR:

1. land a change on autoland that changes nsIURI ( https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=8f1980fa5bee8fe994c59dbb494e8da561c1145c )
2. normal builds happy, artifact builds sad (get backed out!)
3. find this in log (https://public-artifacts.taskcluster.net/GpKpJS5CTMuWeWuawM5jSg/0/public/logs/live_backing.log) :

12:53:05     INFO -  Attempting to find a pushhead containing ff1ef8ec0fd800bf6856c1572c3b1610c45e9b6a on mozilla-central.
12:53:05     INFO -  Attempting to find a pushhead containing ff1ef8ec0fd800bf6856c1572c3b1610c45e9b6a on integration/fx-team.
12:53:05     INFO -  Attempting to find a pushhead containing ff1ef8ec0fd800bf6856c1572c3b1610c45e9b6a on integration/mozilla-inbound.
12:53:05     INFO -  Attempting to find a pushhead containing ff1ef8ec0fd800bf6856c1572c3b1610c45e9b6a on releases/mozilla-aurora.
12:53:06     INFO -  Retrieving the last 50 pushheads starting with id 79889 on integration/mozilla-inbound
12:53:06     INFO -  Retrieving the last 50 pushheads starting with id 20110 on integration/fx-team
12:53:06     INFO -  Retrieving the last 50 pushheads starting with id 30489 on mozilla-central
12:53:08     INFO -  Installing from remote pushhead ff1ef8ec0fd800bf6856c1572c3b1610c45e9b6a on mozilla-central

Uhhh. Yeah. That will make for a sad artifact build, because it compiles its own xpt files based on my modified nsIURI idl file, but then combines it with binary code that uses the old version of that idl file, and then tries to run that code and use nsIURI from JS, which presumably crashes somewhere in xpconnect land (I can't even get a JS exception out of it when using this locally on my linux64 artifact build system after manually pulling the rev back from try and running an artifact build on it, which does the same thing as this try build: https://treeherder.mozilla.org/#/jobs?repo=try&revision=87703c04dfb1&filter-searchStr=artifact ).

So any binary change that lands on autoland that changes any interface that gets used by the startup cache precompilation will break the build.

Any binary change that lands on autoland that changes any interface at all would likely crash and burn in tests if you tried to run any with it (which we don't do, yet, but AIUI we're considering using these in certain circumstances).

Similar problems occur on try.

AIUI we don't run artifact builds on infra until the "normal" build has completed, so presumably things in the fx-team/inbound/release/central trees will be happy because we find pushheads. So the trivial workaround is to also fetch pushheads from autoland. Alternatively, and perhaps more interestingly, we could try to enforce that this version of artifact builds on infra only ever use their "own" artifacts, which should be guaranteed to exist anyway.
Half of the issue is bug 1240134
(Reporter)

Comment 2

a year ago
(In reply to Mike Hommey [:glandium] from comment #1)
> Half of the issue is bug 1240134

Well, maybe, but then you'd still end up with a frankenbuild where it'd be anybody's guess as to whether the artifact build "worked". If I changed an IDL file and the binary blobs I got had the old version of the IDL, all the JS would be broken for additions/changes to the IDL instead.
I'll make a patch to check autoland for push heads, we should definitely be doing that. The artifact builds are Tier 2 in Treeherder, so they should never result in an automatic backout.

As long as getting binary artifacts from an "older" build is something we're supporting for people's local builds I think it's a reasonable thing to have happen in automation. I may pick up bug 1240134 this week, the patches there look further along than I thought.
Assignee: nobody → cmanchester
(In reply to Chris Manchester (:chmanchester) from comment #3)
> I'll make a patch to check autoland for push heads, we should definitely be
> doing that. The artifact builds are Tier 2 in Treeherder, so they should
> never result in an automatic backout.

Well, reading up on this, I guess nobody is supposed to pull from the autoland repo, so this is only an issue for those automation builds. Considering this I don't think it's critical to get artifacts from there, so long as these are Tier 2. The obvious patch doesn't do the trick, because we look for public changesets in the artifact code, and the autoland changesets are draft.
Assignee: cmanchester → nobody
You need to log in before you can comment on or make changes to this bug.