Closed Bug 1593474 Opened 5 years ago Closed 5 years ago

firefox 71 requires NSPR 4.23, but it's not set correctly in its scripts.

Categories

(Firefox Build System :: General, defect)

71 Branch
defect
Not set
normal

Tracking

(firefox-esr68 unaffected, firefox70 unaffected, firefox71 fixed, firefox72 fixed)

RESOLVED FIXED
mozilla72
Tracking Status
firefox-esr68 --- unaffected
firefox70 --- unaffected
firefox71 --- fixed
firefox72 --- fixed

People

(Reporter: herrtimson, Assigned: jcj)

References

(Regression)

Details

(Keywords: regression)

Attachments

(2 files)

Attached file build.log.zip

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0

Steps to reproduce:

compiled firefox-71.0_beta6 on arm

Actual results:

the build failed with this error:

19:29.79 /usr/armv7a-unknown-linux-gnueabihf/tmp/portage/www-client/firefox-71.0_beta6/work/firefox-71.0/security/manager/ssl/nsNSSComponent.cpp: In function 'mozilla::UniqueCERTCertList mozilla::psm::FindNonCACertificatesWithPrivateKeys()':
19:29.79 /usr/armv7a-unknown-linux-gnueabihf/tmp/portage/www-client/firefox-71.0_beta6/work/firefox-71.0/security/manager/ssl/nsNSSComponent.cpp:2214:34: error: 'PK11_GetCertsMatchingPrivateKey' was not declared in this scope
19:29.79 UniqueCERTCertList certs(PK11_GetCertsMatchingPrivateKey(node->key));
19:29.79 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19:29.79 /usr/armv7a-unknown-linux-gnueabihf/tmp/portage/www-client/firefox-71.0_beta6/work/firefox-71.0/security/manager/ssl/nsNSSComponent.cpp:2214:34: note: suggested alternative: 'PK11_GetCertFromPrivateKey'
19:29.79 UniqueCERTCertList certs(PK11_GetCertsMatchingPrivateKey(node->key));
19:29.79 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19:29.79 PK11_GetCertFromPrivateKey
19:29.79 In file included from Unified_cpp_security_manager_ssl2.cpp:29:
19:29.79 /usr/armv7a-unknown-linux-gnueabihf/tmp/portage/www-client/firefox-71.0_beta6/work/firefox-71.0/security/manager/ssl/nsNSSIOLayer.cpp: In function 'nsresult nsSSLIOLayerSetOptions(PRFileDesc*, bool, bool, const char*, int32_t, nsNSSSocketInfo*)':
19:29.79 /usr/armv7a-unknown-linux-gnueabihf/tmp/portage/www-client/firefox-71.0_beta6/work/firefox-71.0/security/manager/ssl/nsNSSIOLayer.cpp:2207:7: error: 'SSL_CipherSuiteOrderGet' was not declared in this scope
19:29.79 if (SSL_CipherSuiteOrderGet(fd, ciphers.data(), &enabledCiphers) !=
19:29.79 ^~~~~~~~~~~~~~~~~~~~~~~
19:29.79 /usr/armv7a-unknown-linux-gnueabihf/tmp/portage/www-client/firefox-71.0_beta6/work/firefox-71.0/security/manager/ssl/nsNSSIOLayer.cpp:2207:7: note: suggested alternative: 'SSL_CipherPrefGet'
19:29.79 if (SSL_CipherSuiteOrderGet(fd, ciphers.data(), &enabledCiphers) !=
19:29.79 ^~~~~~~~~~~~~~~~~~~~~~~
19:29.79 SSL_CipherPrefGet
19:29.79 /usr/armv7a-unknown-linux-gnueabihf/tmp/portage/www-client/firefox-71.0_beta6/work/firefox-71.0/security/manager/ssl/nsNSSIOLayer.cpp:2221:11: error: 'SSL_CipherSuiteOrderSet' was not declared in this scope
19:29.79 if (SSL_CipherSuiteOrderSet(fd, ciphers.data(), enabledCiphers) !=
19:29.79 ^~~~~~~~~~~~~~~~~~~~~~~
19:29.80 /usr/armv7a-unknown-linux-gnueabihf/tmp/portage/www-client/firefox-71.0_beta6/work/firefox-71.0/security/manager/ssl/nsNSSIOLayer.cpp:2221:11: note: suggested alternative: 'SSL_CipherPrefSet'
19:29.80 if (SSL_CipherSuiteOrderSet(fd, ciphers.data(), enabledCiphers) !=
19:29.80 ^~~~~~~~~~~~~~~~~~~~~~~
19:29.80 SSL_CipherPrefSet
19:29.80 In file included from Unified_cpp_security_manager_ssl2.cpp:38:
19:29.80 /usr/armv7a-unknown-linux-gnueabihf/tmp/portage/www-client/firefox-71.0_beta6/work/firefox-71.0/security/manager/ssl/nsNSSModule.cpp: In instantiation of 'nsresult mozilla::psm::Instantiate(const nsIID&, void**) [with InstanceClass = nsCertOverrideService; nsresult (InstanceClass::* InitMethod)() = &nsCertOverrideService::Init; nsIID = nsID]':

the full build log is attached

Expected results:

it should have compiled successfully

Bugbug thinks this bug should belong to this component, but please revert this change in case of error.

Component: Untriaged → Security: PSM
Product: Firefox → Core

an educated guess

Summary: PK11_GetCertsMatchingPrivateKey → firefox-71.0_beta6 fails to compile with error: 'PK11_GetCertsMatchingPrivateKey' was not declared

This implies that NSS isn't up-to-date, in some fashion here.

Firefox 71 requires NSS 3.47 (https://hg.mozilla.org/releases/mozilla-beta/file/tip/old-configure.in#l1515), but the ebuild must be still referring to an earlier version - likely 3.46.1. Note it'll also require NSPR 4.23. Check on those dependencies if you would and let me know if that's the source of the issue, or if we have something else wrong in the release.

Thanks!

Flags: needinfo?(herrtimson)

I'm going to try again, but the config script only checks for >=nspr-4.21, that's for sure.

Indeed, I think the problem was the lack of =nspr-4.23 , =nspr-4.21 is too old. Please update the config file accordingly.

Flags: needinfo?(herrtimson)

[Tracking Requested - why for this release]:

Ahhh, NSPR team didn't update old-configure.in. Got it. Let's get that fixed in the beta branch!

OK, regressed by bug 1586867. Thanks for the report!

Assignee: nobody → jjones
Status: UNCONFIRMED → ASSIGNED
Component: Security: PSM → General
Ever confirmed: true
Product: Core → Firefox Build System
Regressed by: 1586867
Summary: firefox-71.0_beta6 fails to compile with error: 'PK11_GetCertsMatchingPrivateKey' was not declared → firefox 71 requires NSPR 4.23, but it's not set correctly in its scripts.

The patch for bug 1586867 should have updated old-configure.in but didn't.

Comment on attachment 9106269 [details]
Bug 1593474 - Require NSPR 4.23 in old-configure.in

Beta/Release Uplift Approval Request

  • User impact if declined: If declined, our Firefox 71 sources won't build from the makefiles.
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: none
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): This is mostly for distributions that use our makefiles to make dependency decisions. We know NSPR 4.23 works fine, we just want everyone to use it.
  • String changes made/needed: none
Attachment #9106269 - Flags: approval-mozilla-beta?
Pushed by jjones@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/99fc19f68c76
Require NSPR 4.23 in old-configure.in r=kaie
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla72

Comment on attachment 9106269 [details]
Bug 1593474 - Require NSPR 4.23 in old-configure.in

Low risk NSPR fix for downstream users of Firefox, uplift approved for 71 beta 8, thanks.

Attachment #9106269 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: