Closed Bug 1470938 Opened 6 years ago Closed 6 years ago

toolkit/components/telemetry/Telemetry.cpp:110:27: error: 'mozilla::Telemetry::CombinedStacks ' has not been declared

Categories

(Toolkit :: Telemetry, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla63
Tracking Status
firefox-esr52 --- unaffected
firefox-esr60 --- unaffected
firefox60 --- unaffected
firefox61 --- unaffected
firefox62 --- fixed
firefox63 --- fixed

People

(Reporter: jbeich, Assigned: jbeich)

References

Details

(Keywords: regression)

Attachments

(1 file)

$ c++ -v FreeBSD clang version 6.0.0 (tags/RELEASE_600/final 326565) (based on LLVM 6.0.0) Target: x86_64-unknown-freebsd12.0 Thread model: posix InstalledDir: /usr/bin $ ./mach bootstrap $ ./mach build [...] toolkit/components/telemetry/Telemetry.cpp:110:27: error: no member named 'CombinedStacks' in namespace 'mozilla::Telemetry' using mozilla::Telemetry::CombinedStacks; ~~~~~~~~~~~~~~~~~~~~^ toolkit/components/telemetry/Telemetry.cpp:204:3: error: unknown type name 'CombinedStacks' CombinedStacks mLateWritesStacks; // This is collected out of the main thread. ^ toolkit/components/telemetry/Telemetry.cpp:496:3: error: no matching function for call to 'UnregisterWeakMemoryReporter' UnregisterWeakMemoryReporter(this); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ objdir/dist/include/nsIMemoryReporter.h:538:21: note: candidate function not viable: no known conversion from '(anonymous namespace)::TelemetryImpl *' to 'nsIMemoryReporter *' for 1st argument XPCOM_API(nsresult) UnregisterWeakMemoryReporter(nsIMemoryReporter* aReporter); ^ toolkit/components/telemetry/Telemetry.cpp:505:3: error: no matching function for call to 'RegisterWeakMemoryReporter' RegisterWeakMemoryReporter(this); ^~~~~~~~~~~~~~~~~~~~~~~~~~ objdir/dist/include/nsIMemoryReporter.h:533:21: note: candidate function not viable: no known conversion from '(anonymous namespace)::TelemetryImpl *' to 'nsIMemoryReporter *' for 1st argument XPCOM_API(nsresult) RegisterWeakMemoryReporter(nsIMemoryReporter* aReporter); ^ toolkit/components/telemetry/Telemetry.cpp:1013:5: error: unknown type name 'CombinedStacks' CombinedStacks empty; ^ toolkit/components/telemetry/Telemetry.cpp:1141:26: error: no viable conversion from '(anonymous namespace)::TelemetryImpl *' to 'nsCOMPtr<nsITelemetry>' nsCOMPtr<nsITelemetry> ret = sTelemetry; ^ ~~~~~~~~~~ objdir/dist/include/nsCOMPtr.h:455:16: note: candidate constructor not viable: no known conversion from '(anonymous namespace)::TelemetryImpl *' to 'decltype(nullptr)' (aka 'nullptr_t') for 1st argument MOZ_IMPLICIT nsCOMPtr(decltype(nullptr)) ^ objdir/dist/include/nsCOMPtr.h:462:3: note: candidate constructor not viable: no known conversion from '(anonymous namespace)::TelemetryImpl *' to 'const nsCOMPtr<nsITelemetry> &' for 1st argument nsCOMPtr(const nsCOMPtr<T>& aSmartPtr) ^ objdir/dist/include/nsCOMPtr.h:472:3: note: candidate constructor not viable: no known conversion from '(anonymous namespace)::TelemetryImpl *' to 'nsCOMPtr<nsITelemetry> &&' for 1st argument nsCOMPtr(nsCOMPtr<T>&& aSmartPtr) ^ objdir/dist/include/nsCOMPtr.h:481:16: note: candidate constructor not viable: no known conversion from '(anonymous namespace)::TelemetryImpl *' to 'nsITelemetry *' for 1st argument MOZ_IMPLICIT nsCOMPtr(T* aRawPtr) ^ objdir/dist/include/nsCOMPtr.h:492:16: note: candidate constructor not viable: no known conversion from '(anonymous namespace)::TelemetryImpl *' to 'already_AddRefed<nsITelemetry> &' for 1st argument MOZ_IMPLICIT nsCOMPtr(already_AddRefed<T>& aSmartPtr) ^ objdir/dist/include/nsCOMPtr.h:501:16: note: candidate constructor not viable: no known conversion from '(anonymous namespace)::TelemetryImpl *' to 'already_AddRefed<nsITelemetry> &&' for 1st argument MOZ_IMPLICIT nsCOMPtr(already_AddRefed<T>&& aSmartPtr) ^ objdir/dist/include/nsCOMPtr.h:536:16: note: candidate constructor not viable: no known conversion from '(anonymous namespace)::TelemetryImpl *' to 'const nsQueryInterface' for 1st argument MOZ_IMPLICIT nsCOMPtr(const nsQueryInterface aQI) ^ objdir/dist/include/nsCOMPtr.h:545:16: note: candidate constructor not viable: no known conversion from '(anonymous namespace)::TelemetryImpl *' to 'const nsQueryInterfaceWithError &' for 1st argument MOZ_IMPLICIT nsCOMPtr(const nsQueryInterfaceWithError& aQI) ^ objdir/dist/include/nsCOMPtr.h:554:16: note: candidate constructor not viable: no known conversion from '(anonymous namespace)::TelemetryImpl *' to 'const nsGetServiceByCID' for 1st argument MOZ_IMPLICIT nsCOMPtr(const nsGetServiceByCID aGS) ^ objdir/dist/include/nsCOMPtr.h:563:16: note: candidate constructor not viable: no known conversion from '(anonymous namespace)::TelemetryImpl *' to 'const nsGetServiceByCIDWithError &' for 1st argument MOZ_IMPLICIT nsCOMPtr(const nsGetServiceByCIDWithError& aGS) ^ objdir/dist/include/nsCOMPtr.h:572:16: note: candidate constructor not viable: no known conversion from '(anonymous namespace)::TelemetryImpl *' to 'const nsGetServiceByContractID' for 1st argument MOZ_IMPLICIT nsCOMPtr(const nsGetServiceByContractID aGS) ^ objdir/dist/include/nsCOMPtr.h:581:16: note: candidate constructor not viable: no known conversion from '(anonymous namespace)::TelemetryImpl *' to 'const nsGetServiceByContractIDWithError &' for 1st argument MOZ_IMPLICIT nsCOMPtr(const nsGetServiceByContractIDWithError& aGS) ^ objdir/dist/include/nsCOMPtr.h:590:16: note: candidate constructor not viable: no known conversion from '(anonymous namespace)::TelemetryImpl *' to 'const nsQueryReferent &' for 1st argument MOZ_IMPLICIT nsCOMPtr(const nsQueryReferent& aQueryReferent) ^ objdir/dist/include/nsCOMPtr.h:600:16: note: candidate constructor not viable: no known conversion from '(anonymous namespace)::TelemetryImpl *' to 'const nsCOMPtr_helper &' for 1st argument MOZ_IMPLICIT nsCOMPtr(const nsCOMPtr_helper& aHelper) ^ objdir/dist/include/nsCOMPtr.h:511:16: note: candidate template ignored: could not match 'already_AddRefed<type-parameter-0-0>' against '(anonymous namespace)::TelemetryImpl *' MOZ_IMPLICIT nsCOMPtr(already_AddRefed<U>& aSmartPtr) ^ objdir/dist/include/nsCOMPtr.h:524:16: note: candidate template ignored: could not match 'already_AddRefed<type-parameter-0-0>' against '(anonymous namespace)::TelemetryImpl *' MOZ_IMPLICIT nsCOMPtr(already_AddRefed<U>&& aSmartPtr) ^ objdir/dist/include/nsCOMPtr.h:611:16: note: candidate template ignored: could not match 'OwningNonNull<type-parameter-0-0>' against '(anonymous namespace)::TelemetryImpl *' MOZ_IMPLICIT nsCOMPtr(const mozilla::OwningNonNull<U>& aOther); ^ toolkit/components/telemetry/Telemetry.cpp:1509:1: error: static_cast from '(anonymous namespace)::TelemetryImpl *' to 'nsITelemetry *', which are not related by inheritance, is not allowed NS_IMPL_ISUPPORTS(TelemetryImpl, nsITelemetry, nsIMemoryReporter) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ objdir/dist/include/nsISupportsImpl.h:1223:3: note: expanded from macro 'NS_IMPL_ISUPPORTS' NS_IMPL_QUERY_INTERFACE(aClass, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ objdir/dist/include/nsISupportsImpl.h:1113:3: note: expanded from macro 'NS_IMPL_QUERY_INTERFACE' NS_INTERFACE_TABLE(aClass, __VA_ARGS__) \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ objdir/dist/include/nsISupportsImpl.h:1101:18: note: expanded from macro 'NS_INTERFACE_TABLE' MOZ_FOR_EACH(NS_INTERFACE_TABLE_ENTRY, (aClass,), (__VA_ARGS__)) \ ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) objdir/dist/include/mozilla/MacroForEach.h:68:5: note: expanded from macro 'MOZ_FOR_EACH_HELPER' aMacro, \ ^~~~~~~~~ objdir/dist/include/mozilla/MacroForEach.h:65:40: note: expanded from macro 'MOZ_FOR_EACH_HELPER_GLUE' #define MOZ_FOR_EACH_HELPER_GLUE(a, b) a b ^~~ objdir/dist/include/nsISupportsImpl.h:925:25: note: expanded from macro 'NS_INTERFACE_TABLE_ENTRY' static_cast<_interface*>((_class*) 0x1000)) - \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ toolkit/components/telemetry/Telemetry.cpp:1509:1: error: static_cast from '(anonymous namespace)::TelemetryImpl *' to 'nsIMemoryReporter *', which are not related by inheritance, is not allowed NS_IMPL_ISUPPORTS(TelemetryImpl, nsITelemetry, nsIMemoryReporter) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ objdir/dist/include/nsISupportsImpl.h:1223:3: note: expanded from macro 'NS_IMPL_ISUPPORTS' NS_IMPL_QUERY_INTERFACE(aClass, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ objdir/dist/include/nsISupportsImpl.h:1113:3: note: expanded from macro 'NS_IMPL_QUERY_INTERFACE' NS_INTERFACE_TABLE(aClass, __VA_ARGS__) \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ objdir/dist/include/nsISupportsImpl.h:1101:18: note: expanded from macro 'NS_INTERFACE_TABLE' MOZ_FOR_EACH(NS_INTERFACE_TABLE_ENTRY, (aClass,), (__VA_ARGS__)) \ ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note: (skipping 5 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) objdir/dist/include/mozilla/MacroForEach.h:68:5: note: expanded from macro 'MOZ_FOR_EACH_HELPER' aMacro, \ ^~~~~~~~~ objdir/dist/include/mozilla/MacroForEach.h:65:40: note: expanded from macro 'MOZ_FOR_EACH_HELPER_GLUE' #define MOZ_FOR_EACH_HELPER_GLUE(a, b) a b ^~~ objdir/dist/include/nsISupportsImpl.h:925:25: note: expanded from macro 'NS_INTERFACE_TABLE_ENTRY' static_cast<_interface*>((_class*) 0x1000)) - \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ toolkit/components/telemetry/Telemetry.cpp:1509:1: error: static_cast from '(anonymous namespace)::TelemetryImpl *' to 'nsITelemetry *', which are not related by inheritance, is not allowed NS_IMPL_ISUPPORTS(TelemetryImpl, nsITelemetry, nsIMemoryReporter) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ objdir/dist/include/nsISupportsImpl.h:1223:3: note: expanded from macro 'NS_IMPL_ISUPPORTS' NS_IMPL_QUERY_INTERFACE(aClass, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ objdir/dist/include/nsISupportsImpl.h:1113:3: note: expanded from macro 'NS_IMPL_QUERY_INTERFACE' NS_INTERFACE_TABLE(aClass, __VA_ARGS__) \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ objdir/dist/include/nsISupportsImpl.h:1102:5: note: expanded from macro 'NS_INTERFACE_TABLE' NS_INTERFACE_TABLE_ENTRY_AMBIGUOUS(aClass, nsISupports, \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ objdir/dist/include/nsISupportsImpl.h:933:40: note: expanded from macro 'NS_INTERFACE_TABLE_ENTRY_AMBIGUOUS' static_cast<_implClass*>( \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ toolkit/components/telemetry/Telemetry.cpp:1509:1: error: invalid application of 'sizeof' to an incomplete type 'const QITableEntry []' NS_IMPL_ISUPPORTS(TelemetryImpl, nsITelemetry, nsIMemoryReporter) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ objdir/dist/include/nsISupportsImpl.h:1223:3: note: expanded from macro 'NS_IMPL_ISUPPORTS' NS_IMPL_QUERY_INTERFACE(aClass, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ objdir/dist/include/nsISupportsImpl.h:1113:3: note: expanded from macro 'NS_IMPL_QUERY_INTERFACE' NS_INTERFACE_TABLE(aClass, __VA_ARGS__) \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ objdir/dist/include/nsISupportsImpl.h:1104:3: note: expanded from macro 'NS_INTERFACE_TABLE' NS_INTERFACE_TABLE_END ^~~~~~~~~~~~~~~~~~~~~~ objdir/dist/include/nsISupportsImpl.h:951:3: note: expanded from macro 'NS_INTERFACE_TABLE_END' NS_INTERFACE_TABLE_END_WITH_PTR(this) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ objdir/dist/include/nsISupportsImpl.h:946:24: note: expanded from macro 'NS_INTERFACE_TABLE_END_WITH_PTR' static_assert((sizeof(table)/sizeof(table[0])) > 1, "need at least 1 interface"); \ ^~~~~~~ toolkit/components/telemetry/Telemetry.cpp:204:18: error: private field 'mLateWritesStacks' is not used [-Werror,-Wunused-private-field] CombinedStacks mLateWritesStacks; // This is collected out of the main thread. ^ 11 errors generated.
Forgot to copy-paste rationale: On Tier3 platforms without GeckoProfiler (Linux powerpc/sparc/s390x, BSDs, Solaris) the build is broken because CombinedStacks.h isn't explicitly included but was bootlegged via HangReports.h before bug 1448040. To reproduce on Tier1 platforms before bug 1371159 is fixed one has to force `return None` in gecko_profiler(). https://hg.mozilla.org/mozilla-central/rev/167d3bf700d3#l17.19 https://searchfox.org/mozilla-central/rev/39b790b29543/toolkit/components/telemetry/KeyedStackCapturer.h#13 https://searchfox.org/mozilla-central/rev/39b790b29543/toolkit/moz.configure#25-31
Component: General → Telemetry
Product: Core → Toolkit
Comment on attachment 8987566 [details] Bug 1470938 - Unbreak build without GeckoProfiler after bug 1448040. https://reviewboard.mozilla.org/r/252810/#review259296 Woops! Sorry about the breakage. Looks good to me.
Attachment #8987566 - Flags: review?(dothayer) → review+
Keywords: checkin-needed
Comment on attachment 8987566 [details] Bug 1470938 - Unbreak build without GeckoProfiler after bug 1448040. In case Nightly switches to 63.0a1 before this bug lands. Cancel otherwise. GeckoProfiler (previously, knows as SPS) bustage is impossible to work around downstream. While bug 1403868 alleviated some bustage there're still no tests on TaskCluster. Approval Request Comment [Feature/Bug causing the regression]: bug 1448040 [User impact if declined]: Broken build on most Tier3 platforms. [Is this code covered by automated tests?]: Yes [Has the fix been verified in Nightly?]: Locally while Nightly was still at 62.0a1 [Needs manual test from QE? If yes, steps to reproduce]: No [List of other uplifts needed for the feature/fix]: None [Is the change risky?]: No [Why is the change risky/not risky?]: Can only break build due to typos. Telemetry.cpp includes KeyedStackCapturer.h which already includes CombinedStacks.h [String changes made/needed]: None
Attachment #8987566 - Flags: approval-mozilla-beta?
Pushed by nbeleuzu@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/55b38951516f Unbreak build without GeckoProfiler after bug 1448040. r=dthayer
Keywords: checkin-needed
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
Assignee: nobody → jbeich
Comment on attachment 8987566 [details] Bug 1470938 - Unbreak build without GeckoProfiler after bug 1448040. Trivial build bustage fix. Approved for 62.0b4.
Attachment #8987566 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Flags: qe-verify-
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: