Status: Untriaged Owner: yu...@chromium.org CC: pfeld...@chromium.org Labels: Type-Bug Pri-2 OS-All Area-DevTools
New issue 27252 by yu...@chromium.org: DevTools renderer crashes in debug mode on attempt to inspect devtools http://code.google.com/p/chromium/issues/detail?id=27252 What steps will reproduce the problem? 1. Open the attached file. 2. Open first DevTools window. 3. Move mose over 'Div Text' to make script pause. 4. Open DevTools window for the first DevTools window, open debugger_agent.js and set a breakpoint in devtools.DebuggerAgent.prototype.resolveChildren in requestLookup_ callback. 5. Now return to the first DevTools window and expand 'handler' variable. 6. When execution is stopped on the breakpoint in the second DevTools window click in console command line. What is the expected output? You can type an expression. What do you see instead? Both DevTools renderers crash. The stack trace: > chrome.dll!WebCore::DOMTimer::resume() Line 192 + 0x27 bytes C++ chrome.dll!WebCore::ScriptExecutionContext::resumeActiveDOMObjects() Line 150 + 0x1c bytes C++ chrome.dll!WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer() Line 64 + 0x12 bytes C++ chrome.dll!WebCore::PageGroupLoadDeferrer::`scalar deleting destructor'() + 0x16 bytes C++ chrome.dll!WTF::deleteAllPairSeconds<WebCore::PageGroupLoadDeferrer *,WTF::HashMap<WebKit::WebViewImpl *,WebCore::PageGroupLoadDeferrer *,WTF::PtrHash<WebKit::WebViewImpl *>,WTF::HashTraits<WebKit::WebViewImpl *>,WTF::HashTraits<WebCore::PageGroupLoadDeferrer *> > const >(const WTF::HashMap<WebKit::WebViewImpl *,WebCore::PageGroupLoadDeferrer *,WTF::PtrHash<WebKit::WebViewImpl *>,WTF::HashTraits<WebKit::WebViewImpl *>,WTF::HashTraits<WebCore::PageGroupLoadDeferrer *> > & collection={...}) Line 278 + 0x24 bytes C++ chrome.dll!WTF::deleteAllValues<WebKit::WebViewImpl *,WebCore::PageGroupLoadDeferrer *,WTF::PtrHash<WebKit::WebViewImpl *>,WTF::HashTraits<WebKit::WebViewImpl *>,WTF::HashTraits<WebCore::PageGroupLoadDeferrer *> >(const WTF::HashMap<WebKit::WebViewImpl *,WebCore::PageGroupLoadDeferrer *,WTF::PtrHash<WebKit::WebViewImpl *>,WTF::HashTraits<WebKit::WebViewImpl *>,WTF::HashTraits<WebCore::PageGroupLoadDeferrer *> > & collection={...}) Line 284 + 0x9 bytes C++ chrome.dll!DebuggerAgentManager::V8DebugHostDispatchHandler() Line 98 + 0xa bytes C++ chrome.dll!v8::internal::Debugger::NotifyMessageHandler(v8::DebugEvent event=Break, v8::internal::Handle<v8::internal::JSObject> exec_state={...}, v8::internal::Handle<v8::internal::JSObject> event_data={...}, bool auto_continue=false) Line 2248 + 0x8 bytes C++ chrome.dll!v8::internal::Debugger::ProcessDebugEvent(v8::DebugEvent event=Break, v8::internal::Handle<v8::internal::JSObject> event_data={...}, bool auto_continue=false) Line 2113 + 0x24 bytes C++ chrome.dll!v8::internal::Debugger::OnDebugBreak(v8::internal::Handle<v8::in ternal::Object> break_points_hit={...}, bool auto_continue=false) Line 1943 + 0x1e bytes C++ chrome.dll!v8::internal::Debug::Break(v8::internal::Arguments args={...}) Line 877 + 0xe bytes C++ 00bc3b09() chrome.dll!v8::internal::Invoke(bool construct=false, v8::internal::Handle<v8::internal::JSFunction> func={...}, v8::internal::Handle<v8::internal::Object> receiver={...}, int argc=5, v8::internal::Object * * * args=0x0067e3a0, bool * has_pending_exception=0x0067e2f3) Line 103 + 0x19 bytes C++ chrome.dll!v8::internal::Execution::Call(v8::internal::Handle<v8::internal: :JSFunction> func={...}, v8::internal::Handle<v8::internal::Object> receiver={...}, int argc=5, v8::internal::Object * * * args=0x0067e3a0, bool * pending_exception=0x0067e2f3) Line 129 + 0x1f bytes C++ chrome.dll!v8::Function::Call(v8::Handle<v8::Object> recv={...}, int argc=5, v8::Handle<v8::Value> * argv=0x0067e3a0) Line 2384 + 0x1d bytes C++ chrome.dll!WebDevToolsFrontendImpl::ExecuteScript(const WTF::Vector<WebCore::String,0> & v={...}) Line 247 C++ chrome.dll!WebDevToolsFrontendImpl::dispatchMessageFromAgent(const WebKit::WebString & class_name={...}, const WebKit::WebString & method_name={...}, const WebKit::WebString & param1={...}, const WebKit::WebString & param2={...}, const WebKit::WebString & param3={...}) Line 217 C++ chrome.dll!DevToolsClient::OnRpcMessage(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & class_name="DebuggerAgentDelegate", const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & method_name="DebuggerOutput", const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & param1="{"seq":24,"request_seq":5,"type":"response","command":"lookup","suc cess":true,"body":{"7":{"handle":7,"type":"function","className":"Function" ,"constructorFunction":{"ref":53,"type":"function","name":"Function","infer redName":""},"protoObject":{"ref":54,"type":"function","name":"Empty","infe rredName":"","scriptId":12},"prototypeObject":{"ref":57,"type":"object","cl assName":"Object"},"name":"onm, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & param2="", const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & param3="") Line 97 + 0x72 bytes C++ chrome.dll!DispatchToMethod<DevToolsClient,void (__thiscall DevToolsClient::*)(std::basic_string<char,std::char_traits<char>,std::alloc ator<char> > const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &),std::basic_string<char,std::char_traits<char>,std::allocator<char> > ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > (DevToolsClient * obj=0x00a88540, void (const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &)* method=0x63b05b70, const Tuple5<std::basic_string<char,std::char_traits<char>,std::allocator<char> > ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > & arg={...}) Line 447 + 0x2a bytes C++ chrome.dll!IPC::MessageWithTuple<Tuple5<std::basic_string<char,std::char_tr aits<char>,std::allocator<char> > ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > ::Dispatch<DevToolsClient,void (__thiscall DevToolsClient::*)(std::basic_string<char,std::char_traits<char>,std::alloc ator<char> > const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &)>(const IPC::Message * msg=0x044da5a8, DevToolsClient * obj=0x00a88540, void (const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &)* func=0x63b05b70) Line 999 + 0x14 bytes C++ chrome.dll!DevToolsClient::OnMessageReceived(const IPC::Message & message={...}) Line 43 + 0x12 bytes C++ chrome.dll!RenderView::OnMessageReceived(const IPC::Message & message={...}) Line 406 + 0x2b bytes C++ chrome.dll!MessageRouter::RouteMessage(const IPC::Message & msg={...}) Line 41 + 0x13 bytes C++ chrome.dll!MessageRouter::OnMessageReceived(const IPC::Message & msg={...}) Line 32 + 0x13 bytes C++ chrome.dll!ChildThread::OnMessageReceived(const IPC::Message & msg={...}) Line 118 + 0x17 bytes C++ chrome.dll!IPC::ChannelProxy::Context::OnDispatchMessage(const IPC::Message & message={...}) Line 204 + 0x1b bytes C++ chrome.dll!DispatchToMethod<IPC::ChannelProxy::Context,void (__thiscall IPC::ChannelProxy::Context::*)(IPC::Message const &),IPC::Message>(IPC::ChannelProxy::Context * obj=0x00ab4180, void (const IPC::Message &)* method=0x6365d4c0, const Tuple1<IPC::Message> & arg={...}) Line 422 + 0xf bytes C++ chrome.dll!RunnableMethod<IPC::ChannelProxy::Context,void (__thiscall IPC::ChannelProxy::Context::*)(IPC::Message const &),Tuple1<IPC::Message> >::Run() Line 277 + 0x1e bytes C++ chrome.dll!MessageLoop::RunTask(Task * task=0x044da580) Line 320 + 0xf bytes C++ chrome.dll!MessageLoop::DeferOrRunPendingTask(const MessageLoop::PendingTask & pending_task={...}) Line 331 C++ chrome.dll!MessageLoop::DoWork() Line 435 + 0xc bytes C++ chrome.dll!base::MessagePumpDefault::Run(base::MessagePump::Delegate * delegate=0x0067f28c) Line 23 + 0xf bytes C++ chrome.dll!MessageLoop::RunInternal() Line 205 + 0x2a bytes C++ chrome.dll!MessageLoop::RunHandler() Line 178 C++ chrome.dll!MessageLoop::Run() Line 156 C++ chrome.dll!RendererMain(const MainFunctionParams & parameters={...}) Line 141 C++ chrome.dll!ChromeMain(HINSTANCE__ * instance=0x001e0000, sandbox::SandboxInterfaceInfo * sandbox_info=0x0067fa48, wchar_t * command_line=0x00981dd2) Line 558 + 0xc bytes C++ chrome.exe!MainDllLoader::Launch(HINSTANCE__ * instance=0x001e0000, sandbox::SandboxInterfaceInfo * sbox_info=0x0067fa48) Line 170 + 0x1d bytes C++ chrome.exe!wWinMain(HINSTANCE__ * instance=0x001e0000, HINSTANCE__ * __formal=0x00000000, HINSTANCE__ * __formal=0x00000000, HINSTANCE__ * __formal=0x00000000) Line 47 + 0x10 bytes C++ chrome.exe!__tmainCRTStartup() Line 324 + 0x35 bytes C chrome.exe!wWinMainCRTStartup() Line 196 C kernel32.dll!75153677() [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll] ntdll.dll!77519d72() ntdll.dll!77519d45() Attachments: mouseover.html 298 bytes -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings -- Automated mail from issue updates at http://crbug.com/ Subscription options: http://groups.google.com/group/chromium-bugs