Closed Bug 1000530 Opened 12 years ago Closed 2 years ago

Crash on startup on debug builds while gecko profiling is enabled for all threads

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: vikstrous, Unassigned)

Details

Steps to reproduce: 1. Build firefox dev build from master 2. Install profiler addon and set it to profile all threads 3. Start firefox 4. Cash! This is the stack trace: #0 0x00007fbd9ccf775d in nanosleep () from /usr/lib/libc.so.6 #1 0x00007fbd9ccf75f4 in sleep () from /usr/lib/libc.so.6 #2 0x00007fbd98962a53 in ah_crap_handler (signum=11) at /home/v/work/gecko-dev/toolkit/xre/nsSigHandlers.cpp:88 #3 0x00007fbd9896dcaf in nsProfileLock::FatalSignalHandler (signo=11, info=0x7fffcc0bd9f0, context=0x7fffcc0bd8c0) at /home/v/work/gecko-dev/profile/dirserviceprovider/src/nsProfileLock.cpp:185 #4 0x00007fbd99027fdf in AsmJSFaultHandler (signum=11, info=0x7fffcc0bd9f0, context=0x7fffcc0bd8c0) at /home/v/work/gecko-dev/js/src/jit/AsmJSSignalHandlers.cpp:970 #5 <signal handler called> #6 0x00007fbd991fb19a in JS_AbortIfWrongThread (rt=rt@entry=0x7fbd841f1000) at /home/v/work/gecko-dev/js/src/jsapi.cpp:6033 #7 0x00007fbd98fd1938 in js::Nursery::collect (this=this@entry=0x7fbd841f1d98, rt=rt@entry=0x7fbd841f1000, reason=JS::gcreason::EVICT_NURSERY, pretenureTypes=pretenureTypes@entry=0x0) at /home/v/work/gecko-dev/js/src/gc/Nursery.cpp:687 #8 0x00007fbd9925adc8 in js::MinorGC (rt=0x7fbd841f1000, reason=<optimized out>) at /home/v/work/gecko-dev/js/src/jsgc.cpp:5058 #9 0x00007fbd9925b916 in js::ReleaseAllJITCode (fop=0x7fbd841f2270) at /home/v/work/gecko-dev/js/src/jsgc.cpp:5319 #10 0x00007fbd99385fbe in enable (enabled=enabled@entry=true, this=0x7fbd841f20b0) at /home/v/work/gecko-dev/js/src/vm/SPSProfiler.cpp:88 #11 js::EnableRuntimeProfilingStack (rt=0x7fbd841f1000, enabled=enabled@entry=true) at /home/v/work/gecko-dev/js/src/vm/SPSProfiler.cpp:348 #12 0x00007fbd988d6e3e in enableJSSampling (this=0x7fbd841dc000) at /home/v/work/gecko-dev/tools/profiler/PseudoStack.h:419 #13 mozilla_sampler_start (aProfileEntries=<optimized out>, aInterval=<optimized out>, aFeatures=<optimized out>, aFeatureCount=<optimized out>, aThreadNameFilters=<optimized out>, aFilterCount=<optimized out>) at /home/v/work/gecko-dev/tools/profiler/platform.cpp:671 #14 0x00007fbd988d6ebf in profiler_start (aFilterCount=<optimized out>, aThreadNameFilters=<optimized out>, aFeatureCount=<optimized out>, aFeatures=<optimized out>, aInterval=<optimized out>, aProfileEntries=<optimized out>) at /home/v/work/gecko-dev/tools/profiler/GeckoProfilerImpl.h:71 #15 nsProfiler::StartProfiler (this=<optimized out>, aEntries=<optimized out>, aInterval=<optimized out>, aFeatures=<optimized out>, aFeatureCount=<optimized out>, aThreadNameFilters=<optimized out>, aFilterCount=<optimized out>) at /home/v/work/gecko-dev/tools/profiler/nsProfiler.cpp:83 #16 0x00007fbd9715a330 in NS_InvokeByIndex (that=<optimized out>, methodIndex=<optimized out>, paramCount=<optimized out>, params=<optimized out>) at /home/v/work/gecko-dev/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_x86_64_unix.cpp:164 #17 0x00007fbd97d8c28c in Invoke (this=0x7fffcc0be410) at /home/v/work/gecko-dev/js/xpconnect/src/XPCWrappedNative.cpp:2392 #18 CallMethodHelper::Call (this=this@entry=0x7fffcc0be410) at /home/v/work/gecko-dev/js/xpconnect/src/XPCWrappedNative.cpp:1733 #19 0x00007fbd97d7dc6e in XPCWrappedNative::CallMethod (ccx=..., mode=<optimized out>) at /home/v/work/gecko-dev/js/xpconnect/src/XPCWrappedNative.cpp:1700 #20 0x00007fbd97d80534 in XPC_WN_CallMethod (cx=0x7fbd8a6c7e20, argc=<optimized out>, vp=<optimized out>) at /home/v/work/gecko-dev/js/xpconnect/src/XPCWrappedNativeJSOps.cpp:1285 #21 0x00007fbd993c0ac2 in js::CallJSNative (cx=0x7fbd8a6c7e20, native=0x7fbd97d8035c <XPC_WN_CallMethod(JSContext*, unsigned int, JS::Value*)>, args=...) at /home/v/work/gecko-dev/js/src/jscntxtinlines.h:239 #22 0x00007fbd993b76ab in js::Invoke (cx=cx@entry=0x7fbd8a6c7e20, args=..., construct=construct@entry=js::NO_CONSTRUCT) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:474 #23 0x00007fbd993b121b in Interpret (cx=cx@entry=0x7fbd8a6c7e20, state=...) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:2621 #24 0x00007fbd993b7488 in js::RunScript (cx=cx@entry=0x7fbd8a6c7e20, state=...) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:421 #25 0x00007fbd993b77eb in js::Invoke (cx=cx@entry=0x7fbd8a6c7e20, args=..., construct=construct@entry=js::NO_CONSTRUCT) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:493 #26 0x00007fbd9926b8f0 in js_fun_call (cx=0x7fbd8a6c7e20, argc=<optimized out>, vp=0x7fbd8670c690) at /home/v/work/gecko-dev/js/src/jsfun.cpp:949 #27 0x00007fbd993c0ac2 in js::CallJSNative (cx=0x7fbd8a6c7e20, native=0x7fbd9926b740 <js_fun_call(JSContext*, unsigned int, JS::Value*)>, args=...) at /home/v/work/gecko-dev/js/src/jscntxtinlines.h:239 #28 0x00007fbd993b76ab in js::Invoke (cx=cx@entry=0x7fbd8a6c7e20, args=..., construct=construct@entry=js::NO_CONSTRUCT) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:474 #29 0x00007fbd993b121b in Interpret (cx=cx@entry=0x7fbd8a6c7e20, state=...) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:2621 #30 0x00007fbd993b7488 in js::RunScript (cx=cx@entry=0x7fbd8a6c7e20, state=...) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:421 #31 0x00007fbd993b77eb in js::Invoke (cx=cx@entry=0x7fbd8a6c7e20, args=..., construct=construct@entry=js::NO_CONSTRUCT) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:493 #32 0x00007fbd9926b8f0 in js_fun_call (cx=0x7fbd8a6c7e20, argc=<optimized out>, vp=0x7fbd8670c558) at /home/v/work/gecko-dev/js/src/jsfun.cpp:949 #33 0x00007fbd993c0ac2 in js::CallJSNative (cx=0x7fbd8a6c7e20, native=0x7fbd9926b740 <js_fun_call(JSContext*, unsigned int, JS::Value*)>, args=...) at /home/v/work/gecko-dev/js/src/jscntxtinlines.h:239 #34 0x00007fbd993b76ab in js::Invoke (cx=cx@entry=0x7fbd8a6c7e20, args=..., construct=construct@entry=js::NO_CONSTRUCT) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:474 #35 0x00007fbd993b121b in Interpret (cx=cx@entry=0x7fbd8a6c7e20, state=...) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:2621 #36 0x00007fbd993b7488 in js::RunScript (cx=cx@entry=0x7fbd8a6c7e20, state=...) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:421 #37 0x00007fbd993b77eb in js::Invoke (cx=cx@entry=0x7fbd8a6c7e20, args=..., construct=construct@entry=js::NO_CONSTRUCT) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:493 #38 0x00007fbd9926b8f0 in js_fun_call (cx=0x7fbd8a6c7e20, argc=<optimized out>, vp=0x7fbd8670c410) at /home/v/work/gecko-dev/js/src/jsfun.cpp:949 #39 0x00007fbd993c0ac2 in js::CallJSNative (cx=0x7fbd8a6c7e20, native=0x7fbd9926b740 <js_fun_call(JSContext*, unsigned int, JS::Value*)>, args=...) at /home/v/work/gecko-dev/js/src/jscntxtinlines.h:239 #40 0x00007fbd993b76ab in js::Invoke (cx=cx@entry=0x7fbd8a6c7e20, args=..., construct=construct@entry=js::NO_CONSTRUCT) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:474 #41 0x00007fbd993b121b in Interpret (cx=cx@entry=0x7fbd8a6c7e20, state=...) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:2621 #42 0x00007fbd993b7488 in js::RunScript (cx=cx@entry=0x7fbd8a6c7e20, state=...) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:421 #43 0x00007fbd993b77eb in js::Invoke (cx=cx@entry=0x7fbd8a6c7e20, args=..., construct=construct@entry=js::NO_CONSTRUCT) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:493 #44 0x00007fbd993b7d0d in js::Invoke (cx=cx@entry=0x7fbd8a6c7e20, thisv=..., fval=..., argc=<optimized out>, argv=0x7fbd8670c0b0, rval= $jsval((JSObject *) 0x7fbd76dd5080 [object Function "exports.main"])) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:530 #45 0x00007fbd9926ba74 in js::DirectProxyHandler::call ( this=this@entry=0x7fbd9b6c6830 <js::CrossCompartmentWrapper::singleton>, cx=cx@entry=0x7fbd8a6c7e20, proxy=..., proxy@entry=(JSObject * const) 0x7fbd76dd5340 [object Proxy], args=...) at /home/v/work/gecko-dev/js/src/jsproxy.cpp:465 #46 0x00007fbd9933e64b in js::CrossCompartmentWrapper::call ( this=0x7fbd9b6c6830 <js::CrossCompartmentWrapper::singleton>, cx=0x7fbd8a6c7e20, wrapper=..., args=...) at /home/v/work/gecko-dev/js/src/jswrapper.cpp:465 #47 0x00007fbd992bacf2 in js::Proxy::call (cx=cx@entry=0x7fbd8a6c7e20, proxy=proxy@entry=(JSObject * const) 0x7fbd76dd5340 [object Proxy], args=...) at /home/v/work/gecko-dev/js/src/jsproxy.cpp:2686 #48 0x00007fbd992badbb in js::proxy_Call (cx=0x7fbd8a6c7e20, argc=<optimized out>, vp=<optimized out>) at /home/v/work/gecko-dev/js/src/jsproxy.cpp:3089 #49 0x00007fbd993c0ac2 in js::CallJSNative (cx=0x7fbd8a6c7e20, native=0x7fbd992bad50 <js::proxy_Call(JSContext*, unsigned int, JS::Value*)>, args=...) at /home/v/work/gecko-dev/js/src/jscntxtinlines.h:239 #50 0x00007fbd993b76ab in js::Invoke (cx=cx@entry=0x7fbd8a6c7e20, args=..., construct=construct@entry=js::NO_CONSTRUCT) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:474 #51 0x00007fbd993b121b in Interpret (cx=cx@entry=0x7fbd8a6c7e20, state=...) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:2621 #52 0x00007fbd993b7488 in js::RunScript (cx=cx@entry=0x7fbd8a6c7e20, state=...) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:421 #53 0x00007fbd993b77eb in js::Invoke (cx=cx@entry=0x7fbd8a6c7e20, args=..., construct=construct@entry=js::NO_CONSTRUCT) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:493 #54 0x00007fbd993b7d0d in js::Invoke (cx=cx@entry=0x7fbd8a6c7e20, thisv=..., fval=..., argc=<optimized out>, argv=0x7fbd89cf6f58, rval=$jsval((JSObject *) 0x7fbd7850ad00 [object Function "startup/<"])) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:530 #55 0x00007fbd9926ba74 in js::DirectProxyHandler::call ( this=this@entry=0x7fbd9b6c6830 <js::CrossCompartmentWrapper::singleton>, cx=cx@entry=0x7fbd8a6c7e20, proxy=..., proxy@entry=(JSObject * const) 0x7fbd7850ad40 [object Proxy], args=...) at /home/v/work/gecko-dev/js/src/jsproxy.cpp:465 #56 0x00007fbd9933e64b in js::CrossCompartmentWrapper::call ( this=0x7fbd9b6c6830 <js::CrossCompartmentWrapper::singleton>, cx=0x7fbd8a6c7e20, wrapper=..., args=...) at /home/v/work/gecko-dev/js/src/jswrapper.cpp:465 #57 0x00007fbd992bacf2 in js::Proxy::call (cx=cx@entry=0x7fbd8a6c7e20, proxy=proxy@entry=(JSObject * const) 0x7fbd7850ad40 [object Proxy], args=...) at /home/v/work/gecko-dev/js/src/jsproxy.cpp:2686 #58 0x00007fbd992badbb in js::proxy_Call (cx=0x7fbd8a6c7e20, argc=<optimized out>, vp=<optimized out>) at /home/v/work/gecko-dev/js/src/jsproxy.cpp:3089 #59 0x00007fbd993c0ac2 in js::CallJSNative (cx=0x7fbd8a6c7e20, native=0x7fbd992bad50 <js::proxy_Call(JSContext*, unsigned int, JS::Value*)>, args=...) at /home/v/work/gecko-dev/js/src/jscntxtinlines.h:239 #60 0x00007fbd993b76ab in js::Invoke (cx=cx@entry=0x7fbd8a6c7e20, args=..., construct=construct@entry=js::NO_CONSTRUCT) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:474 #61 0x00007fbd993b121b in Interpret (cx=cx@entry=0x7fbd8a6c7e20, state=...) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:2621 #62 0x00007fbd993b7488 in js::RunScript (cx=cx@entry=0x7fbd8a6c7e20, state=...) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:421 #63 0x00007fbd993b77eb in js::Invoke (cx=cx@entry=0x7fbd8a6c7e20, args=..., construct=construct@entry=js::NO_CONSTRUCT) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:493 #64 0x00007fbd993b7d0d in js::Invoke (cx=cx@entry=0x7fbd8a6c7e20, thisv=..., fval=..., argc=argc@entry=2, argv=argv@entry=0x7fffcc0c5238, rval=JSVAL_VOID) at /home/v/work/gecko-dev/js/src/vm/Interpreter.cpp:530 #65 0x00007fbd9906df09 in js::jit::DoCallFallback (cx=0x7fbd8a6c7e20, frame=0x7fffcc0c52a0, stub=0x7fbd777be958, argc=2, vp=0x7fffcc0c5228, res=JSVAL_VOID) at /home/v/work/gecko-dev/js/src/jit/BaselineIC.cpp:8138 #66 0x00007fbd9de27fa3 in ?? () #67 0x00007fbd9b4d4690 in vtable for js::jit::ICToBool_NullUndefined::Compiler () from /home/v/work/gecko-dev/obj-x86_64-unknown-linux-gnu/dist/bin/libxul.so #68 0x00007fffcc0c51e0 in ?? () #69 0xfff9000000000000 in ?? () #70 0x00007fbd9b6ac9a0 in js::jit::CreateThisInfoBaseline () from /home/v/work/gecko-dev/obj-x86_64-unknown-linux-gnu/dist/bin/libxul.so #71 0x00007fbd88234d60 in ?? () #72 0x00007fbd8731dbe7 in ?? () #73 0x0000000000000502 in ?? () #74 0x00007fffcc0c52a0 in ?? () #75 0x00007fbd777be958 in ?? () #76 0x0000000000000002 in ?? () #77 0x00007fffcc0c5228 in ?? () #78 0xfffbffbd785789c0 in ?? () #79 0xfffbffbd78156b00 in ?? () #80 0xfffbffbd785bd580 in ?? () #81 0xfffbffbd785bd5c0 in ?? () #82 0x00007fffcc0c52e0 in ?? () #83 0x00007fbd777be958 in ?? () #84 0x00007fbd8691c7b7 in ?? () #85 0x0000000000000801 in ?? () #86 0xfffbffbd785bd5c0 in ?? () #87 0xfffbffbd785bd580 in ?? () #88 0xfffbffbd78156b00 in ?? () #89 0xfffbffbd785789c0 in ?? () #90 0xfffbffbd785bd5c0 in ?? () #91 0xfffbffbd785bd580 in ?? () #92 0xfff9000000000000 in ?? () #93 0x0000000000000000 in ?? ()
Severity: normal → S3

The AsmJSFaultHandler has been removed.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.