Firefox 32 fails to build on Trusty x86 only

Bug #1348333 reported by Chris Coulson
28
This bug affects 5 people
Affects Status Importance Assigned to Milestone
firefox (Ubuntu)
Invalid
Critical
Unassigned

Bug Description

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@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@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@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@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@entry=0xf7a28f20, args=..., construct=construct@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@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@entry=0xf77a80b0 <js::CrossCompartmentWrapper::singleton>, cx=cx@entry=0xf7a28f20, proxy=proxy@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@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@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@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@entry=0xf7a28f20, script=script@entry=..., scopeChainArg=..., rval=rval@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@entry=..., script=script@entry=..., version=version@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@entry=0xf1bf2a60, aInfo=..., aComponentFile=0xedc04c80, aObject=..., aTableScript=..., aLocation=0xeda99a50,
    aPropagateExceptions=aPropagateExceptions@entry=true, aException=aException@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@entry=0xf1bf2a60, aLocation=..., targetObj=targetObj@entry=..., callercx=callercx@entry=0xf7a27f60, vp=vp@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@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@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@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@entry=0xf7a27f60, args=..., construct=construct@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@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@entry=0xf77a80b0 <js::CrossCompartmentWrapper::singleton>, cx=cx@entry=0xf7a27f60, proxy=proxy@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@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@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@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@entry=0xf7a27f60, args=..., construct=construct@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@entry=0xf7a27f60, thisv=..., fval=..., argc=3, argv=0xffffbd6c, rval=rval@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@entry=0xf7a27f60, obj=obj@entry=..., fval=fval@entry=..., args=..., rval=rval@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@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@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@entry=0xffffc080, argc=argc@entry=1, argv=argv@entry=0xffffd3b4, aAppData=aAppData@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

Changed in firefox (Ubuntu):
importance: Undecided → Critical
status: New → Triaged
H.yamada (catorena)
Changed in firefox (Ubuntu):
status: Triaged → New
Revision history for this message
dino99 (9d9) wrote :

That 32 version is outdated; trusty has 37 as an security update

Changed in firefox (Ubuntu):
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.