Bug 115711

Summary: REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
Product: WebKit Reporter: Ryosuke Niwa <rniwa>
Component: WebKit2Assignee: Anders Carlsson <andersca>
Status: RESOLVED FIXED    
Severity: Normal CC: andersca, kling
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch kling: review+

Description Ryosuke Niwa 2013-05-06 22:12:54 PDT
Comment #5 From Ryosuke Niwa 2013-05-06 21:55:31 PST (-) [reply] 
It appears that this patch broke WK2 bots:
http://build.webkit.org/builders/Apple%20MountainLion%20Debug%20WK2%20%28Tests%29?numbuilds=50

e.g.
16:33:53.229 46880 worker/1 accessibility/accessibility-node-memory-management.html crashed, (stderr lines):
16:33:53.229 46880   ASSERTION FAILED: !m_localStorageDirectory
16:33:53.229 46880   /Volumes/Data/slave/mountainlion-debug/build/Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.cpp(65) : void WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal(const WTF::String &)
16:33:53.229 46880   1   0x10b985093 WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal(WTF::String const&)
16:33:53.229 46880   2   0x10b98639a WTF::FunctionWrapper<void (WebKit::LocalStorageDatabaseTracker::*)(WTF::String const&)>::operator()(WebKit::LocalStorageDatabaseTracker*, WTF::String const&)
16:33:53.229 46880   3   0x10b98630c WTF::BoundFunctionImpl<WTF::FunctionWrapper<void (WebKit::LocalStorageDatabaseTracker::*)(WTF::String const&)>, void (WebKit::LocalStorageDatabaseTracker*, WTF::String)>::operator()()
16:33:53.229 46880   4   0x10b6e3939 WTF::Function<void ()>::operator()() const
16:33:53.229 46880   5   0x10bb18be1 __dispatch_block_invoke_0
16:33:53.229 46880   6   0x7fff8c62bf01 _dispatch_call_block_and_release
16:33:53.229 46880   7   0x7fff8c6280b6 _dispatch_client_callout
16:33:53.229 46880   8   0x7fff8c62947f _dispatch_queue_drain
16:33:53.229 46880   9   0x7fff8c6292f1 _dispatch_queue_invoke
16:33:53.229 46880   10  0x7fff8c6291c3 _dispatch_worker_thread2
16:33:53.229 46880   11  0x7fff8d7f2d0b _pthread_wqthread
16:33:53.229 46880   12  0x7fff8d7dd1d1 start_wqthread

I can reproduce this crash locally.
Comment 1 Ryosuke Niwa 2013-05-06 22:20:34 PDT
Committed r149662: <http://trac.webkit.org/changeset/149662>
Comment 2 Anders Carlsson 2013-05-07 11:19:45 PDT
Created attachment 200940 [details]
Patch
Comment 3 Andreas Kling 2013-05-07 11:27:13 PDT
Comment on attachment 200940 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=200940&action=review

Great. r=me

> Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.cpp:64
>  void LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal(const String& localStorageDirectory)
>  {

Would it make sense to return early if m_localStorageDirectory == localStorageDirectory?
Comment 4 Anders Carlsson 2013-05-07 11:29:30 PDT
Committed r149683: <http://trac.webkit.org/changeset/149683>