Bug 115711 - REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal
Summary: REGRESSION(r149647): Assertion failure in LocalStorageDatabaseTracker::setLoc...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Anders Carlsson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-06 22:12 PDT by Ryosuke Niwa
Modified: 2013-05-07 11:29 PDT (History)
2 users (show)

See Also:


Attachments
Patch (3.12 KB, patch)
2013-05-07 11:19 PDT, Anders Carlsson
kling: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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>