Hi,

I'm seeing allocations like this in DMDV:

Reported(js): 2,765 block(s) in record 6 of 3468
 231,104 bytes (225,824 requested / 5,280 slop)
 1.42% of the heap (11.48% cumulative reported)
 Allocated
   at 0x402C2AF: malloc (vg_replace_malloc.c:270)
   by 0x7A9F520: js_malloc (Utility.h:153)
   by 0x7AA4012: JSRuntime::malloc_(unsigned long, JSContext*) (jscntxt.h:998)
   by 0x7AA4605: JSContext::malloc_(unsigned long) (jscntxt.h:1529)
   by 0x7BBAB01: js::NativeIterator::allocateIterator(JSContext*,
unsigned int, JS::AutoIdVector const&) (jsiter.cpp:434)
   by 0x7BBAF17: VectorToKeyIterator(JSContext*,
JS::Handle<JSObject*>, unsigned int, JS::AutoIdVector&, unsigned int,
unsigned int, JS::MutableHandle<JS::Val
ue>) (jsiter.cpp:490)
   by 0x7BBBE81: js::GetIterator(JSContext*, JS::Handle<JSObject*>,
unsigned int, JS::MutableHandle<JS::Value>) (jsiter.cpp:715)
   by 0x7C1DB6C: js::DirectProxyHandler::iterate(JSContext*,
JSObject*, unsigned int, JS::Value*) (jsproxy.cpp:633)
   by 0x7CD6326: js::DirectWrapper::iterate(JSContext*, JSObject*,
unsigned int, JS::Value*) (jswrapper.cpp:382)
   by 0x7CD7EF2: js::CrossCompartmentWrapper::iterate(JSContext*,
JSObject*, unsigned int, JS::Value*) (jswrapper.cpp:700)
   by 0x7C29AB7: js::Proxy::iterate(JSContext*, JS::Handle<JSObject*>,
unsigned int, JS::MutableHandle<JS::Value>) (jsproxy.cpp:2462)
   by 0x7BBBC29: js::GetIterator(JSContext*, JS::Handle<JSObject*>,
unsigned int, JS::MutableHandle<JS::Value>) (jsiter.cpp:693)
   by 0x7BBCD56: js::ValueToIterator(JSContext*, unsigned int,
JS::MutableHandle<JS::Value>) (jsiter.cpp:1012)
   by 0x7BACF45: js::Interpret(JSContext*, js::StackFrame*,
js::InterpMode) (jsinterp.cpp:1635)
   by 0x7BA8855: js::RunScript(JSContext*, JS::Handle<JSScript*>,
js::StackFrame*) (jsinterp.cpp:324)
   by 0x7BA8E65: js::InvokeKernel(JSContext*, JS::CallArgs,
js::MaybeConstruct) (jsinterp.cpp:379)
   by 0x7AE1CDF: js::Invoke(JSContext*, js::InvokeArgsGuard&,
js::MaybeConstruct) (jsinterp.h:109)
   by 0x7BA912E: js::Invoke(JSContext*, JS::Value const&, JS::Value
const&, unsigned int, JS::Value*, JS::Value*) (jsinterp.cpp:412)
   by 0x7C1CE03: js::IndirectProxyHandler::call(JSContext*, JSObject*,
unsigned int, JS::Value*) (jsproxy.cpp:456)
   by 0x7CD63C6: js::DirectWrapper::call(JSContext*, JSObject*,
unsigned int, JS::Value*) (jswrapper.cpp:390)

AFAICT we often (always?) have 1000s of iterators of proxy/wrapper
objects live at once.  Is this expected?

Nick
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to