Bug 116026 - [WK2] Crash in WebKit::StorageAreaMap::didSetItem()
Summary: [WK2] Crash in WebKit::StorageAreaMap::didSetItem()
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-13 04:29 PDT by Chris Dumez
Modified: 2013-05-13 12:30 PDT (History)
3 users (show)

See Also:


Attachments
Patch (18.82 KB, patch)
2013-05-13 12:07 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 Chris Dumez 2013-05-13 04:29:01 PDT
The following test cases are crashing on WK2 in WebKit::StorageAreaMap::didSetItem():
storage/domstorage/storage-functions-not-overwritten.html
storage/domstorage/complex-keys.html
fast/loader/history-forward-in-head.html

Crash logs on lion-debug-tests-wk2:
http://build.webkit.org/results/Apple%20Lion%20Debug%20WK2%20(Tests)/r149852%20(9414)/storage/domstorage/storage-functions-not-overwritten-crash-log.txt
http://build.webkit.org/results/Apple%20Lion%20Debug%20WK2%20(Tests)/r149852%20(9414)/storage/domstorage/complex-keys-crash-log.txt
http://build.webkit.org/results/Apple%20Lion%20Debug%20WK2%20(Tests)/r149852%20(9414)/fast/loader/history-forward-in-head-crash-log.txt

Assertion hit on EFL WK2 Debug:
crash log for WebProcess (pid <unknown>):
STDOUT: <empty>
STDERR: ASSERTION FAILED: m_pendingValueChanges.contains(key)
STDERR: /home/buildslave-1/webkit-buildslave/efl-linux-64-debug-wk2/build/Source/WebKit2/WebProcess/Storage/StorageAreaMap.cpp(186) : void WebKit::StorageAreaMap::didSetItem(const WTF::String&, bool)
STDERR: 1   0x7f47701e1b4f WebKit::StorageAreaMap::didSetItem(WTF::String const&, bool)
STDERR: 2   0x7f47702f84e8 void CoreIPC::callMemberFunction<WebKit::StorageAreaMap, void (WebKit::StorageAreaMap::*)(WTF::String const&, bool), WTF::String, bool>(CoreIPC::Arguments2<WTF::String, bool> const&, WebKit::StorageAreaMap*, void (WebKit::StorageAreaMap::*)(WTF::String const&, bool))
STDERR: 3   0x7f47702f82db void CoreIPC::handleMessage<Messages::StorageAreaMap::DidSetItem, WebKit::StorageAreaMap, void (WebKit::StorageAreaMap::*)(WTF::String const&, bool)>(CoreIPC::MessageDecoder&, WebKit::StorageAreaMap*, void (WebKit::StorageAreaMap::*)(WTF::String const&, bool))
STDERR: 4   0x7f47702f7fb9 WebKit::StorageAreaMap::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&)
STDERR: 5   0x7f476ffe724e CoreIPC::MessageReceiverMap::dispatchMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&)
STDERR: 6   0x7f4770157e8d WebKit::WebProcess::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&)
STDERR: 7   0x7f476ffd3fcb CoreIPC::Connection::dispatchMessage(CoreIPC::MessageDecoder&)
STDERR: 8   0x7f476ffd40a6 CoreIPC::Connection::dispatchMessage(WTF::PassOwnPtr<CoreIPC::MessageDecoder>)
STDERR: 9   0x7f476ffd42af CoreIPC::Connection::dispatchOneMessage()
STDERR: 10  0x7f476ffe656e WTF::FunctionWrapper<void (CoreIPC::Connection::*)()>::operator()(CoreIPC::Connection*)
STDERR: 11  0x7f476ffe6114 WTF::BoundFunctionImpl<WTF::FunctionWrapper<void (CoreIPC::Connection::*)()>, void (CoreIPC::Connection*)>::operator()()
STDERR: 12  0x7f477021162c WTF::Function<void ()>::operator()() const
STDERR: 13  0x7f476b82f8a0 WebCore::RunLoop::performWork()
STDERR: 14  0x7f476c43ee20 WebCore::RunLoop::wakeUpEvent(void*, void*, unsigned int)
STDERR: 15  0x7f47682c16c1
STDERR: 16  0x7f47682c0601
STDERR: 17  0x7f47682c0b47 ecore_main_loop_begin
STDERR: 18  0x7f476c43edb1 WebCore::RunLoop::run()
STDERR: 19  0x7f47702c0037 WebProcessMainEfl
STDERR: 20  0x400804 main
STDERR: 21  0x7f476f27d76d __libc_start_main
STDERR: 22  0x400729
Comment 1 Anders Carlsson 2013-05-13 12:07:53 PDT
Created attachment 201612 [details]
Patch
Comment 2 Andreas Kling 2013-05-13 12:28:20 PDT
Comment on attachment 201612 [details]
Patch

Seems like a reasonable solution. r=me.
Comment 3 Anders Carlsson 2013-05-13 12:30:28 PDT
Committed r150030: <http://trac.webkit.org/changeset/150030>