Summary: | [Win] Crashing in inspector-protocol tests | ||
---|---|---|---|
Product: | WebKit | Reporter: | Brent Fulgham <bfulgham> |
Component: | WebCore Misc. | Assignee: | Matt Baker <mattbaker> |
Status: | NEW --- | ||
Severity: | Major | CC: | bfulgham, joepeck, mattbaker, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | 528+ (Nightly build) | ||
Hardware: | PC | ||
OS: | All |
These two tests were marked as crashing in r174479. <https://trac.webkit.org/r174479>. |
We are experiencing two inspector-protocol failures: inspector-protocol/debugger/terminate-dedicated-worker-while-paused.html inspector-protocol/debugger/pause-on-assert.html It appears that the inspector is getting disconnected from the worker process before all messages have been processed. When this happens, we attempt to dereference a null pointer and the process crashes: Call stack: > WebKit.dll!WebCore::WorkerMessagingProxy::postMessageToPageInspector::__l3::<lambda>(WebCore::ScriptExecutionContext & __formal) Line 299 C++ [External Code] WebKit.dll!WebCore::ScriptExecutionContext::Task::performTask(WebCore::ScriptExecutionContext & context) Line 144 C++ WebKit.dll!WebCore::Document::postTask::__l8::<lambda>() Line 5012 C++ [External Code] WTF.dll!WTF::callFunctionObject(void * context) Line 213 C++ WTF.dll!WTF::dispatchFunctionsFromMainThread() Line 165 C++ WTF.dll!WTF::ThreadingWindowWndProc(HWND__ * hWnd, unsigned int message, unsigned int wParam, long lParam) Line 47 C++ [External Code] DumpRenderTree.dll!runTest(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & inputLine) Line 1095 C++ DumpRenderTree.dll!main(int argc, const char * * argv) Line 1383 C++ DumpRenderTree.dll!dllLauncherEntryPoint(int argc, const char * * argv) Line 1408 C++ DumpRenderTree.exe!main(int argc, const char * * argv) Line 235 C++ [External Code] m_pageInspector is 0, because WorkerMessagingProxy::disconnectFromInspector was called before the worker runloop was empty of messages for the inspector.