Bug 70845

Summary: ASSERTION FAILED: checkURLReceivedFromWebProcess(originalURL) loading a local file, if the WebProcess crashed
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: WebKit2Assignee: Alexey Proskuryakov <ap>
Status: RESOLVED FIXED    
Severity: Normal CC: andersca, ap, gustavo, pnormand, sam, simon.fraser, webkit.review.bot, xan.lopez
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
proposed fix
pnormand: commit-queue-
with a typo fixed
andersca: review+
patch for landing none

Description Simon Fraser (smfr) 2011-10-25 13:36:10 PDT
Launch Safari, drag a local file into the window, and you assert:


ASSERTION FAILED: checkURLReceivedFromWebProcess(originalURL)
/Volumes/SSData/Development/OSX/webkit/OpenSource/Source/WebKit2/UIProcess/WebProcessProxy.cpp(252) : void WebKit::WebProcessProxy::addBackForwardItem(uint64_t, const WTF::String &, const WTF::String &, const WTF::String &, const CoreIPC::DataReference &)
1   0x102bf7d9a WebKit::WebProcessProxy::addBackForwardItem(unsigned long long, WTF::String const&, WTF::String const&, WTF::String const&, CoreIPC::DataReference const&)
2   0x102cf8827 void CoreIPC::callMemberFunction<WebKit::WebProcessProxy, void (WebKit::WebProcessProxy::*)(unsigned long long, WTF::String const&, WTF::String const&, WTF::String const&, CoreIPC::DataReference const&), unsigned long long, WTF::String, WTF::String, WTF::String, CoreIPC::DataReference>(CoreIPC::Arguments5<unsigned long long, WTF::String, WTF::String, WTF::String, CoreIPC::DataReference> const&, WebKit::WebProcessProxy*, void (WebKit::WebProcessProxy::*)(unsigned long long, WTF::String const&, WTF::String const&, WTF::String const&, CoreIPC::DataReference const&))
3   0x102cf6dad void CoreIPC::handleMessage<Messages::WebProcessProxy::AddBackForwardItem, WebKit::WebProcessProxy, void (WebKit::WebProcessProxy::*)(unsigned long long, WTF::String const&, WTF::String const&, WTF::String const&, CoreIPC::DataReference const&)>(CoreIPC::ArgumentDecoder*, WebKit::WebProcessProxy*, void (WebKit::WebProcessProxy::*)(unsigned long long, WTF::String const&, WTF::String const&, WTF::String const&, CoreIPC::DataReference const&))
4   0x102cf6834 WebKit::WebProcessProxy::didReceiveWebProcessProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*)
5   0x102bf8192 WebKit::WebProcessProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*)
6   0x102aa308c CoreIPC::Connection::dispatchMessage(CoreIPC::Connection::Message<CoreIPC::ArgumentDecoder>&)
7   0x102aa58a3 CoreIPC::Connection::dispatchMessages()
8   0x102aac6bb MemberFunctionWorkItem0<CoreIPC::Connection>::execute()
9   0x102b0b4cf RunLoop::performWork()
10  0x102b0c400 RunLoop::performWork(void*)
11  0x7fff88d97b51 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
12  0x7fff88d973bd __CFRunLoopDoSources0
13  0x7fff88dbe1a9 __CFRunLoopRun
14  0x7fff88dbdae6 CFRunLoopRunSpecific
15  0x7fff8ea543d3 RunCurrentEventLoopInMode
16  0x7fff8ea5b63d ReceiveNextEventCommon
17  0x7fff8ea5b4ca BlockUntilNextEventMatchingListInMode
18  0x7fff909083f1 _DPSNextEvent
19  0x7fff90907cf5 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
20  0x1000db2f3 -[BrowserApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
21  0x7fff9090462d -[NSApplication run]
22  0x7fff90b8380c NSApplicationMain
23  0x1005398c2 SafariMain
24  0x100000f32 main
25  0x100000f04 start
Comment 1 Simon Fraser (smfr) 2011-10-25 13:40:14 PDT
My WebProcess was hitting an unrelated assertion just before this assertion.
Comment 2 Alexey Proskuryakov 2011-10-26 11:47:30 PDT
<rdar://problem/10269985>
Comment 3 Alexey Proskuryakov 2012-02-08 16:54:53 PST
Created attachment 126191 [details]
proposed fix
Comment 4 Philippe Normand 2012-02-08 17:02:00 PST
Comment on attachment 126191 [details]
proposed fix

Attachment 126191 [details] did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11461655
Comment 5 Alexey Proskuryakov 2012-02-08 17:09:03 PST
Created attachment 126197 [details]
with a typo fixed
Comment 6 Anders Carlsson 2012-02-09 12:39:02 PST
Comment on attachment 126197 [details]
with a typo fixed

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

> Source/WebKit2/UIProcess/WebProcessProxy.cpp:250
> +    for (WebBackForwardListItemMap::iterator iter = m_backForwardListItemMap.begin(); iter != m_backForwardListItemMap.end(); ++iter) {

The WebKit style is to put end in a local variable. Something like

WebBackForwardListItemMap::iterator iter = m_backForwardListItemMap.begin(), end = ...
Comment 7 Alexey Proskuryakov 2012-02-09 13:50:42 PST
Created attachment 126367 [details]
patch for landing
Comment 8 WebKit Review Bot 2012-02-09 21:45:27 PST
Comment on attachment 126367 [details]
patch for landing

Clearing flags on attachment: 126367

Committed r107356: <http://trac.webkit.org/changeset/107356>
Comment 9 WebKit Review Bot 2012-02-09 21:45:34 PST
All reviewed patches have been landed.  Closing bug.