Bug 64411 - ASSERT(isMainThread()) triggered in StorageTracker::deleteOrigin()
Summary: ASSERT(isMainThread()) triggered in StorageTracker::deleteOrigin()
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Anton D'Auria
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-12 16:54 PDT by Pratik Solanki
Modified: 2011-07-12 17:02 PDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pratik Solanki 2011-07-12 16:54:50 PDT
I just ran into this assert. WebKit was loading a twitter page and I quit it. It asserted when terminating.

ASSERTION FAILED: isMainThread()
/Volumes/Data/psolanki/sources/external/WebKit.git/Source/WebCore/storage/StorageTracker.cpp(416) : void WebCore::StorageTracker::deleteOrigin(WebCore::SecurityOrigin *)
1   WebCore::StorageTracker::deleteOrigin(WebCore::SecurityOrigin*)
2   WebCore::StorageTracker::deleteOrigin(WTF::String const&)
3   WebCore::StorageAreaSync::deleteEmptyDatabase()
4   WebCore::LocalStorageTask::performTask()
5   WebCore::LocalStorageThread::threadEntryPoint()
6   WebCore::LocalStorageThread::threadEntryPointCallback(void*)
7   WTF::threadEntryPoint(void*)
8   _pthread_start
9   thread_start


Looking at the code, StorageAreaSync::deleteEmptyDatabase() asserts that it is not on the main thread. But then it calls deleteOrigin() that wants to be on the main thread.