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]
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]
View in context: https://bugs.webkit.org/attachment.cgi?id=209112&action=review
> + 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.