Closed Bug 1105851 Opened 9 years ago Closed 9 years ago

security/manager/boot/src/RootCertificateTelemetryUtils.cpp:68:68: error: 'ArrayLength' was not declared in this scope (non-SPS, non-unified)

Categories

(Core :: Security: PSM, defect)

All
FreeBSD
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla37
Tracking Status
firefox34 --- unaffected
firefox35 --- fixed
firefox36 --- fixed
firefox37 --- fixed

People

(Reporter: jbeich, Assigned: jbeich)

References

Details

Attachments

(1 file, 2 obsolete files)

On platforms lacking SPS profiler (Linux/PPC, BSDs, Solaris) non-unified build is broken due to header bootlegging. Barely noticed thanks to bug 1063726 and complete brokeness of OpenBSD buildbot.

In file included from security/manager/boot/src/DataStorage.cpp:7:
In file included from security/manager/boot/src/DataStorage.h:10:
In file included from dist/include/mozilla/Monitor.h:10:
In file included from dist/include/mozilla/CondVar.h:16:
In file included from dist/include/GeckoProfiler.h:201:
In file included from dist/include/GeckoProfilerImpl.h:17:
In file included from dist/include/PseudoStack.h:9:
dist/include/mozilla/ArrayUtils.h:14:2: error: "bootleg test"

security/manager/boot/src/RootCertificateTelemetryUtils.cpp:68:46: error: use of undeclared
      identifier 'ArrayLength'
  if (mozilla::BinarySearchIf(ROOT_TABLE, 0, ArrayLength(ROOT_TABLE),
                                             ^
1 error generated.

http://buildbot.rhaalovely.net/builders/mozilla-aurora-freebsd-amd64/builds/483/steps/build/logs/stdio
(In reply to Jan Beich from comment #0)
> In file included from security/manager/boot/src/DataStorage.cpp:7:
> In file included from security/manager/boot/src/DataStorage.h:10:
> In file included from dist/include/mozilla/Monitor.h:10:
> In file included from dist/include/mozilla/CondVar.h:16:

Doh, too lazy to force SPS error from Try. Actual order before GeckProfiler.h is the following:

In file included from security/manager/boot/src/RootCertificateTelemetryUtils.cpp:7:
In file included from security/manager/boot/src/RootCertificateTelemetryUtils.h:10:
In file included from dist/include/mozilla/Telemetry.h:11:
In file included from dist/include/mozilla/StartupTimeline.h:33:

> In file included from dist/include/GeckoProfiler.h:201:
> In file included from dist/include/GeckoProfilerImpl.h:17:
> In file included from dist/include/PseudoStack.h:9:
> dist/include/mozilla/ArrayUtils.h:14:2: error: "bootleg test"
Attached patch fix (obsolete) — Splinter Review
Explicitly include ArrayUtils.h for ArrayLength().
Attachment #8529899 - Flags: review?(jjones)
Comment on attachment 8529899 [details] [diff] [review]
fix

Hah interesting i had seen that seemingly random failure, but only on aurora, i dont remember seeing it on central... and the local fix i had in my mq is more or less att 8529899, so lgtm!
Attachment #8529899 - Flags: feedback+
Comment on attachment 8529899 [details] [diff] [review]
fix

Review of attachment 8529899 [details] [diff] [review]:
-----------------------------------------------------------------

Absolutely good to me, too. Thanks!
Attachment #8529899 - Flags: review?(jjones) → review+
Attached patch fix (obsolete) — Splinter Review
Trying again to confirm if |git bz attach| eats trailing whitespace in context lines.
Attached patch fixSplinter Review
It does, uploading via browser. Carrying over r+ from attachment 8529899 [details] [diff] [review] as no changes except for the following context line with trailing whitespace:

 namespace mozilla { namespace psm { 

central: https://treeherder.mozilla.org/ui/#/jobs?repo=try&revision=a23080ad2540
beta:    https://treeherder.mozilla.org/ui/#/jobs?repo=try&revision=62c5bc83e526
Attachment #8529899 - Attachment is obsolete: true
Attachment #8530631 - Attachment is obsolete: true
Keywords: checkin-needed
Comment on attachment 8530632 [details] [diff] [review]
fix

Approval Request Comment
[Feature/regressing bug #]: bug 1054498 regression
[User impact if declined]: Broken build on release channels for non-SPS platforms unless --enable-unified-compilation but beware of bug 1105781.
[Describe test coverage new/current, TBPL]: see comment 6, soon inbound
[Risks and why]: Low, broken build at most.
[String/UUID change made/needed]:
Attachment #8530632 - Flags: approval-mozilla-beta?
Attachment #8530632 - Flags: approval-mozilla-aurora?
https://hg.mozilla.org/integration/mozilla-inbound/rev/f50c458f6f69

> [User impact if declined]: Broken build on release channels for non-SPS platforms unless --enable-unified-compilation but beware of bug 1105781.

Not sure of this, i've seen broken builds on this failure in aurora (when aurora was 35) with the default unified compilation behaviour.
Keywords: checkin-needed
--enable-unified-compilation is only enabled on Nightly but not for long [1]. FreeBSD ports use it like -jN to reduce load for package cluster of building 5 different flavors of Gecko engine.

[1] https://www.mail-archive.com/dev-platform@lists.mozilla.org/msg11513.html
https://hg.mozilla.org/mozilla-central/rev/f50c458f6f69
Assignee: nobody → jbeich
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla37
Attachment #8530632 - Flags: approval-mozilla-beta?
Attachment #8530632 - Flags: approval-mozilla-beta+
Attachment #8530632 - Flags: approval-mozilla-aurora?
Attachment #8530632 - Flags: approval-mozilla-aurora+
You need to log in before you can comment on or make changes to this bug.