Closed
Bug 942091
Opened 11 years ago
Closed 11 years ago
Manifest files are not created deterministically
Categories
(Firefox Build System :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla31
People
(Reporter: gk, Assigned: gk)
References
(Blocks 1 open bug)
Details
Attachments
(1 file, 1 obsolete file)
1.02 KB,
patch
|
Details | Diff | Splinter Review |
User Agent: Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20100101 Firefox/17.0 (Beta/Release)
Build ID: 20100101
Steps to reproduce:
We are trying to update the Tor Browser to ESR24 which is built deterministically. While doing so we noticed that the omni.ja in /browser has different SHA256 sums in different builds. It turned out that the browser.manifest contains entries in different order in some builds. We worked around this problem in ESR17 by patching link-manifests.py but that is not available anymore since bug 780561 landed. I tried to reproduce the differences by running JarMaker.py by hand but that did not work.
Actual results:
The order of the content in browser.manifest files was different.
Expected results:
The order of the content in browser.manifest files should always have been the same.
Assignee | ||
Updated•11 years ago
|
OS: Windows 7 → All
Comment 1•11 years ago
|
||
I'm sure we have a bug on file for that already. Not for the order, though, which would be fixed as a side effect.
An easy workaround in esr (since we're not going to fix that there) is to build with -j1.
Comment 2•11 years ago
|
||
This is very much related to bug 924187
Assignee | ||
Comment 3•11 years ago
|
||
(In reply to Mike Hommey [:glandium] from comment #1)
> I'm sure we have a bug on file for that already. Not for the order, though,
> which would be fixed as a side effect.
>
> An easy workaround in esr (since we're not going to fix that there) is to
> build with -j1.
Can you think of any less easy workarounds here? Building with -j4 takes already several hours for all our bundles. Thus, I'd rather like avoiding -j1...
Assignee | ||
Comment 4•11 years ago
|
||
It seems sorting myregister in JarMaker.py's updateManifest() helps, nevermind then.
Comment 5•11 years ago
|
||
While the bug mentions browser.manifest, this is an issue for XPCOM manifests as well. I've been wanting to tackle XPCOM manifest generation/buildlist.py foo now that we're in a moz.build world and we know the set of input manifest files at config time.
There is work around bug 924617 to change how JarMaker.py works. It's all leading to a moz.build-driven jar.mn processing world. We should be able to bake determinism into that.
Assignee | ||
Updated•11 years ago
|
Assignee | ||
Comment 6•11 years ago
|
||
I finally extracted the fix out of our ESR 24 repo and applied it to m-c for review. This covers only the browser.manifest case which bit us in the past.
Attachment #8388463 -
Flags: review?(gps)
Updated•11 years ago
|
Attachment #8388463 -
Flags: review?(gps) → review?(mh+mozilla)
Updated•11 years ago
|
Attachment #8388463 -
Flags: review?(mh+mozilla) → review+
Assignee | ||
Comment 7•11 years ago
|
||
Thanks for the review. I just updated the commit message (it references the bug number now as well).
Assignee | ||
Updated•11 years ago
|
Keywords: checkin-needed
Comment 8•11 years ago
|
||
Keywords: checkin-needed
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla31
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•