Hi All,
This query was posted in v8-users earlier, but didn't attract any comments. 
So, posting it here hoping to get a reply. 

Does anyone know why the variable *debug_context_* is used? 
This is created when DevTools passes *{"id":7,"method":"Debugger.enable"}* 
to the back-end. This is the call-stack :

  *v8.dll!v8::internal::Debug::Load() Line 471 C++*
*  v8.dll!v8::internal::Debug::UpdateState() Line 2092 C++*
*  v8.dll!v8::debug::SetDebugDelegate(v8::Isolate * v8_isolate, 
v8::debug::DebugDelegate * delegate) Line 9641 C++*
*  v8.dll!v8_inspector::V8Debugger::enable() Line 185 C++*
*  v8.dll!v8_inspector::V8DebuggerAgentImpl::enableImpl() Line 210 C++*
*  v8.dll!v8_inspector::V8DebuggerAgentImpl::enable() Line 228 C++*
*  v8.dll!v8_inspector::protocol::Debugger::DispatcherImpl::enable(int 
callId, 
std::unique_ptr<v8_inspector::protocol::DictionaryValue,std::default_delete<v8_inspector::protocol::DictionaryValue>
 
> requestMessageObject, v8_inspector::protocol::ErrorSupport * errors) Line 
899 C++*
*  v8.dll!v8_inspector::protocol::Debugger::DispatcherImpl::dispatch(int 
callId, const v8_inspector::String16 & method, 
std::unique_ptr<v8_inspector::protocol::DictionaryValue,std::default_delete<v8_inspector::protocol::DictionaryValue>
 
> messageObject) Line 890 C++*
*  
v8.dll!v8_inspector::protocol::UberDispatcher::dispatch(std::unique_ptr<v8_inspector::protocol::Value,std::default_delete<v8_inspector::protocol::Value>
 
> parsedMessage) Line 813 C++*
*  
v8.dll!v8_inspector::V8InspectorSessionImpl::dispatchProtocolMessage(const 
v8_inspector::StringView & message) Line 343 C++*
*> SendDebugCommand::__l2::<lambda>(bool & flag) Line 192 C++*
*  [External Code] *
*  ProcessQueue() Line 149 C++*
*  [External Code] *

Already I have entered my local context scope when the json command is sent 
to v8_inspector. Most of the time, the context creation above is success 
and everything works fine. But sometimes, the stack overflow check for the 
isolate fails inside *v8.dll!v8::internal::Genesis::Genesis()*, which fails 
to update *m_debuggerContext *variable in 
*v8.dll!v8_inspector::V8Debugger::enable()* and crashes with c0000005 when 
it tries to enter into scope of a null context in function 
*v8.dll!v8_inspector::V8Debugger::compileDebuggerScript()* and makes my 
application crash.

This behaviour is sporadic. Sometimes the debugger works fine for hours 
before crashing, sometimes it works for 2-3 invocations and fails. Does 
anyone has any idea on this behaviour? Please reply if more details are 
needed. 

Thanks, 
Anoop R. S.

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to