RESOLVED FIXED 37333
REGRESSION (r57292): :visited tests are asserting on debug Windows and GTK builds
https://bugs.webkit.org/show_bug.cgi?id=37333
Summary REGRESSION (r57292): :visited tests are asserting on debug Windows and GTK bu...
Adam Roben (:aroben)
Reported 2010-04-09 08:36:12 PDT
To reproduce: 1. run-webkit-tests fast/history The new :visited tests are asserting in Debug builds, and failing in Release builds. Here's the backtrace of the assertion: > JavaScriptCore.dll!toJS(JSC::ExecState * exec=0x05a70108, const OpaqueJSValue * v=0x00000000) Line 66 + 0x1f bytes C++ JavaScriptCore.dll!JSC::JSCallbackFunction::call(JSC::ExecState * exec=0x05a70108, JSC::JSObject * functionObject=0x05e83100, JSC::JSValue thisValue={...}, const JSC::ArgList & args={...}) Line 70 + 0x14 bytes C++ JavaScriptCore.dll!cti_op_call_NotJSFunction(void * * args=0x0012eb30) Line 1901 + 0x31 bytes C++ JavaScriptCore.dll!@cti_op_convert_this@4() + 0x10f bytes C++ JavaScriptCore.dll!JSC::JITCode::execute(JSC::RegisterFile * registerFile=0x040c0654, JSC::ExecState * callFrame=0x05a70050, JSC::JSGlobalData * globalData=0x040be988, JSC::JSValue * exception=0x040bf8c0) Line 77 + 0x24 bytes C++ JavaScriptCore.dll!JSC::Interpreter::execute(JSC::FunctionExecutable * functionExecutable=0x0410f940, JSC::ExecState * callFrame=0x0404a850, JSC::JSFunction * function=0x05e82f00, JSC::JSObject * thisObj=0x05e80000, const JSC::ArgList & args={...}, JSC::ScopeChainNode * scopeChain=0x0410df98, JSC::JSValue * exception=0x040bf8c0) Line 688 + 0x31 bytes C++ JavaScriptCore.dll!JSC::JSFunction::call(JSC::ExecState * exec=0x0404a850, JSC::JSValue thisValue={...}, const JSC::ArgList & args={...}) Line 122 + 0x4e bytes C++ JavaScriptCore.dll!JSC::call(JSC::ExecState * exec=0x0404a850, JSC::JSValue functionObject={...}, JSC::CallType callType=CallTypeJS, const JSC::CallData & callData={...}, JSC::JSValue thisValue={...}, const JSC::ArgList & args={...}) Line 39 + 0x2b bytes C++ WebKit.dll!WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext * scriptExecutionContext=, WebCore::Event * event=) Line 115 + 0xc7 bytes C++ WebKit.dll!WebCore::EventTarget::fireEventListeners(WebCore::Event * event=0x040baaf8, WebCore::EventTargetData * d=0x0406d53c, WTF::Vector<WebCore::RegisteredEventListener,1> & entry=[1]({listener=0x04109790 {m_functionName={} m_eventParameterName={} m_code={} ...} useCapture=false })) Line 315 + 0x35 bytes C++ WebKit.dll!WebCore::EventTarget::fireEventListeners(WebCore::Event * event=0x040baaf8) Line 281 C++ WebKit.dll!WebCore::DOMWindow::dispatchEvent(WTF::PassRefPtr<WebCore::Event> prpEvent={...}, WTF::PassRefPtr<WebCore::EventTarget> prpTarget={...}) Line 1445 + 0x11 bytes C++ WebKit.dll!WebCore::DOMWindow::dispatchLoadEvent() Line 1401 C++ WebKit.dll!WebCore::Document::dispatchWindowLoadEvent() Line 2999 C++ WebKit.dll!WebCore::Document::implicitClose() Line 1824 C++ WebKit.dll!WebCore::FrameLoader::checkCallImplicitClose() Line 1195 C++ WebKit.dll!WebCore::FrameLoader::checkCompleted() Line 1144 C++ WebKit.dll!WebCore::FrameLoader::completed() Line 1865 C++ WebKit.dll!WebCore::FrameLoader::checkCompleted() Line 1147 C++ WebKit.dll!WebCore::FrameLoader::finishedParsing() Line 1083 C++ WebKit.dll!WebCore::Document::finishedParsing() Line 4207 C++ WebKit.dll!WebCore::HTMLParser::finished() Line 1666 + 0x1a bytes C++ WebKit.dll!WebCore::HTMLTokenizer::end() Line 1871 C++ WebKit.dll!WebCore::HTMLTokenizer::finish() Line 1911 C++ WebKit.dll!WebCore::Document::finishParsing() Line 1971 + 0x20 bytes C++ WebKit.dll!WebCore::FrameLoader::endIfNotLoadingMainResource() Line 985 C++ WebKit.dll!WebCore::FrameLoader::end() Line 970 C++ WebKit.dll!WebCore::DocumentLoader::finishedLoading() Line 270 C++ WebKit.dll!WebCore::FrameLoader::finishedLoading() Line 2824 C++ WebKit.dll!WebCore::MainResourceLoader::didFinishLoading() Line 425 C++ WebKit.dll!WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle * __formal=0x0410e7d8) Line 443 + 0xf bytes C++ WebKit.dll!WebCore::didFinishLoading(_CFURLConnection * conn=0x0410fa78, const void * clientInfo=0x0410e7d8) Line 231 + 0x1e bytes C++
Attachments
Make :visited tests added in r57292 not assert on Windows and GTK builds (6.14 KB, patch)
2010-04-09 08:52 PDT, Adam Roben (:aroben)
andersca: review+
Adam Roben (:aroben)
Comment 1 2010-04-09 08:37:13 PDT
The problem is that LayoutTestController::computedStyleIncludingVisitedInfo is returning 0 as a JSValueRef, which is an illegal use of the JSC API.
Adam Roben (:aroben)
Comment 2 2010-04-09 08:46:28 PDT
Let's use this bug to track the assertions.
Adam Roben (:aroben)
Comment 3 2010-04-09 08:49:04 PDT
Bug 37336 will track actually making these tests pass.
Adam Roben (:aroben)
Comment 4 2010-04-09 08:50:13 PDT
...and bug 37337.
Adam Roben (:aroben)
Comment 5 2010-04-09 08:52:32 PDT
Created attachment 52956 [details] Make :visited tests added in r57292 not assert on Windows and GTK builds
Anders Carlsson
Comment 6 2010-04-09 08:53:47 PDT
Comment on attachment 52956 [details] Make :visited tests added in r57292 not assert on Windows and GTK builds r=me!
Adam Roben (:aroben)
Comment 7 2010-04-09 08:56:49 PDT
Note You need to log in before you can comment on or make changes to this bug.