Closed
Bug 561454
Opened 14 years ago
Closed 12 years ago
Perma-red on Linux x86-64 mozilla-1.9.2: "../../staticlib/libxpcom_core.a(nsXPComInit.o): relocation R_X86_64_PC32 against `base::Thread::Options::Options()' can not be used when making a shared object; recompile with -fPIC"
Categories
(Core :: IPC, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: dholbert, Unassigned)
References
Details
(Keywords: intermittent-failure)
http://tinderbox.mozilla.org/showlog.cgi?log=Firefox3.6/1272047171.1272050424.13567.gz Linux x86-64 mozilla-1.9.2 leak test build on 2010/04/23 11:26:11 { rm -f libxul.so /tools/gcc/bin/g++ -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-long-long -pedantic -fno-strict-aliasing -fshort-wchar -pthread -pipe -DDEBUG -D_DEBUG -DDEBUG_cltbld -DTRACING -g -fno-inline -fPIC -shared -Wl,-z,defs -Wl,-h,libxul.so -o libxul.so nsStaticXULComponents.o nsUnicharUtils.o nsCompressedCharMap.o nsBidiUtils.o nsRDFResource.o -lpthread -Wl,-rpath-link,/builds/slave/mozilla-1.9.2-linux64-debug/build/obj-firefox/dist/bin -Wl,-rpath-link,/usr/local/lib -Wl,--whole-archive ../../embedding/browser/gtk/src/libgtkembedmoz.a ../../toolkit/xre/libxulapp_s.a ../../staticlib/components/libxpconnect.a ../../staticlib/components/libnecko.a ../../staticlib/components/libuconv.a ../../staticlib/components/libi18n.a ../../staticlib/components/libchardet.a ../../staticlib/components/libjar50.a ../../staticlib/components/libpref.a ../../staticlib/components/libcaps.a ../../staticlib/components/libhtmlpars.a ../../staticlib/components/libimglib2.a ../../staticlib/components/libgklayout.a ../../staticlib/components/libdocshell.a ../../staticlib/components/libembedcomponents.a ../../staticlib/components/libwebbrwsr.a ../../staticlib/components/libnsappshell.a ../../staticlib/components/libtxmgr.a ../../staticlib/components/libchrome.a ../../staticlib/components/libcommandlines.a ../../staticlib/components/libtoolkitcomps.a ../../staticlib/components/libpipboot.a ../../staticlib/components/libpipnss.a ../../staticlib/components/libjsctypes.a ../../staticlib/components/libgkplugin.a ../../staticlib/components/libmozfind.a ../../staticlib/components/libappcomps.a ../../staticlib/components/libunixproxy.a ../../staticlib/components/libxpinstall.a ../../staticlib/components/libjsd.a ../../staticlib/components/libautoconfig.a ../../staticlib/components/libauth.a ../../staticlib/components/libcookie.a ../../staticlib/components/libpermissions.a ../../staticlib/components/libuniversalchardet.a ../../staticlib/components/libcomposer.a ../../staticlib/components/librdf.a ../../staticlib/components/libwindowds.a ../../staticlib/components/libintlapp.a ../../staticlib/components/libfileview.a ../../staticlib/components/libstoragecomps.a ../../staticlib/components/libplaces.a ../../staticlib/components/libtkautocomplete.a ../../staticlib/components/libsatchel.a ../../staticlib/components/libpippki.a ../../staticlib/components/libucvmath.a ../../staticlib/components/libwidget_gtk2.a ../../staticlib/components/libsystem-pref.a ../../staticlib/components/libgkgfxthebes.a ../../staticlib/components/libaccessibility.a ../../staticlib/components/libremoteservice.a ../../staticlib/components/libspellchecker.a ../../staticlib/components/libzipwriter.a ../../staticlib/libdomplugins_s.a ../../staticlib/libmozipc_s.a ../../staticlib/libmozipdlgen_s.a ../../staticlib/libchromium_s.a ../../staticlib/libgfxipc_s.a ../../staticlib/libxpcom_core.a ../../staticlib/libucvutil_s.a ../../staticlib/libgkgfx.a ../../staticlib/libmozreg_s.a ../../staticlib/libmorkreader_s.a ../../staticlib/libgtkxtbin.a ../../staticlib/libgfxpsshar.a ../../staticlib/libthebes.a -Wl,--no-whole-archive -L../../dist/lib -lsqlite3 -L../../dist/bin -L../../dist/lib -L../../dist/bin -L../../dist/lib -L../../jpeg -lmozjpeg -L../../modules/libimg/png -lmozpng ../../gfx/qcms/libmozqcms.a -L/builds/slave/mozilla-1.9.2-linux64-debug/build/obj-firefox/dist/bin -lmozjs -L../../dist/bin -L../../dist/lib -lcrmf -lsmime3 -lssl3 -lnss3 -lnssutil3 ../../gfx/cairo/cairo/src/libmozcairo.a ../../gfx/cairo/libpixman/src/libmozlibpixman.a -L/usr/lib64 -lXrender -lfreetype -lfontconfig -L../../modules/zlib/src -lmozz -L/builds/slave/mozilla-1.9.2-linux64-debug/build/obj-firefox/dist/lib -lplds4 -lplc4 -lnspr4 -lpthread -ldl -L/lib64 -ldbus-glib-1 -ldbus-1 -lglib-2.0 -L/usr/lib64 -lX11 -lXext -L/lib64 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -L/lib64 -lgtk-x11-2.0 -latk-1.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lXt -lgthread-2.0 -lfreetype -lasound -ldl -lm -lrt /usr/bin/ld: ../../staticlib/libxpcom_core.a(nsXPComInit.o): relocation R_X86_64_PC32 against `base::Thread::Options::Options()' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value collect2: ld returned 1 exit status NEXT ERROR make[4]: *** [libxul.so] Error 1 make[4]: Leaving directory `/builds/slave/mozilla-1.9.2-linux64-debug/build/obj-firefox/toolkit/library' NEXT ERROR make[3]: *** [libs_tier_toolkit] Error 2 make[3]: Leaving directory `/builds/slave/mozilla-1.9.2-linux64-debug/build/obj-firefox' make[2]: *** [tier_toolkit] Error 2 make[2]: Leaving directory `/builds/slave/mozilla-1.9.2-linux64-debug/build/obj-firefox' make[1]: *** [default] Error 2 make[1]: Leaving directory `/builds/slave/mozilla-1.9.2-linux64-debug/build/obj-firefox' make: *** [build] Error 2 program finished with exit code 2 } This tinderbox column has been perma-red since mid-march at least (I didn't look further back than that), though at that point the failure is different (not sure when it changed to its current form): http://tinderbox.mozilla.org/showlog.cgi?log=Firefox3.6/1269889107.1269892893.22339.gz Linux x86-64 mozilla-1.9.2 leak test build on 2010/03/29 11:58:27 { Makefile:70: *** You need to build with --enable-libxul (the default, unless you specify --disable-libxul or --enable-shared or --enable-debug) to package a build.. Stop. make[2]: Leaving directory `/builds/slave/mozilla-1.9.2-linux64-debug/build/obj-firefox/browser/installer' make[1]: *** [default] Error 2 make[1]: Leaving directory `/builds/slave/mozilla-1.9.2-linux64-debug/build/obj-firefox/browser/installer' make: *** [package] Error 2 }
Reporter | ||
Comment 1•14 years ago
|
||
This changed here, with what looks like the Lorentz merge: http://hg.mozilla.org/releases/mozilla-1.9.2/pushloghtml?changeset=ec534329e186 Log before the merge: http://tinderbox.mozilla.org/showlog.cgi?log=Firefox3.6/1270624768.1270625113.14371.gz Log after the merge: http://tinderbox.mozilla.org/showlog.cgi?log=Firefox3.6/1270645963.1270648891.6821.gz
Comment 2•14 years ago
|
||
I remember us fixing this on trunk, but I don't remember what the fix was. Using gcc 4.3 instead of 4.2, perhaps?
Updated•14 years ago
|
Component: XPCOM → IPC
QA Contact: xpcom → ipc
Reporter | ||
Comment 3•14 years ago
|
||
FWIW, the earlier "You need to build with --enable-libxul" failure started happening between these two logs: http://tinderbox.mozilla.org/showlog.cgi?log=Firefox3.6/1268695249.1268699738.28837.gz Linux x86-64 mozilla-1.9.2 leak test build on 2010/03/15 16:20:49 http://tinderbox.mozilla.org/showlog.cgi?log=Firefox3.6/1269273037.1269276834.28731.gz Linux x86-64 mozilla-1.9.2 leak test build on 2010/03/22 08:50:37 (For whatever reason, there are no cycles in that column between those two logs.)
Reporter | ||
Comment 4•14 years ago
|
||
(In reply to comment #3) > FWIW, the earlier "You need to build with --enable-libxul" failure started > happening between these two logs: (... and before that (up to & including the log on 3/15), that column is green. It's red ever since then.)
I also seem to recall that upgrading gcc made this go away, but that was a long time ago.
Comment 6•14 years ago
|
||
FWIW, I haven't tried to build a current 1.9.2 yet, but when i tried to build the lorentz branch when the first lorentz beta was released, I didn't have this problem on x86-64, and I am building with gcc-4-4.
Comment 7•14 years ago
|
||
That being said, that could very well be a visibility related (gcc) bug.
Comment 8•14 years ago
|
||
and as I'm using gcc-4.4, configure gets me to use the system wrappers and gcc_hidden.h, instead of -fvisibility=hidden.
Comment 9•14 years ago
|
||
Here is a possible cause, in ipc/chromium/Makefile.in: # TODO: remove this hack when we switch to GCC 4.3! GCC 4.1 # instantiates template declarations in wrapped system headers with # the wrong visibility, which is causing the Linux tinderboxen to die in # std::string internals. VISIBILITY_FLAGS= libchromium_s.a is built without the -fvisibility=hidden flag, which means its symbols are not marked as hidden, while the symbols as referenced in nsXPComInit.o are marked as hidden (since thread.h doesn't set the visibility to default)
Comment 10•14 years ago
|
||
> libchromium_s.a is built without the -fvisibility=hidden flag, which means its
> symbols are not marked as hidden, while the symbols as referenced in
> nsXPComInit.o are marked as hidden (since thread.h doesn't set the visibility
> to default)
But even then, that shouldn't be a problem, as these symbols are local to each object file they are used in.
Anyways, even with gcc 4.1 or 4.2, I don't get this error with the same configure flags, so that could be a problem with ld.
Comment 11•12 years ago
|
||
Mass marking whiteboard:[orange] bugs WFM (to clean up TBPL bug suggestions) that: * Haven't changed in > 6months * Whose whiteboard contains none of the strings: {disabled,marked,random,fuzzy,todo,fails,failing,annotated,leave open,time-bomb} * Passed a (quick) manual inspection of bug summary/whiteboard to ensure they weren't a false positive. I've also gone through and searched for cases where the whiteboard wasn't labelled correctly after test disabling, by using attachment description & basic comment searches. However if the test for which this bug was about has in fact been disabled/annotated/..., please accept my apologies & reopen/mark the whiteboard appropriately so this doesn't get re-closed in the future (and please ping me via IRC or email so I can try to tweak the saved searches to avoid more edge cases). Sorry for the spam! Filter on: #FFA500
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WORKSFORME
Assignee | ||
Updated•12 years ago
|
Keywords: intermittent-failure
Assignee | ||
Updated•12 years ago
|
Whiteboard: [orange]
You need to log in
before you can comment on or make changes to this bug.
Description
•