Bug 139494

Summary: [WK1] new http/tests/notifications/legacy/notification-request-permission-then-navigate.html test is crashing
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: WebKit Misc.Assignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, kling
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 139429    
Attachments:
Description Flags
Patch none

Description Chris Dumez 2014-12-10 09:54:02 PST
New http/tests/notifications/legacy/notification-request-permission-then-navigate.html test is crashing on WebKit1:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x000000010243782a WTFCrash + 42 (Assertions.cpp:321)
1   DumpRenderTree                	0x0000000101822f64 -[UIDelegate webView:createWebViewWithRequest:] + 132 (UIDelegate.mm:166)
2   com.apple.WebKitLegacy        	0x000000010cf354cd objc_object* wtfObjcMsgSend<objc_object*, WebView*, objc_object*>(objc_object*, objc_selector*, WebView*, objc_object*) + 45 (ObjcRuntimeExtras.h:38)
3   com.apple.WebKitLegacy        	0x000000010cf32154 CallDelegate(WebView*, objc_object*, objc_selector*, objc_object*) + 100 (WebDelegateImplementationCaching.mm:128)
4   com.apple.WebKitLegacy        	0x000000010cf320e5 CallUIDelegate(WebView*, objc_selector*, objc_object*) + 69 (WebDelegateImplementationCaching.mm:1015)
5   com.apple.WebKitLegacy        	0x000000010cf19e73 WebChromeClient::createWindow(WebCore::Frame*, WebCore::FrameLoadRequest const&, WebCore::WindowFeatures const&, WebCore::NavigationAction const&) + 2003 (WebChromeClient.mm:295)
6   com.apple.WebCore             	0x0000000105faaca3 WebCore::Chrome::createWindow(WebCore::Frame*, WebCore::FrameLoadRequest const&, WebCore::WindowFeatures const&, WebCore::NavigationAction const&) const + 99 (Chrome.cpp:197)
7   com.apple.WebCore             	0x000000010660ac31 WebCore::createWindow(WebCore::Frame*, WebCore::Frame*, WebCore::FrameLoadRequest const&, WebCore::WindowFeatures const&, bool&) + 1153 (FrameLoader.cpp:3465)
8   com.apple.WebCore             	0x00000001063d05c5 WebCore::DOMWindow::createWindow(WTF::String const&, WTF::AtomicString const&, WebCore::WindowFeatures const&, WebCore::DOMWindow&, WebCore::Frame*, WebCore::Frame*, std::__1::function<void (WebCore::DOMWindow&)>) + 645 (DOMWindow.cpp:2104)
9   com.apple.WebCore             	0x00000001063d0d7f WebCore::DOMWindow::open(WTF::String const&, WTF::AtomicString const&, WTF::String const&, WebCore::DOMWindow&, WebCore::DOMWindow&) + 1167 (DOMWindow.cpp:2182)
10  com.apple.WebCore             	0x0000000106c725dc WebCore::JSDOMWindow::open(JSC::ExecState*) + 492 (JSDOMWindowCustom.cpp:505)
11  com.apple.WebCore             	0x0000000106c5f2c7 WebCore::jsDOMWindowPrototypeFunctionOpen(JSC::ExecState*) + 455 (JSDOMWindow.cpp:21513)
12  ???                           	0x0000477a46601034 0 + 78590492282932
13  com.apple.JavaScriptCore      	0x000000010221426d llint_entry + 25425
14  com.apple.JavaScriptCore      	0x000000010220dcd9 vmEntryToJavaScript + 361
15  com.apple.JavaScriptCore      	0x000000010209bbea JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 266 (JITCode.cpp:77)
16  com.apple.JavaScriptCore      	0x000000010207ff96 JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::JSObject*) + 4886 (Interpreter.cpp:914)
17  com.apple.JavaScriptCore      	0x0000000101c03770 JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&, JSC::JSValue, JSC::JSValue*) + 480 (Completion.cpp:81)
18  com.apple.WebCore             	0x0000000106ddd535 WebCore::JSMainThreadExecState::evaluate(JSC::ExecState*, JSC::SourceCode const&, JSC::JSValue, JSC::JSValue*) + 69 (JSMainThreadExecState.h:62)
19  com.apple.WebCore             	0x000000010774415d WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&, WebCore::DOMWrapperWorld&) + 317 (ScriptController.cpp:152)
20  com.apple.WebCore             	0x00000001077442a4 WebCore::ScriptController::evaluate(WebCore::ScriptSourceCode const&) + 68 (ScriptController.cpp:168)
21  com.apple.WebCore             	0x0000000107753167 WebCore::ScriptElement::executeScript(WebCore::ScriptSourceCode const&) + 455 (ScriptElement.cpp:301)
22  com.apple.WebCore             	0x0000000107752130 WebCore::ScriptElement::prepareScript(WTF::TextPosition const&, WebCore::ScriptElement::LegacyTypeSupport) + 1792 (ScriptElement.cpp:237)
23  com.apple.WebCore             	0x0000000106847ac9 WebCore::HTMLScriptRunner::runScript(WebCore::Element*, WTF::TextPosition const&) + 361 (HTMLScriptRunner.cpp:304)
24  com.apple.WebCore             	0x00000001068478d9 WebCore::HTMLScriptRunner::execute(WTF::PassRefPtr<WebCore::Element>, WTF::TextPosition const&) + 137 (HTMLScriptRunner.cpp:177)
25  com.apple.WebCore             	0x00000001067871e1 WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder() + 289 (HTMLDocumentParser.cpp:218)
26  com.apple.WebCore             	0x0000000106787328 WebCore::HTMLDocumentParser::canTakeNextToken(WebCore::HTMLDocumentParser::SynchronousMode, WebCore::PumpSession&) + 248 (HTMLDocumentParser.cpp:238)
27  com.apple.WebCore             	0x00000001067864cf WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode) + 783 (HTMLDocumentParser.cpp:293)
28  com.apple.WebCore             	0x0000000106785f59 WebCore::HTMLDocumentParser::pumpTokenizerIfPossible(WebCore::HTMLDocumentParser::SynchronousMode) + 169 (HTMLDocumentParser.cpp:190)
29  com.apple.WebCore             	0x0000000106788429 WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution() + 361 (HTMLDocumentParser.cpp:532)
30  com.apple.WebCore             	0x000000010678881f WebCore::HTMLDocumentParser::notifyFinished(WebCore::CachedResource*) + 319 (HTMLDocumentParser.cpp:571)
31  com.apple.WebCore             	0x000000010678887f non-virtual thunk to WebCore::HTMLDocumentParser::notifyFinished(WebCore::CachedResource*) + 47 (HTMLDocumentParser.cpp:572)
32  com.apple.WebCore             	0x0000000105f426d2 WebCore::CachedResource::checkNotify() + 130 (CachedResource.cpp:293)
33  com.apple.WebCore             	0x0000000105f427e4 WebCore::CachedResource::finishLoading(WebCore::SharedBuffer*) + 52 (CachedResource.cpp:310)
34  com.apple.WebCore             	0x0000000105f5ffc1 WebCore::CachedScript::finishLoading(WebCore::SharedBuffer*) + 129 (CachedScript.cpp:87)
35  com.apple.WebCore             	0x000000010798fb43 WebCore::SubresourceLoader::didFinishLoading(double) + 467 (SubresourceLoader.cpp:308)
36  com.apple.WebCore             	0x00000001076f7045 WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle*, double) + 53 (ResourceLoader.cpp:509)
37  com.apple.WebCore             	0x0000000107c2acca -[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:] + 186 (WebCoreResourceHandleAsDelegate.mm:261)
38  com.apple.Foundation          	0x00007fff84cd27fd __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke + 48
39  com.apple.Foundation          	0x00007fff84cd272d -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] + 244
40  com.apple.Foundation          	0x00007fff84cd261c -[NSURLConnectionInternal _withActiveConnectionAndDelegate:] + 69
41  com.apple.CFNetwork           	0x00007fff88c46224 ___ZN27URLConnectionClient_Classic26_delegate_didFinishLoadingEU13block_pointerFvvE_block_invoke + 104
42  com.apple.CFNetwork           	0x00007fff88ccad60 ___ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2 + 84
43  com.apple.CFNetwork           	0x00007fff88c2928c ___ZNK17CoreSchedulingSet13_performAsyncEPKcU13block_pointerFvvE_block_invoke + 25
44  com.apple.CoreFoundation      	0x00007fff85a5ea94 CFArrayApplyFunction + 68
45  com.apple.CFNetwork           	0x00007fff88c2916b RunloopBlockContext::perform() + 115
46  com.apple.CFNetwork           	0x00007fff88c29013 MultiplexerSource::perform() + 269
47  com.apple.CFNetwork           	0x00007fff88c28e42 MultiplexerSource::_perform(void*) + 72
48  com.apple.CoreFoundation      	0x00007fff85a935b1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
49  com.apple.CoreFoundation      	0x00007fff85a84c62 __CFRunLoopDoSources0 + 242
50  com.apple.CoreFoundation      	0x00007fff85a843ef __CFRunLoopRun + 831
51  com.apple.CoreFoundation      	0x00007fff85a83e75 CFRunLoopRunSpecific + 309
52  DumpRenderTree                	0x00000001017d6da5 runTest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 5349 (DumpRenderTree.mm:1922)
53  DumpRenderTree                	0x00000001017d585a runTestingServerLoop() + 282 (DumpRenderTree.mm:1078)
54  DumpRenderTree                	0x00000001017d5025 dumpRenderTree(int, char const**) + 405 (DumpRenderTree.mm:1189)
55  DumpRenderTree                	0x00000001017d7676 DumpRenderTreeMain(int, char const**) + 102 (DumpRenderTree.mm:1326)
56  DumpRenderTree                	0x0000000101827af2 main + 34 (DumpRenderTreeMain.mm:30)
57  libdyld.dylib                 	0x00007fff859b35fd start + 1
Comment 1 Chris Dumez 2014-12-10 09:57:11 PST
Created attachment 243037 [details]
Patch
Comment 2 Chris Dumez 2014-12-10 10:00:58 PST
I am still building locally to confirm that it fixes the crash on WK1.
Comment 3 Chris Dumez 2014-12-10 10:05:34 PST
(In reply to comment #2)
> I am still building locally to confirm that it fixes the crash on WK1.

Ok, it is no longer crashing locally.
Comment 4 Chris Dumez 2014-12-10 10:07:50 PST
Comment on attachment 243037 [details]
Patch

Clearing flags on attachment: 243037

Committed r177076: <http://trac.webkit.org/changeset/177076>
Comment 5 Chris Dumez 2014-12-10 10:07:55 PST
All reviewed patches have been landed.  Closing bug.