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

Reply via email to