stderr: ASSERTION FAILED: m_history->provisionalItem() == m_requestedHistoryItem.get() /Volumes/Data/webkit4/Source/WebCore/loader/FrameLoader.cpp(3233) : void WebCore::FrameLoader::retryAfterFailedCacheOnlyMainResourceLoad() 1 0x1067f9090 WTFCrash 2 0x107c5c563 WebCore::FrameLoader::retryAfterFailedCacheOnlyMainResourceLoad() 3 0x107a1a629 WebCore::DocumentLoader::notifyFinished(WebCore::CachedResource*) 4 0x1076d28cd WebCore::CachedResource::checkNotify() 5 0x1076d2a6c WebCore::CachedResource::error(WebCore::CachedResource::Status) 6 0x108c97f67 WebCore::SubresourceLoader::didFail(WebCore::ResourceError const&) 7 0x108ac8355 WebCore::ResourceLoader::didFail(WebCore::ResourceHandle*, WebCore::ResourceError const&) 8 0x108ea2855 -[WebCoreResourceHandleAsDelegate connection:didFailWithError:] 9 0x7fff8e213d88 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke_0 10 0x7fff8e213ccc -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] 11 0x7fff8e38aef4 -[NSURLConnectionInternal _withErrorForConnection:] 12 0x7fff922e78d5 ___delegate_didFail_block_invoke_0 13 0x7fff9228854a ___withDelegateAsync_block_invoke_0 14 0x7fff92318f3a __block_global_1 15 0x7fff87b47154 CFArrayApplyFunction 16 0x7fff922792b4 RunloopBlockContext::perform() 17 0x7fff9227918b MultiplexerSource::perform() 18 0x7fff87b28b31 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 19 0x7fff87b28455 __CFRunLoopDoSources0 20 0x7fff87b4b7f5 __CFRunLoopRun 21 0x7fff87b4b0e2 CFRunLoopRunSpecific 22 0x7fff8f8faeb4 RunCurrentEventLoopInMode 23 0x7fff8f8fac52 ReceiveNextEventCommon 24 0x7fff8f8faae3 BlockUntilNextEventMatchingListInMode 25 0x7fff8a2dc533 _DPSNextEvent 26 0x7fff8a2dbdf2 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] 27 0x7fff8a2d31a3 -[NSApplication run] 28 0x108af63d2 WebCore::RunLoop::run() 29 0x104ec7d8a int WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebContentProcessMainDelegate>(int, char**) 30 0x104ec79db WebContentProcessMain 31 0x104bb6d18 WebKit::BootstrapMain(int, char**)
Tools/Scripts/run-webkit-tests --debug http/tests/navigation/post-frames-goback1.html -2
Committed r154206: <http://trac.webkit.org/changeset/154206>
I have this mostly done. NetworkProcess wasn't managing cache model correctly, so it ended up with no CFNetwork cache.
Well, and WebProcess too.
Created attachment 209112 [details] proposed fix Decided to do a simpler fix. There are two aspects to dynamically changing cache model: - Real clients should just set it upfront, changing it after some processes are created is a poorly defined operation. WKContextSetCacheModel currently fails to update cache model in Networking process, and it fails to accurately update cache sizes in WebProcess, especially when running in a non-default session. - There are three regression tests that attempt to change cache model at runtime, and this is broken for multiple reasons, most notably because this is done in injected bundle, and doesn't update Networking process. Neither appears important enough to address at the moment. Eventually, we should probably change cache model API to explicitly take a storage session (ditto for cookie accept policy).
Comment on attachment 209112 [details] proposed fix View in context: https://bugs.webkit.org/attachment.cgi?id=209112&action=review > Tools/ChangeLog:11 > + the easiest way to get this going to to initialize it to correct value upfront. typo: to to.
This assertion failure could also happen in any process that had cache disabled on purpose, or even when cache was enabled, but couldn't hold the item. Tracking that with bug 120028.
Created attachment 209124 [details] patch for landing
Comment on attachment 209124 [details] patch for landing Clearing flags on attachment: 209124 Committed r154301: <http://trac.webkit.org/changeset/154301>
All reviewed patches have been landed. Closing bug.