You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Oct 15, 2020. It is now read-only.
In deps/chakrashim/src/jsrtisolateshim.cc there is a statement CHAKRA-TODO: This is not called after cross context work in chakra. Fix this else we will leak chakrashim object. JsContextBeforeCollectCallback is never called, so ContextShim, saved as void* data in JSContextRef is leaking.
The problem is in deps/chakrashim/src/inspector/inspected-context.cc.
As far as I understand from deps/chakrashim/core/lib/Common/Memory/Recycler.cppRecycler::SetObjectBeforeCollectCallback we only allow 1 callback per object.
We configure required callback in IsolateShim::NewContext after ContextShim creation and then, when inspector starts in src/node.ccbool StartInspector(Environment* env, const char* script_path, std::shared_ptr<DebugOptions> options) it needs to set a weak reference with callback for our context deps/chakrashim/src/inspector/inspected-context.ccm_context.SetWeak(this, &InspectedContext::weakCallback, v8::WeakCallbackType::kParameter);. As a result the required JsContextBeforeCollectCallback is being lost.
After compiling node-chakracore setting --without-inspector flag JsContextBeforeCollectCallback is being called duringJsDisposeRuntime.
I'm new to node-chakracore, so I don't know how to fix the issue properly. But this info could be useful for you guys.
The text was updated successfully, but these errors were encountered:
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
In deps/chakrashim/src/jsrtisolateshim.cc there is a statement CHAKRA-TODO: This is not called after cross context work in chakra. Fix this else we will leak chakrashim object.
JsContextBeforeCollectCallback
is never called, soContextShim
, saved asvoid*
data inJSContextRef
is leaking.The problem is in deps/chakrashim/src/inspector/inspected-context.cc.
As far as I understand from deps/chakrashim/core/lib/Common/Memory/Recycler.cpp
Recycler::SetObjectBeforeCollectCallback
we only allow 1 callback per object.We configure required callback in
IsolateShim::NewContext
afterContextShim
creation and then, when inspector starts in src/node.ccbool StartInspector(Environment* env, const char* script_path, std::shared_ptr<DebugOptions> options)
it needs to set a weak reference with callback for our context deps/chakrashim/src/inspector/inspected-context.ccm_context.SetWeak(this, &InspectedContext::weakCallback, v8::WeakCallbackType::kParameter);
. As a result the requiredJsContextBeforeCollectCallback
is being lost.After compiling node-chakracore setting
--without-inspector
flagJsContextBeforeCollectCallback
is being called duringJsDisposeRuntime
.I'm new to node-chakracore, so I don't know how to fix the issue properly. But this info could be useful for you guys.
The text was updated successfully, but these errors were encountered: