Closed Bug 859458 Opened 12 years ago Closed 11 years ago

Add gecko "fingerprint" check to B2G builds to help avoid commercial RIL interface mismatches

Categories

(Release Engineering :: General, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: m1, Assigned: catlee)

Details

(Whiteboard: [b2g])

Attachments

(2 files)

We are hosting a file called 'gecko_fingerprint.sh' [1] that computes a sha1 based on the contents of important gecko IDL files. General idea is that a given gecko tree is highly likely to be compatible with the commercial RIL if the sha1 matches. "Highly likely" because some of the RIL interfaces are still a little loosely defined, so we may not catch all incompatibilities at the moment. But we can refine the computation performed by gecko_fingerprint.sh over time, the purpose of this bug is to just get this check added to Moz QA builds as it will definitely help with the bustage we've seen over the last couple weeks. For convenience the "gecko-fingerprint" sha1 is added to the <x-mozbuild> element in the AU manifest [2]. If there's a sha1 mismatch between the tip Gecko and the tip AU for a given branch then the QA build should fail. [1] https://www.codeaurora.org/gitweb/quic/b2g/?p=b2g/build.git;a=blob;f=gecko_fingerprint.sh;h=78448612b0f37272ac6af956161b82c62c325d7d;hb=refs/heads/v1.1 [2] https://www.codeaurora.org/gitweb/quic/b2g/?p=manifest.git;a=blob;f=caf_AU_LINUX_GECKO_ICS_STRAWBERRY.01.01.00.19.058.xml;h=45f1ffbb8bc4b332bb65fd5bd3d9359d0e9bab0d;hb=051714eb47118af6d72398679ec4df3accd2873b#l3
Thanks Michael. I think that part of implementing this on Mozilla's side should involve some notification that we've detected a new build or RIL, but not done a repack because of API incompatibilities. This will hopefully prevent "where's today's repack?" type questions.
Bob, can you assign someone to this? Thanks.
having this fixed would help us catch gecko interface breakage before we generate nightly builds. This is related to blocking bug 863395 and bug 828307
What's the desired behaviour if we fail the API check? Have no nightly builds?
Yep, jettison the warp core! A failure likely indicates a binary incompatibility that'll result in a main process crash at boot or during normal telephony operations.
quick question - why publish a new manifest to git://codeaurora.org/quic/b2g/manifest.git if the fingerprints don't match?
An AU manifest is of course always compatible with itself. But what Moz QA wants to do is combine the commercial RIL from the latest AU with the tip Gecko, rather than using the exact Gecko SHA1 from the AU that the commercial RIL was built against (which may be a day or two old by the time the AU is released). It's within this window that we can suffer an ABI incompatibility.
Assignee: nobody → catlee
QA Contact: catlee → nhirata.bugzilla
To note : We can't test the latest features that lands if we don't test close to the tip. Also a number of fixes come in the latest lands that we have to test against. Some of the fixes unblocks us from testing certain features. Example is Leo's last build doesn't show music in the music app, and there's a fix already in gaia for that.
Product: mozilla.org → Release Engineering
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WONTFIX
Not getting updated RILs any more for automation
Component: General Automation → General
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: