Closed
Bug 867861
Opened 13 years ago
Closed 13 years ago
certdata.c does not seem to be generated fast enough when building NSS as part of Firefox on Windows
Categories
(Firefox Build System :: General, defect)
Tracking
(firefox22 fixed, firefox23 fixed, firefox24 fixed)
RESOLVED
FIXED
mozilla24
People
(Reporter: wtc, Assigned: glandium)
References
Details
Attachments
(1 file)
|
850 bytes,
patch
|
ted
:
review+
wtc
:
feedback+
akeybl
:
approval-mozilla-aurora+
akeybl
:
approval-mozilla-beta+
|
Details | Diff | Splinter Review |
I just installed the latest version of MozillaBuild on Windows 7.
I have Visual Studio 2010.
I cloned mozilla-inbound, which has NSS_3_15_BETA2 right now, and ran
the command
./mach build
The build failed in NSS:
6:28.53 /usr/bin/sh: d:/src/mozilla-inbound.2/inbound-src/obj-i686-pc-mingw32/s
ecurity/nss/lib/ckfw/builtins/certdata.c: No such file or directory
6:28.54 d:\src\mozilla-inbound.2\inbound-src\security\nss\lib\ckfw\builtins\Mak
efile:54:0: command 'perl certdata.perl < certdata.txt > d:/src/mozilla-inbound.
2/inbound-src/obj-i686-pc-mingw32/security/nss/lib/ckfw/builtins/certdata.c' fai
led, return code 1
6:28.54 <d:/src/mozilla-inbound.2/inbound-src/obj-i686-pc-mingw32/security/nss/
lib/ckfw/builtins/certdata.obj>: Found error
6:28.54 <d:/src/mozilla-inbound.2/inbound-src/obj-i686-pc-mingw32/security/nss/
lib/ckfw/builtins/nssckbi.dll>: Found error
I found that certdata.c wasn't in the obj directory:
$ ls obj-i686-pc-mingw32/security/nss/lib/ckfw/builtins/
anchor.obj binst.obj bsession.obj btoken.obj constants.obj nssckbi.res
bfind.obj bobject.obj bslot.obj ckbiver.obj nssckbi.def vc100.pdb
I ran ./mach build again, then it worked.
It seems that this is the problem that Mike Hommey wrote a patch
for (see bug 832272 comment 11). Mike, could you confirm this?
Do you know why Mozilla's build bots can go without your patch?
Is parallel build turned off on the build bots?
| Assignee | ||
Comment 1•13 years ago
|
||
There's a rule in security/build/Makefile.in that works around that lack of fix for what you point to. So I don't think this is it. But without more log, it's hard to say what it is.
| Reporter | ||
Comment 2•13 years ago
|
||
(I am at home now. My home Windows PC has a quad-core AMD CPU. The
Windows PC I use at work has a total of 16 cores or hardware threads.
I only ran into this bug on my Windows PC at work. This comment
reports my debugging on my home Windows PC.)
Mike: thanks for the info. That makefile rule doesn't seem to
be working as intended:
496 # Work around NSS build system race condition creating certdata.c in
497 # security/nss/lib/ckfw/builtins. See bug #836220.
498 libs-nss/lib: $(call mkdir_deps,../nss/lib/ckfw/builtins)
I manually monitored the creation and contents of security/nss/lib/ckfw
in my build tree. I captured two snapshots:
Wan-Teh Chang@PHENOM2-PC /d/mozilla-inbound/src/obj-i686-pc-mingw32
$ ls security/nss/lib/ckfw
crypto.obj vc90.pdb
Wan-Teh Chang@PHENOM2-PC /d/mozilla-inbound/src/obj-i686-pc-mingw32
$ ls security/nss/lib/ckfw
crypto.obj hash.obj mutex.obj session.obj slot.obj vc90.pdb
find.obj instance.obj object.obj sessobj.obj token.obj wrap.obj
You can see that the |builtins| subdirectory had not been created
when we were already building in the security/nss/lib/ckfw directory.
In addition, when NSS had been built, there was no .mkdir.done timestamp
file created, which is further proof that the makefile function
$(call mkdir_deps,../nss/lib/ckfw/builtins)
was not executed.
If I changed that makefile rule as follows:
-libs-nss/lib: $(call mkdir_deps,../nss/lib/ckfw/builtins)
+libs-nss/lib/ckfw: $(call mkdir_deps,../nss/lib/ckfw/builtins)
then it created the security/nss/lib/ckfw/builtins directory,
with a .mkdir.done timestamp file in it, shortly after we
started to build NSS. Here is my manual monitoring output:
Wan-Teh Chang@PHENOM2-PC /d/mozilla-inbound/src/obj-i686-pc-mingw32
$ ls security/nss/lib
ls: security/nss/lib: No such file or directory
Wan-Teh Chang@PHENOM2-PC /d/mozilla-inbound/src/obj-i686-pc-mingw32
$ ls security/nss/lib
ckfw jar util zlib
Wan-Teh Chang@PHENOM2-PC /d/mozilla-inbound/src/obj-i686-pc-mingw32
$ ls security/nss/lib
certhigh ckfw jar util zlib
Wan-Teh Chang@PHENOM2-PC /d/mozilla-inbound/src/obj-i686-pc-mingw32
$ ls security/nss/lib
certhigh ckfw cryptohi jar pk11wrap util zlib
...
Wan-Teh Chang@PHENOM2-PC /d/mozilla-inbound/src/obj-i686-pc-mingw32
$ ls security/nss/lib/ckfw
builtins
Wan-Teh Chang@PHENOM2-PC /d/mozilla-inbound/src/obj-i686-pc-mingw32
$ ls security/nss/lib/ckfw/builtins/
Wan-Teh Chang@PHENOM2-PC /d/mozilla-inbound/src/obj-i686-pc-mingw32
$ ls -a security/nss/lib/ckfw/builtins/
. .. .mkdir.done
| Assignee | ||
Comment 3•13 years ago
|
||
ah, thanks Wan-Teh, that would be a regression from bug 648407
| Assignee | ||
Comment 4•13 years ago
|
||
Wan-Teh, can you double-check this works for you?
Attachment #744635 -
Flags: review?(ted)
| Assignee | ||
Updated•13 years ago
|
Assignee: wtc → mh+mozilla
| Assignee | ||
Updated•13 years ago
|
Component: Build → Build Config
Product: NSS → Core
Version: trunk → Trunk
| Reporter | ||
Comment 5•13 years ago
|
||
Comment on attachment 744635 [details] [diff] [review]
Fixup NSS race condition work around after bug 648407
Mike: this patch fixes the problem for me. Note that your patch in
bug 832272 comment 11 also fixes the problem for me.
Attachment #744635 -
Flags: feedback+
| Assignee | ||
Comment 6•13 years ago
|
||
(In reply to Wan-Teh Chang from comment #5)
> Note that your patch in bug 832272 comment 11 also fixes the problem for me.
That's not enough. MAKE_OBJDIR needs to be fixed too. See bug 836220.
Updated•13 years ago
|
Attachment #744635 -
Flags: review?(ted) → review+
| Assignee | ||
Comment 7•13 years ago
|
||
| Assignee | ||
Updated•13 years ago
|
status-firefox22:
--- → affected
Comment 8•13 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla24
| Assignee | ||
Updated•13 years ago
|
status-firefox23:
--- → affected
| Assignee | ||
Comment 9•13 years ago
|
||
Comment on attachment 744635 [details] [diff] [review]
Fixup NSS race condition work around after bug 648407
[Approval Request Comment]
Bug caused by (feature/regressing bug #): bug 648407
User impact if declined: Possible win32 and mac build failure when building nss, although afaik, this hasn't happened on buildbots. But wtc hitting it is proof it can happen.
Testing completed (on m-c, etc.): wtc confirmed it fixes his build failures. m-i and m-c didn't burn on landing :)
Risk to taking this patch (and alternatives if risky): Low
String or IDL/UUID changes made by this patch: None
Attachment #744635 -
Flags: approval-mozilla-beta?
Attachment #744635 -
Flags: approval-mozilla-aurora?
Updated•13 years ago
|
Attachment #744635 -
Flags: approval-mozilla-beta?
Attachment #744635 -
Flags: approval-mozilla-beta+
Attachment #744635 -
Flags: approval-mozilla-aurora?
Attachment #744635 -
Flags: approval-mozilla-aurora+
Comment 10•13 years ago
|
||
Updated•8 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•