ASSERT close()ing the same StorageAreaImpl twice when using multiple PageGroups If you use multiple PageGroups and point them both to the same path for LocalStorage, you can get an ASSERT closing the same storage area twice: ASSERT(!m_isShutdown); #0 0x102938f3e in WebCore::StorageNamespaceImpl::close at StorageNamespaceImpl.cpp:122 #1 0x102740fc5 in WebCore::PageGroup::closeLocalStorage at PageGroup.cpp:106 #2 0x101adf881 in +[WebView _applicationWillTerminate] at WebView.mm:2482 I've traced through what happens when you *do* try to close it twice, and it appears there's no ill effects. But it actually ends up trying to do synchronous I/O just to support the second close, which is a waste. The ASSERT is invalid - we thought this case shouldn't happen, but it clearly can. It should just be an early return instead. In radar as <rdar://problem/7828420>
Created attachment 52583 [details] Early return instead of ASSERT
Comment on attachment 52583 [details] Early return instead of ASSERT r=me
http://trac.webkit.org/changeset/57099