Closed
Bug 421861
Opened 16 years ago
Closed 16 years ago
Mozilla build of NSS doesn't rebuild for dependencies (on pkixt.h at least)
Categories
(Firefox Build System :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla1.9beta5
People
(Reporter: dbaron, Assigned: dbaron)
References
()
Details
Attachments
(1 file)
651 bytes,
patch
|
benjamin
:
review+
mtschrep
:
approval1.9b5+
|
Details | Diff | Splinter Review |
In my self-built depend build, I crash when loading any site with an EV cert (such as https://signin.ebay.com/ ), due to a fatal NSS assertion: (gdb) bt 12 #0 0x00110402 in __kernel_vsyscall () #1 0x00944e46 in nanosleep () from /lib/libc.so.6 #2 0x00944c6f in __sleep (seconds=0) at ../sysdeps/unix/sysv/linux/sleep.c:138 #3 0x0012c938 in ah_crap_handler (signum=6) at nsSigHandlers.cpp:149 #4 0x00143575 in nsProfileLock::FatalSignalHandler (signo=6) at nsProfileLock.cpp:216 #5 <signal handler called> #6 0x00110402 in __kernel_vsyscall () #7 0x008db690 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #8 0x008dcf91 in abort () at abort.c:88 #9 0x006be0c8 in PR_Assert (s=0x16af4e0 "size == ctEntry->typeObjectSize", file=0x16af38d "pkix_pl_object.c", ln=589) at /builds/trunk/mozilla/nsprpub/pr/src/io/prlog.c:577 #10 0x01641776 in PKIX_PL_Object_Alloc (objType=PKIX_FORWARDBUILDERSTATE_TYPE, size=216, pObject=0xbfe2350c, plContext=0x93e4468) at pkix_pl_object.c:589 #11 0x015c6621 in pkix_ForwardBuilderState_Create (traversedCACerts=0, numFanout=0, numDepth=0, dsaParamsNeeded=0, revCheckDelayed=0, canBeCached=1, validityDate=0x0, prevCert=0x93e9cac, traversedSubjNames=0x93e5a4c, trustChain=0x93f667c, parentState=0x0, pState=0xbfe235ac, plContext=0x93e4468) at pkix_build.c:215 (More stack frames follow...) (gdb) f 10 #10 0x01641776 in PKIX_PL_Object_Alloc (objType=PKIX_FORWARDBUILDERSTATE_TYPE, size=216, pObject=0xbfe2350c, plContext=0x93e4468) at pkix_pl_object.c:589 589 PORT_Assert(size == ctEntry->typeObjectSize); Current language: auto; currently c (gdb) p *ctEntry $1 = {description = 0x16aefe0 "OcspCertID", objCounter = 0, typeObjectSize = 8, destructor = 0x163a088 <pkix_pl_OcspCertID_Destroy>, equalsFunction = 0, hashcodeFunction = 0, toStringFunction = 0, comparator = 0, duplicateFunction = 0x15d91ad <pkix_duplicateImmutable>} (gdb) q This crash is occurring because of a build dependency problem. In particular, the enum values that are defined in: -rwxrwxr-x 1 dbaron dbaron 17559 2008-02-25 10:29:35 security/nss/lib/libpkix/include/pkixt.h* did not cause some of the object files using those enum values to be updated: -rw-rw-r-- 1 dbaron dbaron 69876 2008-02-25 11:20:31 nss/pkixpki/pkix_pl_ocspcertid.o -rw-rw-r-- 1 dbaron dbaron 170540 2008-01-18 20:31:11 nss/pkixtop/pkix_build.o Since pkix_build.o hasn't been rebuilt, it's using the wrong ID and causing my build to crash. I'm not sure if this is a bug in the Mozilla-NSS build system glue or in the NSS build system, so filing on Core initial although I don't know whether it's a Core::Build Config bug or an NSS::Build bug.
my build failed because $objdir/dist/public/nss wasn't clobbered (i had tried killing $objdir/nss and $objdir/dist/private/nss but my build continued to fail until i clobbered private/nss...)
Comment 2•16 years ago
|
||
(In reply to comment #1) >my build failed because $objdir/dist/public/nss wasn't clobbered (i had tried >killing $objdir/nss and $objdir/dist/private/nss but my build continued to fail >until i clobbered private/nss...) (I assume you mean public/nss) That's bug 419340.
Assignee | ||
Comment 4•16 years ago
|
||
Ah, so in my case, I think this is because of how I'm mirroring the trunk into my own hg repository. The code in client.mk simply touches /security/manager/.nss.checkout ; it doesn't change its contents. If it put something in it (e.g., the output of date), it would reflect into other version control systems better.
Assignee | ||
Comment 5•16 years ago
|
||
This makes .nss.checkout have the date in it so that it reflects into other VCSes.
Attachment #310071 -
Flags: review?(benjamin)
Updated•16 years ago
|
Attachment #310071 -
Flags: review?(benjamin) → review+
Assignee | ||
Comment 6•16 years ago
|
||
Comment on attachment 310071 [details] [diff] [review] make .nss.checkout have the date in it This would help me and other people who mirror cvs into hg or git not have busted or crashy builds every time we take an NSS update.
Attachment #310071 -
Flags: approval1.9b5?
Comment 7•16 years ago
|
||
Comment on attachment 310071 [details] [diff] [review] make .nss.checkout have the date in it a+ schrep
Attachment #310071 -
Flags: approval1.9b5? → approval1.9b5+
Comment 8•16 years ago
|
||
Comment on attachment 310071 [details] [diff] [review] make .nss.checkout have the date in it >- touch $(TOPSRCDIR)/security/manager/.nss.checkout; \ >+ echo `date` > $(TOPSRCDIR)/security/manager/.nss.checkout; \ why not just ? date > $(TOPSRCDIR)/security/manager/.nss.checkout; \
Assignee | ||
Comment 9•16 years ago
|
||
Good point. :-)
Assignee | ||
Updated•16 years ago
|
Assignee: nobody → dbaron
Assignee | ||
Comment 10•16 years ago
|
||
Checked in to trunk (with Nelson's suggestion; not sure why I didn't do that in the first place).
Assignee | ||
Updated•16 years ago
|
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9beta5
Assignee | ||
Comment 11•16 years ago
|
||
Though one potentially important difference is that echo `date` suppresses errors if the date command isn't found, whereas just date will fail. So maybe I should go back to what I had.
Assignee | ||
Comment 12•16 years ago
|
||
I went back to the original patch.
Updated•6 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•