Closed
Bug 850089
Opened 12 years ago
Closed 12 years ago
SPS breakpad unwind (bug 779291) breaks --disable-crashreporter builds
Categories
(Core :: Gecko Profiler, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: jseward, Assigned: ted)
References
Details
(Keywords: regression)
Attachments
(2 files)
(deleted),
patch
|
glandium
:
review+
|
Details | Diff | Splinter Review |
(deleted),
text/plain
|
Details |
Carried over from bug 779291 comment 103: Benoit Girard (:BenWa): I tried to build from inbound but got a compile error. I think we might of regressed '--disable-crashreporter' builds. tools/profiler/local_debug_info_symbolizer.cc:110: error: undefined reference to 'google_breakpad::CFIRuleParser::Parse(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' tools/profiler/local_debug_info_symbolizer.cc:111: error: undefined reference to 'vtable for google_breakpad::CFIFrameInfoParseHandler' tools/profiler/local_debug_info_symbolizer.cc:35: error: undefined reference to 'google_breakpad::Module::~Module()' tools/profiler/local_debug_info_symbolizer.cc:38: error: undefined reference to 'vtable for google_breakpad::StackFrameSymbolizer' toolkit/crashreporter/google-breakpad/src/common/unique_string.h:227: error: undefined reference to 'google_breakpad::ToUniqueString(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)' toolkit/crashreporter/google-breakpad/src/common/unique_string.h:234: error: undefined reference to 'google_breakpad::ToUniqueString(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)' tools/profiler/local_debug_info_symbolizer.cc:143: error: undefined reference to 'google_breakpad::Module::FindStackFrameEntryByAddress(unsigned long long)' tree/tools/profiler/local_debug_info_symbolizer.cc:66: error: undefined reference to 'google_breakpad::ReadSymbolData(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, SymbolData, google_breakpad::Module**)' tools/profiler/local_debug_info_symbolizer.cc:67: error: undefined reference to 'google_breakpad::LogStream::LogStream(std::basic_ostream<char, std::char_traits<char> >&, google_breakpad::LogStream::Severity, char const*, int)' tools/profiler/local_debug_info_symbolizer.cc:67: error: undefined reference to 'google_breakpad::LogStream::~LogStream()' tools/profiler/local_debug_info_symbolizer.cc:70: error: undefined reference to 'google_breakpad::Module::~Module()' tools/profiler/local_debug_info_symbolizer.cc:83: error: undefined reference to 'google_breakpad::Module::FindFunctionByAddress(unsigned long long)' tools/profiler/local_debug_info_symbolizer.h:18: error: undefined reference to 'google_breakpad::StackFrameSymbolizer::StackFrameSymbolizer(google_breakpad::SymbolSupplier*, google_breakpad::SourceLineResolverInterface*)' tools/profiler/UnwinderThread2.cpp:1664: error: undefined reference to 'google_breakpad::StackwalkerARM::StackwalkerARM(google_breakpad::SystemInfo const*, MDRawContextARM const*, int, google_breakpad::MemoryRegion*, google_breakpad::CodeModules const*, google_breakpad::StackFrameSymbolizer*)' toolkit/crashreporter/google-breakpad/src/google_breakpad/processor/call_stack.h:59: error: undefined reference to 'google_breakpad::CallStack::Clear()' tools/profiler/UnwinderThread2.cpp:1678: error: undefined reference to 'google_breakpad::Stackwalker::Walk(google_breakpad::CallStack*, std::vector<google_breakpad::CodeModule const*, std::allocator<google_breakpad::CodeModule const*> >*)' tools/profiler/UnwinderThread2.cpp:1760: error: undefined reference to 'google_breakpad::CallStack::~CallStack()'
![]() |
||
Comment 1•12 years ago
|
||
I'm building SeaMonkey and am getting the following during build: Creating library xul.lib and object xul.exp LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library local_debug_info_symbolizer.obj : error LNK2001: unresolved external symbol "public: virtual enum google_breakpad::StackFrameSymbolizer::SymbolizerResult __thiscall google_breakpad::StackFrameSymbolizer::FillSourceLineInfo(class google_breakpad::CodeModules const *,struct google_breakpad::SystemInfo const *,struct google_breakpad::StackFrame *)" (?FillSourceLineInfo@StackFrameSymbolizer@google_breakpad@@UAE?AW4SymbolizerResult@12@PBVCodeModules@2@PBUSystemInfo@2@PAUStackFrame@2@@Z) local_debug_info_symbolizer.obj : error LNK2001: unresolved external symbol "public: virtual struct google_breakpad::WindowsFrameInfo * __thiscall google_breakpad::StackFrameSymbolizer::FindWindowsFrameInfo(struct google_breakpad::StackFrame const *)" (?FindWindowsFrameInfo@StackFrameSymbolizer@google_breakpad@@UAEPAUWindowsFrameInfo@2@PBUStackFrame@2@@Z) local_debug_info_symbolizer.obj : error LNK2001: unresolved external symbol "public: virtual class google_breakpad::CFIFrameInfo * __thiscall google_breakpad::StackFrameSymbolizer::FindCFIFrameInfo(struct google_breakpad::StackFrame const *)" (?FindCFIFrameInfo@StackFrameSymbolizer@google_breakpad@@UAEPAVCFIFrameInfo@2@PBUStackFrame@2@@Z) xul.dll : fatal error LNK1120: 3 unresolved externals e:\mozstuff\mozprgs\sm9\mozilla\config\rules.mk:951:0: command 'e:/mozstuff/mozprgs/sm9/objdir-sm/mozilla/_virtualenv/Scripts/python.exe e:/mozstuff/mozprgs/sm9/mozilla/config/expandlibs_exec.py --depend .deps/xul.dll.pp --target xul.dll --uselist -- link -NOLOGO -DLL -OUT:xul.dll -PDB:xul.pdb -SUBSYSTEM:WINDOWS -MACHINE:X86 dlldeps-xul.obj nsStaticXULComponents.obj nsDllMain.obj nsGFXDeps.obj dlldeps-zlib.obj nsUnicharUtils.obj nsBidiUtils.obj nsSpecialCasingData.obj nsUnicodeProperties.obj nsRDFResource.obj ./module.res -LARGEADDRESSAWARE -NXCOMPAT -DYNAMICBASE -SAFESEH -DEBUG -DEBUGTYPE:CV -DEBUG -OPT:REF ../../toolkit/components/osfile/osfile_s.lib ../../toolkit/xre/xulapp_s.lib ../../staticlib/components/necko.lib ../../staticlib/components/uconv.lib ../../staticlib/components/i18n.lib ../../staticlib/components/chardet.lib ../../staticlib/components/jar50.lib ../../staticlib/components/startupcache.lib ../../staticlib/components/pref.lib ../../staticlib/components/htmlpars.lib ../../staticlib/components/identity.lib ../../staticlib/components/imglib2.lib ../../staticlib/components/mediasniffer.lib ../../staticlib/components/gkgfx.lib ../../staticlib/components/gklayout.lib ../../staticlib/components/docshell.lib ../../staticlib/components/embedcomponents.lib ../../staticlib/components/webbrwsr.lib ../../staticlib/components/nsappshell.lib ../../staticlib/components/txmgr.lib ../../staticlib/components/commandlines.lib ../../staticlib/components/toolkitcomps.lib ../../staticlib/components/pipboot.lib ../../staticlib/components/pipnss.lib ../../staticlib/components/appcomps.lib ../../staticlib/components/jsreflect.lib ../../staticlib/components/composer.lib ../../staticlib/components/telemetry.lib ../../staticlib/components/jsinspector.lib ../../staticlib/components/jsdebugger.lib ../../staticlib/components/storagecomps.lib ../../staticlib/components/rdf.lib ../../staticlib/components/windowds.lib ../../staticlib/components/jsctypes.lib ../../staticlib/components/jsperf.lib ../../staticlib/components/gkplugin.lib ../../staticlib/components/windowsproxy.lib ../../staticlib/components/jsd.lib ../../staticlib/components/autoconfig.lib ../../staticlib/components/auth.lib ../../staticlib/components/cookie.lib ../../staticlib/components/permissions.lib ../../staticlib/components/universalchardet.lib ../../staticlib/components/places.lib ../../staticlib/components/tkautocomplete.lib ../../staticlib/components/satchel.lib ../../staticlib/components/pippki.lib ../../staticlib/components/imgicon.lib ../../staticlib/components/profiler.lib ../../staticlib/components/widget_windows.lib ../../staticlib/components/accessibility.lib ../../staticlib/components/spellchecker.lib ../../staticlib/components/zipwriter.lib ../../staticlib/components/services-crypto.lib ../../staticlib/components/xpautocomplete.lib ../../staticlib/components/mail.lib ../../staticlib/components/msgsmime.lib ../../staticlib/components/import.lib ../../staticlib/components/msgMapi.lib ../../staticlib/components/mozldap.lib ../../staticlib/components/mork.lib ../../staticlib/jsipc_s.lib ../../staticlib/domipc_s.lib ../../staticlib/domplugins_s.lib ../../staticlib/mozipc_s.lib ../../staticlib/mozipdlgen_s.lib ../../staticlib/ipcshell_s.lib ../../staticlib/gfxipc_s.lib ../../staticlib/hal_s.lib ../../staticlib/dombindings_s.lib ../../staticlib/xpcom_core.lib ../../staticlib/ucvutil_s.lib ../../staticlib/chromium_s.lib ../../staticlib/snappy_s.lib ../../staticlib/thebes.lib ../../staticlib/gl.lib ../../staticlib/ycbcr.lib e:/mozstuff/mozprgs/sm9/objdir-sm/mozilla/dist/lib/mozjs.lib e:/mozstuff/mozprgs/sm9/objdir-sm/mozilla/dist/lib/crmf.lib e:/mozstuff/mozprgs/sm9/objdir-sm/mozilla/dist/lib/smime3.lib e:/mozstuff/mozprgs/sm9/objdir-sm/mozilla/dist/lib/ssl3.lib e:/mozstuff/mozprgs/sm9/objdir-sm/mozilla/dist/lib/nss3.lib e:/mozstuff/mozprgs/sm9/objdir-sm/mozilla/dist/lib/nssutil3.lib ../../dist/lib/nsldap32v60.lib ../../dist/lib/nsldappr32v60.lib ../../dist/lib/nsldif32v60.lib ../../dist/lib/mozsqlite3.lib ../../dist/lib/gkmedias.lib e:/mozstuff/mozprgs/sm9/objdir-sm/mozilla/dist/lib/nspr4.lib e:/mozstuff/mozprgs/sm9/objdir-sm/mozilla/dist/lib/plc4.lib e:/mozstuff/mozprgs/sm9/objdir-sm/mozilla/dist/lib/plds4.lib ../../dist/lib/mozalloc.lib -DELAYLOAD:psapi.dll -DELAYLOAD:dbghelp.dll -DELAYLOAD:rasapi32.dll -DELAYLOAD:rasdlg.dll -DELAYLOAD:comdlg32.dll -DELAYLOAD:winspool.drv -DELAYLOAD:secur32.dll -DELAYLOAD:wininet.dll -DELAYLOAD:oleacc.dll e:/mozstuff/mozprgs/sm9/objdir-sm/mozilla/dist/lib/mozglue.lib kernel32.lib user32.lib gdi32.lib winmm.lib wsock32.lib advapi32.lib secur32.lib netapi32.lib mfuuid.lib wmcodecdspuuid.lib shell32.lib ole32.lib version.lib winspool.lib comdlg32.lib imm32.lib msimg32.lib shlwapi.lib psapi.lib ws2_32.lib dbghelp.lib rasapi32.lib rasdlg.lib iphlpapi.lib uxtheme.lib setupapi.lib secur32.lib sensorsapi.lib portabledeviceguids.lib windowscodecs.lib wininet.lib oleacc.lib delayimp.lib usp10.lib oleaut32.lib ' failed, return code 1120 <libs>: Found error <xul.lib>: Found error <../../dist/bin/xul.dll>: Found error <libs>: Found error <../../dist/lib/xul.lib>: Found error <../../dist/sdk/lib/xul.lib>: Found error <libs>: Found error <libs>: Found error <libs>: Found error e:\mozstuff\mozprgs\sm9\mozilla\config\makefiles\target_libs.mk:18:0: command 'e:/mozstuff/mozilla-build/python/python.exe e:/mozstuff/mozprgs/sm9/mozilla/build/pymake/pymake/../make.py -C toolkit/library libs' failed, return code 2 e:\mozstuff\mozprgs\sm9\mozilla\config\rules.mk:654:0: command 'e:/mozstuff/mozilla-build/python/python.exe e:/mozstuff/mozprgs/sm9/mozilla/build/pymake/pymake/../make.py libs_tier_platform' failed, return code 2 e:\mozstuff\mozprgs\sm9\mozilla\config\rules.mk:619:0: command 'e:/mozstuff/mozilla-build/python/python.exe e:/mozstuff/mozprgs/sm9/mozilla/build/pymake/pymake/../make.py tier_platform' failed, return code 2 e:\mozstuff\mozprgs\sm9\objdir-sm\Makefile:45:0: command 'e:/mozstuff/mozilla-build/python/python.exe e:/mozstuff/mozprgs/sm9/mozilla/build/pymake/pymake/../make.py -C mozilla default' failed, return code 2 e:\mozstuff\mozprgs\sm9\client.mk:346:0: command 'e:/mozstuff/mozilla-build/python/python.exe e:/mozstuff/mozprgs/sm9/mozilla/build/pymake/pymake/../make.py -j8 -C e:/mozstuff/mozprgs/sm9/objdir-sm' failed, return code 2
Updated•12 years ago
|
Blocks: 779291
Keywords: regression
Comment 3•12 years ago
|
||
If I build with --disable-crashreporter, I get the reported bustage. If I build without that flag, I get 0:06.95 configure: error: Breakpad tools do not support compiling on Darwin while targeting Linux. Use --disable-crashreporter. Macs building Fennec is *what we do* for mobile dev. I suggest backing out Bug 779291 ASAP, because it just screwed a whole team. I might do this tonight, depending on how pissed off I feel.
Severity: normal → critical
Comment 4•12 years ago
|
||
(In reply to Richard Newman [:rnewman] from comment #3) > Macs building Fennec is *what we do* for mobile dev. (slight tangent: why don't we have any TBPL boxes in that configuration? Seems like it'd be a good idea to have a build like that on TBPL, given that it's an important developer configuration that we want to stay functional.)
Comment 5•12 years ago
|
||
(In reply to Daniel Holbert [:dholbert] from comment #4) > (slight tangent: why don't we have any TBPL boxes in that configuration? > Seems like it'd be a good idea to have a build like that on TBPL, given that > it's an important developer configuration that we want to stay functional.) Filed Bug 850136. Good point!
Comment 6•12 years ago
|
||
Backed out on m-i. https://hg.mozilla.org/integration/mozilla-inbound/rev/e8938a43c31a Leaving this bug for the fix.
Assignee | ||
Comment 9•12 years ago
|
||
This patch does 3 things: 1) Build a few Breakpad dirs even if --disable-crashreporter 2) Within those dirs, don't build the host tools if --disable-crashreporter (which is the biggest reason people do that right now, to build Android on mac, for example) 3) Link the right libs in toolkit/xre if --disable-crashreporter I've pushed it to try to make sure it doesn't break the normal build: https://tbpl.mozilla.org/?tree=Try&rev=4a498e9e491f It built fine locally on Linux64 both with and without --disable-crashreporter.
Attachment #723956 -
Flags: review?(mh+mozilla)
Updated•12 years ago
|
Attachment #723956 -
Flags: review?(mh+mozilla) → review+
Assignee | ||
Comment 11•12 years ago
|
||
After another round of minor fixup (thanks BenWa), folded this into the original patch and re-landed that: https://hg.mozilla.org/integration/mozilla-inbound/rev/8b366545161d
Assignee: nobody → ted
![]() |
||
Comment 12•12 years ago
|
||
With the patch (an hour old m-c), unclobbered: 24:10.26 IOError: [Errno 2] No such file or directory: u'c:\\Mozilla\\src\\mozilla-central\\_obj-browser-debug\\toolkit\\crashreporter\\google-breakpad\\src\\processor\\host_breakpad_sps_common_s.lib'
Assignee | ||
Updated•12 years ago
|
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•