[Bug 1348333] [NEW] Firefox 32 fails to build on Trusty x86 only

Chris Coulson chris.coulson at canonical.com
Thu Jul 24 19:17:47 UTC 2014


Public bug reported:

Firefox 32 (the next release) currently fails to build on Trusty x86
because xpcshell crashes during compilation of the startup cache. I've
reproduced in a local build, and Firefox also crashes on startup when
ran from the build tree.

The trace looks like:

#0  JSRope::flattenInternal<(JSRope::UsingBarrier)1, unsigned char> (this=0xedd9f178, maybecx=0xf7a28f20)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/String.cpp:304
#1  0xf5b74b0a in flattenInternal<(JSRope::UsingBarrier)1> (maybecx=<optimized out>, this=<optimized out>)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/String.cpp:414
#2  JSRope::flatten (this=<optimized out>, maybecx=<optimized out>, maybecx at entry=0xf7a28f20) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/String.cpp:424
#3  0xf5ac324b in ensureLinear (cx=0xf7a28f20, this=<optimized out>) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/String.h:1282
#4  str_indexOf (cx=0xf7a28f20, argc=1, vp=0xffff9444) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/jsstr.cpp:1597
#5  0xf1c4e07c in ?? ()
#6  0xedaf9290 in ?? ()
#7  0xf1c598ca in ?? ()
#8  0xf58e8957 in EnterBaseline (cx=0xf1c4de31, cx at entry=0xf7a28f20, data=...) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/jit/BaselineJIT.cpp:124
#9  0xf58e8c9b in js::jit::EnterBaselineMethod (cx=0xf7a28f20, state=...) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/jit/BaselineJIT.cpp:155
#10 0xf5b37392 in Interpret (cx=0x26000002, cx at entry=0xf7a28f20, state=...) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/Interpreter.cpp:2604
#11 0xf5b37f46 in js::RunScript (cx=cx at entry=0xf7a28f20, state=...) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/Interpreter.cpp:402
#12 0xf5b38183 in js::Invoke (cx=cx at entry=0xf7a28f20, args=..., construct=construct at entry=js::NO_CONSTRUCT)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/Interpreter.cpp:474
#13 0xf5b3878f in js::Invoke (cx=cx at entry=0xf7a28f20, thisv=..., fval=..., argc=1, argv=0xef222228, rval=...)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/Interpreter.cpp:511
#14 0xf5a9145e in js::DirectProxyHandler::call (this=this at entry=0xf77a80b0 <js::CrossCompartmentWrapper::singleton>, cx=cx at entry=0xf7a28f20, proxy=proxy at entry=..., args=...)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/jsproxy.cpp:448
#15 0xf5ae4944 in js::CrossCompartmentWrapper::call (this=0xf77a80b0 <js::CrossCompartmentWrapper::singleton>, cx=0xf7a28f20, wrapper=..., args=...)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/jswrapper.cpp:464
#16 0xf5a96675 in call (args=..., proxy=..., cx=0xf7a28f20) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/jsproxy.cpp:2629
#17 js::proxy_Call (cx=cx at entry=0xf7a28f20, argc=1, vp=0xef222218) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/jsproxy.cpp:3016
#18 0xf5b383f1 in CallJSNative (args=..., native=0xf5a965c0 <js::proxy_Call(JSContext*, unsigned int, JS::Value*)>, cx=0xf7a28f20)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/jscntxtinlines.h:239
#19 js::Invoke (cx=0xf7a28f20, args=..., construct=js::NO_CONSTRUCT) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/Interpreter.cpp:448
#20 0xf5b2e2cb in Interpret (cx=0x26000002, cx at entry=0xf7a28f20, state=...) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/Interpreter.cpp:2566
#21 0xf5b37f46 in js::RunScript (cx=cx at entry=0xf7a28f20, state=...) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/Interpreter.cpp:402
#22 0xf5b394bb in ExecuteKernel (result=0x0, evalInFrame=..., type=js::EXECUTE_GLOBAL, thisv=<synthetic pointer>, scopeChainArg=..., script=..., cx=0xf7a28f20)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/Interpreter.cpp:610
#23 js::Execute (cx=cx at entry=0xf7a28f20, script=script at entry=..., scopeChainArg=..., rval=rval at entry=0x0)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/Interpreter.cpp:647
#24 0xf59f6404 in ExecuteScript (cx=0xf7a28f20, obj=..., scriptArg=..., rval=0x0) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/jsapi.cpp:4936
#25 0xf59ffdbd in JS_ExecuteScriptVersion (cx=<optimized out>, obj=..., obj at entry=..., script=script at entry=..., version=version at entry=JSVERSION_ECMA_5)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/jsapi.cpp:4975
#26 0xf4b0598a in mozJSComponentLoader::ObjectForLocation (this=this at entry=0xf1bf2a60, aInfo=..., aComponentFile=0xedc04c80, aObject=..., aTableScript=..., aLocation=0xeda99a50, 
    aPropagateExceptions=aPropagateExceptions at entry=true, aException=aException at entry=...)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/xpconnect/loader/mozJSComponentLoader.cpp:1045
#27 0xf4b065ae in mozJSComponentLoader::ImportInto (this=this at entry=0xf1bf2a60, aLocation=..., targetObj=targetObj at entry=..., callercx=callercx at entry=0xf7a27f60, vp=vp at entry=...)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/xpconnect/loader/mozJSComponentLoader.cpp:1267
#28 0xf4b06e9c in mozJSComponentLoader::Import (this=0xf1bf2a60, registryLocation=..., targetValArg=..., cx=0xf7a27f60, optionalArgc=1 '\001', retval=...)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/xpconnect/loader/mozJSComponentLoader.cpp:1154
#29 0xf4aaa756 in nsXPCComponents_Utils::Import (this=0xedebe750, registryLocation=..., targetObj=..., cx=0xf7a27f60, optionalArgc=1 '\001', retval=...)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/xpconnect/src/XPCComponents.cpp:2725
#30 0xf407ab1c in NS_InvokeByIndex () from /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/obj-i686-linux-gnu/dist/bin/libxul.so
#31 0xf4ae931a in Invoke (this=0xffffa888) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/xpconnect/src/XPCWrappedNative.cpp:2395
#32 Call (this=0xffffa888) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/xpconnect/src/XPCWrappedNative.cpp:1736
#33 XPCWrappedNative::CallMethod (ccx=..., mode=mode at entry=XPCWrappedNative::CALL_METHOD)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/xpconnect/src/XPCWrappedNative.cpp:1703
#34 0xf4aee8b1 in XPC_WN_CallMethod (cx=0xf7a27f60, argc=2, vp=0xef222178) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/xpconnect/src/XPCWrappedNativeJSOps.cpp:1272
#35 0xf5b382c6 in CallJSNative (args=..., native=0xf4aee6b3 <XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*)>, cx=0xf7a27f60)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/jscntxtinlines.h:239
#36 js::Invoke (cx=0xf7a27f60, args=..., construct=js::NO_CONSTRUCT) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/Interpreter.cpp:455
#37 0xf5b2e2cb in Interpret (cx=0x26000002, cx at entry=0xf7a27f60, state=...) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/Interpreter.cpp:2566
#38 0xf5b37f46 in js::RunScript (cx=cx at entry=0xf7a27f60, state=...) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/Interpreter.cpp:402
#39 0xf5b38183 in js::Invoke (cx=cx at entry=0xf7a27f60, args=..., construct=construct at entry=js::NO_CONSTRUCT)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/Interpreter.cpp:474
#40 0xf5b3878f in js::Invoke (cx=cx at entry=0xf7a27f60, thisv=..., fval=..., argc=0, argv=0xef222060, rval=...)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/Interpreter.cpp:511
#41 0xf5a9145e in js::DirectProxyHandler::call (this=this at entry=0xf77a80b0 <js::CrossCompartmentWrapper::singleton>, cx=cx at entry=0xf7a27f60, proxy=proxy at entry=..., args=...)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/jsproxy.cpp:448
#42 0xf5ae4944 in js::CrossCompartmentWrapper::call (this=0xf77a80b0 <js::CrossCompartmentWrapper::singleton>, cx=0xf7a27f60, wrapper=..., args=...)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/jswrapper.cpp:464
#43 0xf5a96675 in call (args=..., proxy=..., cx=0xf7a27f60) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/jsproxy.cpp:2629
#44 js::proxy_Call (cx=cx at entry=0xf7a27f60, argc=0, vp=0xef222050) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/jsproxy.cpp:3016
#45 0xf5b383f1 in CallJSNative (args=..., native=0xf5a965c0 <js::proxy_Call(JSContext*, unsigned int, JS::Value*)>, cx=0xf7a27f60)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/jscntxtinlines.h:239
#46 js::Invoke (cx=0xf7a27f60, args=..., construct=js::NO_CONSTRUCT) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/Interpreter.cpp:448
#47 0xf5b2e2cb in Interpret (cx=0x26000002, cx at entry=0xf7a27f60, state=...) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/Interpreter.cpp:2566
#48 0xf5b37f46 in js::RunScript (cx=cx at entry=0xf7a27f60, state=...) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/Interpreter.cpp:402
#49 0xf5b38183 in js::Invoke (cx=cx at entry=0xf7a27f60, args=..., construct=construct at entry=js::NO_CONSTRUCT)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/Interpreter.cpp:474
#50 0xf5b3878f in js::Invoke (cx=cx at entry=0xf7a27f60, thisv=..., fval=..., argc=3, argv=0xffffbd6c, rval=rval at entry=...)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/vm/Interpreter.cpp:511
#51 0xf5a00420 in JS_CallFunctionValue (cx=cx at entry=0xf7a27f60, obj=obj at entry=..., fval=fval at entry=..., args=..., rval=rval at entry=...)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/src/jsapi.cpp:5203
#52 0xf4ae40cd in nsXPCWrappedJSClass::CallMethod (this=0xee81a9d0, wrapper=0xedc378c0, methodIndex=3, info_=0xf115a998, nativeParams=0xffffbe30)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/xpconnect/src/XPCWrappedJSClass.cpp:1259
#53 0xf4ae0166 in nsXPCWrappedJS::CallMethod (this=0xedc378c0, methodIndex=3, info=0xf115a998, params=0xffffbe30)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/js/xpconnect/src/XPCWrappedJS.cpp:517
#54 0xf407b5bb in PrepareAndDispatch (methodIndex=<optimized out>, self=0xedebe900, args=<optimized out>)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/xpcom/reflect/xptcall/src/md/unix/xptcstubs_gcc_x86_unix.cpp:60
#55 0xf5477a66 in nsXREDirProvider::DoStartup (this=this at entry=0xffffc0a0) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/toolkit/xre/nsXREDirProvider.cpp:808
#56 0xf54717f2 in XREMain::XRE_mainRun (this=this at entry=0xffffc080) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/toolkit/xre/nsAppRunner.cpp:3898
#57 0xf5471e92 in XREMain::XRE_main (this=this at entry=0xffffc080, argc=argc at entry=1, argv=argv at entry=0xffffd3b4, aAppData=aAppData at entry=0xffffc1e0)
    at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/toolkit/xre/nsAppRunner.cpp:4083
#58 0xf54720d7 in XRE_main (argc=1, argv=0xffffd3b4, aAppData=0xffffc1e0, aFlags=0) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/toolkit/xre/nsAppRunner.cpp:4297
#59 0x56558973 in do_main (argc=1, argv=0xffffd3b4, xreDirectory=0xf7a72480) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/browser/app/nsBrowserApp.cpp:282
#60 0x56557fc9 in main (argc=1, argv=0xffffd3b4) at /home/chr1s/src/firefox/build-area/firefox-32.0~b1+build1/browser/app/nsBrowserApp.cpp:643

This works on Precise (GCC 4.6). Mozilla builds also work correctly (GCC
4.6 too). It's only our build with GCC4.8 on x86 that fails (x86-64
works fine too)

Fails also with gcc-4.8 4.8.3-5ubuntu0.2  from https://launchpad.net
/~ubuntu-toolchain-r/+archive/ubuntu/ppa

** Affects: firefox (Ubuntu)
     Importance: Critical
         Status: Triaged

** Changed in: firefox (Ubuntu)
   Importance: Undecided => Critical

** Changed in: firefox (Ubuntu)
       Status: New => Triaged

-- 
You received this bug notification because you are a member of Mozilla
Bugs, which is subscribed to firefox in Ubuntu.
https://bugs.launchpad.net/bugs/1348333

Title:
  Firefox 32 fails to build on Trusty x86 only

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1348333/+subscriptions




More information about the Ubuntu-mozillateam-bugs mailing list