Running with --track-origins=yes should help with debugging this problem. -Gary
> > Below are some lines from memcheck session log of running TB under it. > > The number of such usages recorded in one session log is > > 68 Memcheck:Cond > > Close to 60 of them are related to JavaScript interpreter. > This seems bad. > > I see more direct number conversion problems (ToNumber(), and > CompartmentChecker() issues today. These are more pronouncd in today's > code than, say, a couple of month ago.) > > ==7839== Conditional jump or move depends on uninitialised value(s) > ==7839== at 0xB5AA36F: JS::Value::setNumber(double) (FloatingPoint.h:237) > ==7839== by 0xB624F8F: js::DivOperation(JSContext*, JS::Handle<JSScript*>, > unsigned char*, JS::Handle<JS::Value>, > JS::Handle<JS::Value>, JS::Value*) (jsinterpinlines.h:630) > ==7839== by 0xB63363A: js::Interpret(JSContext*, js::StackFrame*, > js::InterpMode) (jsinterp.cpp:2032) > > > ==7839== Conditional jump or move depends on uninitialised value(s) > ==7839== at 0xB5AA37D: JS::Value::setNumber(double) (jsval.h:351) > ==7839== by 0xB624F8F: js::DivOperation(JSContext*, JS::Handle<JSScript*>, > unsigned char*, JS::Handle<JS::Value>, > JS::Handle<JS::Value>, JS::Value*) (jsinterpinlines.h:630) > ==7839== by 0xB63363A: js::Interpret(JSContext*, js::StackFrame*, > js::InterpMode) (jsinterp.cpp:2032) > > ==7839== Conditional jump or move depends on uninitialised value(s) > ==7839== at 0xB624FB5: js::DivOperation(JSContext*, JS::Handle<JSScript*>, > unsigned char*, JS::Handle<JS::Value>, > JS::Handle<JS::Value>, JS::Value*) (jsinterpinlines.h:632) > ==7839== by 0xB63363A: js::Interpret(JSContext*, js::StackFrame*, > js::InterpMode) (jsinterp.cpp:2032) > > > ==7839== Conditional jump or move depends on uninitialised value(s) > ==7839== at 0xB5424B9: js::CompartmentChecker::check(JS::Value const&) > (jscntxtinlines.h:241) > ==7839== by 0xB62D8E3: void > js::assertSameCompartmentDebugOnly<JS::Value>(JSContext*, JS::Value const&) > (jscntxtinlines.h:311) > ==7839== by 0xB632210: js::Interpret(JSContext*, js::StackFrame*, > js::InterpMode) (jsinterp.cpp:2754) > ==7839== by 0xB6380C8: js::RunScript(JSContext*, JS::Handle<JSScript*>, > js::StackFrame*) (jsinterp.cpp:348) > > ==7839== Conditional jump or move depends on uninitialised value(s) > ==7839== at 0xB633C84: js::Interpret(JSContext*, js::StackFrame*, > js::InterpMode) (jsinterpinlines.h:967) > ==7839== by 0xB6380C8: js::RunScript(JSContext*, JS::Handle<JSScript*>, > js::StackFrame*) (jsinterp.cpp:348) > ==7839== by 0xB638EEB: js::InvokeKernel(JSContext*, JS::CallArgs, > js::MaybeConstruct) (jsinterp.cpp:406) > ==7839== by 0xB639883: js::Invoke(JSContext*, JS::Value const&, JS::Value > const&, unsigned int, JS::Value*, > JS::Value*) (jsinterp.h:112) > ==7839== by 0xB5505BB: JS_CallFunctionValue(JSContext*, JSObject*, > JS::Value, unsigned int, JS::Value*, JS::Value*) > (jsapi.cpp:5802) > > ==7839== Conditional jump or move depends on uninitialised value(s) > ==7839== at 0xB625785: js::ToPrimitive(JSContext*, JSType, JS::Value*) > (jsobjinlines.h:1307) > ==7839== by 0xB633C9E: js::Interpret(JSContext*, js::StackFrame*, > js::InterpMode) (jsinterpinlines.h:967) > ==7839== by 0xB6380C8: js::RunScript(JSContext*, JS::Handle<JSScript*>, > js::StackFrame*) (jsinterp.cpp:348) > ==7839== by 0xB638EEB: js::InvokeKernel(JSContext*, JS::CallArgs, > js::MaybeConstruct) (jsinterp.cpp:406) > > ==7839== Conditional jump or move depends on uninitialised value(s) > ==7839== at 0xB5424B9: js::CompartmentChecker::check(JS::Value const&) > (jscntxtinlines.h:241) > ==7839== by 0xB556A99: JS::AssertArgumentsAreSane(JSContext*, JS::Value > const&) (jscntxtinlines.h:302) > ==7839== by 0xAC2D8EF: JS::ToNumber(JSContext*, JS::Value const&, double*) > (jsapi.h:2742) > ==7839== by 0xB634DA9: js::Interpret(JSContext*, js::StackFrame*, > js::InterpMode) (jsinterpinlines.h:967) > ==7839== by 0xB6380C8: js::RunScript(JSContext*, JS::Handle<JSScript*>, > js::StackFrame*) (jsinterp.cpp:348) > > ==7839== Conditional jump or move depends on uninitialised value(s) > ==7839== at 0x959F5AB: JS::Value::toNumber() const (jsval.h:380) > ==7839== by 0xAC2D99E: JS::ToNumber(JSContext*, JS::Value const&, double*) > (jsapi.h:2749) > ==7839== by 0xB634DA9: js::Interpret(JSContext*, js::StackFrame*, > js::InterpMode) (jsinterpinlines.h:967) > ==7839== by 0xB6380C8: js::RunScript(JSContext*, JS::Handle<JSScript*>, > js::StackFrame*) (jsinterp.cpp:348) > > ==21147== Conditional jump or move depends on uninitialised value(s) > ==21147== at 0xB5424BE: js::CompartmentChecker::check(JS::Value const&) > (jscntxtinlines.h:243) > ==21147== by 0xB62B587: void > js::assertSameCompartment<JS::MutableHandle<JS::Value> >(JSContext*, > JS::MutableHandle<JS::Value> const&) (jscntxtinlines.h:302) > ==21147== by 0xB62B620: js::CallJSNative(JSContext*, int (*)(JSContext*, > unsigned int, JS::Value*), JS::CallArgs > const&) (jscntxtinlines.h:375) > > Above are just random samples. > > TIA > > _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform