Bug 140662

Summary: [Win] Layout Test inspector-protocol/debugger/pause-on-assert.html crashes in Release build
Product: WebKit Reporter: Brent Fulgham <bfulgham>
Component: WebKit Misc.Assignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: bfulgham, ggaren, mark.lam, msaboff
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: All   

Description Brent Fulgham 2015-01-19 21:06:12 PST
The following layout test crashes on Windows:

inspector-protocol/debugger/pause-on-assert.html

This appears to be a crash in a destructor in the JavaScriptCore library.

The stack trace is as follows:

 	vrfcore.dll!_VerifierStopMessageEx()	Unknown
 	vfbasics.dll!_AVrfpThreadFunctionExceptionFilter@4()	Unknown
 	vfbasics.dll!_AVrfpStandardThreadFunction@4()	Unknown
 	vfbasics.dll!@_EH4_CallFilterFunc@8()	Unknown
 	ntdll.dll!ExecuteHandler2@20()	Unknown
 	ntdll.dll!ExecuteHandler@20()	Unknown
 	ntdll.dll!_KiUserExceptionDispatcher@8()	Unknown
 	JavaScriptCore_debug.dll!WTF::HashTable<JSC::CodeBlock *,JSC::CodeBlock *,WTF::IdentityExtractor,WTF::PtrHash<JSC::CodeBlock *>,WTF::HashTraits<JSC::CodeBlock *>,WTF::HashTraits<JSC::CodeBlock *> >::size() Line 374	C++
 	JavaScriptCore_debug.dll!JSC::HandleNode::handleSet() Line 163	C++
>	JavaScriptCore_debug.dll!JSC::HandleSet::heapFor(JSC::JSValue * handle) Line 108	C++
 	JavaScriptCore_debug.dll!JSC::Strong<JSC::ExecutableBase>::clear() Line 126	C++
 	JavaScriptCore_debug.dll!JSC::Strong<JSC::JSObject>::~Strong<JSC::JSObject>() Line 83	C++
 	[External Code]	
 	JavaScriptCore_debug.dll!WTF::HashTable<std::pair<JSC::ExecState *,JSC::JSGlobalObject *>,WTF::KeyValuePair<std::pair<JSC::ExecState *,JSC::JSGlobalObject *>,JSC::Strong<JSC::JSObject> >,WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<std::pair<JSC::ExecState *,JSC::JSGlobalObject *>,JSC::Strong<JSC::JSObject> > >,WTF::PairHash<JSC::ExecState *,JSC::JSGlobalObject *>,WTF::HashMap<std::pair<JSC::ExecState *,JSC::JSGlobalObject *>,JSC::Strong<JSC::JSObject>,WTF::PairHash<JSC::ExecState *,JSC::JSGlobalObject *>,WTF::HashTraits<std::pair<JSC::ExecState *,JSC::JSGlobalObject *> >,WTF::HashTraits<JSC::Strong<JSC::JSObject> > >::KeyValuePairTraits,WTF::HashTraits<std::pair<JSC::ExecState *,JSC::JSGlobalObject *> > >::deallocateTable(WTF::KeyValuePair<std::pair<JSC::ExecState *,JSC::JSGlobalObject *>,JSC::Strong<JSC::JSObject> > * table, int size) Line 1079	C++
 	JavaScriptCore_debug.dll!WTF::HashTable<std::pair<JSC::ExecState *,JSC::JSGlobalObject *>,WTF::KeyValuePair<std::pair<JSC::ExecState *,JSC::JSGlobalObject *>,JSC::Strong<JSC::JSObject> >,WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<std::pair<JSC::ExecState *,JSC::JSGlobalObject *>,JSC::Strong<JSC::JSObject> > >,WTF::PairHash<JSC::ExecState *,JSC::JSGlobalObject *>,WTF::HashMap<std::pair<JSC::ExecState *,JSC::JSGlobalObject *>,JSC::Strong<JSC::JSObject>,WTF::PairHash<JSC::ExecState *,JSC::JSGlobalObject *>,WTF::HashTraits<std::pair<JSC::ExecState *,JSC::JSGlobalObject *> >,WTF::HashTraits<JSC::Strong<JSC::JSObject> > >::KeyValuePairTraits,WTF::HashTraits<std::pair<JSC::ExecState *,JSC::JSGlobalObject *> > >::~HashTable<std::pair<JSC::ExecState *,JSC::JSGlobalObject *>,WTF::KeyValuePair<std::pair<JSC::ExecState *,JSC::JSGlobalObject *>,JSC::Strong<JSC::JSObject> >,WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<std::pair<JSC::ExecState *,JSC::JSGlobalObject *>,JSC::Strong<JSC::JSObject> > >,WTF::PairHash<JSC::ExecState *,JSC::JSGlobalObject *>,WTF::HashMap<std::pair<JSC::ExecState *,JSC::JSGlobalObject *>,JSC::Strong<JSC::JSObject>,WTF::PairHash<JSC::ExecState *,JSC::JSGlobalObject *>,WTF::HashTraits<std::pair<JSC::ExecState *,JSC::JSGlobalObject *> >,WTF::HashTraits<JSC::Strong<JSC::JSObject> > >::KeyValuePairTraits,WTF::HashTraits<std::pair<JSC::ExecState *,JSC::JSGlobalObject *> > >() Line 353	C++
 	[External Code]	
 	JavaScriptCore_debug.dll!Inspector::InjectedScriptHost::~InjectedScriptHost() Line 39	C++
 	[External Code]	
 	JavaScriptCore_debug.dll!WTF::RefCounted<JSC::Profile>::deref() Line 146	C++
 	JavaScriptCore_debug.dll!WTF::derefIfNotNull<JSC::Profile>(JSC::Profile * ptr) Line 43	C++
 	JavaScriptCore_debug.dll!WTF::PassRefPtr<Inspector::Protocol::Runtime::StructureDescription>::~PassRefPtr<Inspector::Protocol::Runtime::StructureDescription>() Line 58	C++
 	JavaScriptCore_debug.dll!Inspector::InjectedScriptManager::~InjectedScriptManager() Line 58	C++
 	WebKit_debug.dll!WebCore::WebInjectedScriptManager::~WebInjectedScriptManager() Line 42	C++
 	[External Code]	
 	WebKit_debug.dll!WebCore::WorkerInspectorController::~WorkerInspectorController() Line 115	C++
 	[External Code]	
 	WebKit_debug.dll!WebCore::WorkerGlobalScope::~WorkerGlobalScope() Line 92	C++
 	WebKit_debug.dll!WebCore::DedicatedWorkerGlobalScope::~DedicatedWorkerGlobalScope() Line 56	C++
 	[External Code]	
 	WebKit_debug.dll!WTF::RefCounted<WebCore::WorkerGlobalScope>::deref() Line 146	C++
 	WebKit_debug.dll!WTF::derefIfNotNull<WebCore::WorkerGlobalScope>(WebCore::WorkerGlobalScope * ptr) Line 43	C++
 	WebKit_debug.dll!WTF::PassRefPtr<WebCore::WorkerGlobalScope>::~PassRefPtr<WebCore::WorkerGlobalScope>() Line 58	C++
 	WebKit_debug.dll!WTF::RefPtr<WebCore::WorkerGlobalScope>::operator=(WebCore::WorkerGlobalScope * optr) Line 141	C++
 	WebKit_debug.dll!WebCore::WorkerThread::workerThread() Line 179	C++
 	WebKit_debug.dll!WebCore::WorkerThread::workerThreadStart(void * thread) Line 138	C++
 	WTF_debug.dll!WTF::createThread::__l3::<lambda>() Line 81	C++
 	[External Code]	
 	WTF_debug.dll!WTF::threadEntryPoint(void * contextData) Line 59	C++
 	WTF_debug.dll!WTF::wtfThreadEntryPoint(void * param) Line 203	C++
 	[External Code]