<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>124864</bug_id>
          
          <creation_ts>2013-11-25 15:05:32 -0800</creation_ts>
          <short_desc>Web Inspector: Crash when starting the Inspector</short_desc>
          <delta_ts>2014-02-13 03:46:42 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexandru Chiculita">achicu</reporter>
          <assigned_to name="Alexandru Chiculita">achicu</assigned_to>
          <cc>andersca</cc>
    
    <cc>bburg</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>sam</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>954118</commentid>
    <comment_count>0</comment_count>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2013-11-25 15:05:32 -0800</bug_when>
    <thetext>Go to any page. Open the Web Inspector.

0   com.apple.WebCore             	0x00000001148a7af3 WebCore::Page::setGroupName(WTF::String const&amp;) + 51 (RefPtr.h:66)
1   com.apple.WebKit2             	0x000000011342ac3f WebKit::WebPage::WebPage(unsigned long long, WebKit::WebPageCreationParameters const&amp;) + 2049 (WebPage.cpp:355)
2   com.apple.WebKit2             	0x000000011342a400 WebKit::WebPage::create(unsigned long long, WebKit::WebPageCreationParameters const&amp;) + 52 (RefPtr.h:57)
3   com.apple.WebKit2             	0x0000000113481b10 WebKit::WebProcess::createWebPage(unsigned long long, WebKit::WebPageCreationParameters const&amp;) + 112 (PassRefPtr.h:90)
4   com.apple.WebKit2             	0x000000011341892c WebKit::WebInspector::createInspectorPage() + 292 (WebInspector.cpp:90)
5   com.apple.WebKit2             	0x0000000113419cce WebKit::WebInspectorClient::openInspectorFrontend(WebCore::InspectorController*) + 26 (WebInspectorClient.cpp:50)
6   com.apple.WebCore             	0x00000001144f5206 WebCore::InspectorController::show() + 54 (InspectorController.cpp:263)
7   com.apple.WebKit2             	0x000000011341a37f WebKit::WebInspector::didReceiveWebInspectorMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&amp;) + 83 (HandleMessage.h:14)
8   com.apple.WebKit2             	0x0000000113365c9d CoreIPC::MessageReceiverMap::dispatchMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&amp;) + 125 (MessageReceiverMap.cpp:86)
9   com.apple.WebKit2             	0x0000000113481c9a WebKit::WebProcess::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&amp;) + 28 (WebProcess.cpp:638)
10  com.apple.WebKit2             	0x00000001133386b4 CoreIPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;CoreIPC::MessageDecoder, std::__1::default_delete&lt;CoreIPC::MessageDecoder&gt; &gt;) + 94 (memory:2665)
11  com.apple.WebKit2             	0x000000011333a52a CoreIPC::Connection::dispatchOneMessage() + 106 (memory:2684)
12  com.apple.JavaScriptCore      	0x0000000113d68525 WTF::RunLoop::performWork() + 421 (RunLoop.cpp:106)
13  com.apple.JavaScriptCore      	0x0000000113d68c02 WTF::RunLoop::performWork(void*) + 34 (RunLoopCF.cpp:39)
14  com.apple.CoreFoundation      	0x00007fff88eb18f1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
15  com.apple.CoreFoundation      	0x00007fff88ea3062 __CFRunLoopDoSources0 + 242
16  com.apple.CoreFoundation      	0x00007fff88ea27ef __CFRunLoopRun + 831
17  com.apple.CoreFoundation      	0x00007fff88ea2275 CFRunLoopRunSpecific + 309
18  com.apple.HIToolbox           	0x00007fff8be6df0d RunCurrentEventLoopInMode + 226
19  com.apple.HIToolbox           	0x00007fff8be6dcb7 ReceiveNextEventCommon + 479
20  com.apple.HIToolbox           	0x00007fff8be6dabc _BlockUntilNextEventMatchingListInModeWithFilter + 65
21  com.apple.AppKit              	0x00007fff8c12128e _DPSNextEvent + 1434
22  com.apple.AppKit              	0x00007fff8c1208db -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
23  com.apple.AppKit              	0x00007fff8c1149cc -[NSApplication run] + 553
24  com.apple.AppKit              	0x00007fff8c0ff803 NSApplicationMain + 940
25  com.apple.XPCService          	0x00007fff8d4f3c0f _xpc_main + 385
26  libxpc.dylib                  	0x00007fff8b361b2e xpc_main + 399
27  com.apple.WebKit.WebContent.Development	0x000000010d4416a0 main + 16 (XPCServiceMain.Development.mm:91)
28  libdyld.dylib                 	0x00007fff929255fd start + 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954126</commentid>
    <comment_count>1</comment_count>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2013-11-25 15:12:27 -0800</bug_when>
    <thetext>The issue is simple, but I don&apos;t know how it didn&apos;t reproduce so far:

WebInspector::createInspectorPage() sends Messages::WebInspectorProxy::CreateInspectorPage and waits in sync mode.

WebInspectorProxy::CreateInspectorPage will send back two messages + the sync reply:
1. Messages::WebProcess::CreateWebPageGroup.
2. Messages::WebProcess::CreateWebPage.

WebInspector::createInspectorPage wakes up when it receives the reply, but the two messages from the WebInspectorProxy::CreateInspectorPage are still pending to execute.

The problem is that WebInspector::createInspectorPage forces the call to WebProcess::shared().createWebPage using the data in the sync reply. That&apos;s even though there&apos;s a pending message that will creating anyway. 

The crash happens when the page tries to use the PageGroup that has not been created yet. The page group creation message didn&apos;t had a chance to process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954133</commentid>
    <comment_count>2</comment_count>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2013-11-25 15:24:53 -0800</bug_when>
    <thetext>It seems like a simple fix would be to replace the following line in WebPageProxy::initializeWebPage() 

m_process-&gt;send(Messages::WebProcess::CreateWebPageGroup(m_pageGroup-&gt;pageGroupID(), m_pageGroup-&gt;data()), 0);

should be:
 
m_process-&gt;send(Messages::WebProcess::CreateWebPageGroup(m_pageGroup-&gt;pageGroupID(), m_pageGroup-&gt;data()), 0, CoreIPC::DispatchMessageEvenWhenWaitingForSyncReply);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954146</commentid>
    <comment_count>3</comment_count>
      <attachid>217842</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2013-11-25 16:00:05 -0800</bug_when>
    <thetext>Created attachment 217842
Patch V1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954148</commentid>
    <comment_count>4</comment_count>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2013-11-25 16:07:41 -0800</bug_when>
    <thetext>The patch that introduced the initial crash was rolled out :)

https://bugs.webkit.org/show_bug.cgi?id=124859</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972046</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-01-25 14:42:54 -0800</bug_when>
    <thetext>&lt;rdar://problem/15909846&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980214</commentid>
    <comment_count>6</comment_count>
      <attachid>217842</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-02-13 03:46:42 -0800</bug_when>
    <thetext>Comment on attachment 217842
Patch V1

Cleared review? from attachment 217842 so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217842</attachid>
            <date>2013-11-25 16:00:05 -0800</date>
            <delta_ts>2014-02-13 03:46:41 -0800</delta_ts>
            <desc>Patch V1</desc>
            <filename>bug124864.v1.patch</filename>
            <type>text/plain</type>
            <size>2469</size>
            <attacher name="Alexandru Chiculita">achicu</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzOGY2YTYyLi45MjNmNDRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMTMtMTEtMjUgIEFsZXhhbmRydSBDaGljdWxpdGEgIDxhY2hpY3VAYWRvYmUuY29tPgor
CisgICAgICAgIFdlYiBJbnNwZWN0b3I6IENyYXNoIHdoZW4gc3RhcnRpbmcgdGhlIEluc3BlY3Rv
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0ODY0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViSW5z
cGVjdG9yOjpjcmVhdGVJbnNwZWN0b3JQYWdlKCkgc2VuZHMgYSBzeW5jIE1lc3NhZ2VzOjpXZWJJ
bnNwZWN0b3JQcm94eTo6Q3JlYXRlSW5zcGVjdG9yUGFnZS4KKworICAgICAgICBXZWJJbnNwZWN0
b3JQcm94eTo6Q3JlYXRlSW5zcGVjdG9yUGFnZSB3aWxsIHRoZW4gc2VuZCBiYWNrIHR3byBtZXNz
YWdlcywgcGx1cyB0aGUgc3luYyByZXBseToKKyAgICAgICAgMS4gTWVzc2FnZXM6OldlYlByb2Nl
c3M6OkNyZWF0ZVdlYlBhZ2VHcm91cC4KKyAgICAgICAgMi4gTWVzc2FnZXM6OldlYlByb2Nlc3M6
OkNyZWF0ZVdlYlBhZ2UuCisKKyAgICAgICAgV2ViSW5zcGVjdG9yOjpjcmVhdGVJbnNwZWN0b3JQ
YWdlIHdha2VzIHVwIHdoZW4gaXQgcmVjZWl2ZXMgdGhlIHN5bmMgcmVwbHksIGJ1dCB0aGUgdHdv
IG1lc3NhZ2VzIGZyb20gdGhlCisgICAgICAgIFdlYkluc3BlY3RvclByb3h5OjpDcmVhdGVJbnNw
ZWN0b3JQYWdlIGFyZSBzdGlsbCBwZW5kaW5nIHRvIGV4ZWN1dGUuCisKKyAgICAgICAgVGhlIGNy
YXNoIGhhcHBlbnMgd2hlbiBXZWJJbnNwZWN0b3I6OmNyZWF0ZUluc3BlY3RvclBhZ2UgZm9yY2Vz
IHRoZSBjYWxsIHRvIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNyZWF0ZVdlYlBhZ2UKKyAgICAgICAg
dXNpbmcgdGhlIGRhdGEgZnJvbSB0aGUgc3luYyByZXBseS4gVGhhdCdzIGJlY2F1c2UgdGhlIHBh
Z2UgdHJpZXMgdG8gdXNlIHRoZSBQYWdlR3JvdXAgdGhhdCBoYXMgbm90IGJlZW4gY3JlYXRlZCB5
ZXQsIGFzCisgICAgICAgIHRoZSBwYWdlIGdyb3VwIGNyZWF0aW9uIG1lc3NhZ2UgZGlkbid0IGhh
ZCBhIGNoYW5jZSB0byBwcm9jZXNzLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aW5pdGlhbGl6ZVdlYlBhZ2Up
OiBBZGRlZCBDb3JlSVBDOjpEaXNwYXRjaE1lc3NhZ2VFdmVuV2hlbldhaXRpbmdGb3JTeW5jUmVw
bHkgb24gdGhlCisgICAgICAgIE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpDcmVhdGVXZWJQYWdlR3Jv
dXAgbWVzc2FnZSB0byBmb3JjZSBpdCBleGVjdXRlIGJlZm9yZSB3ZSByZWNlaXZlIHRoZSBzeW5j
IHJlc3VsdC4KKwogMjAxMy0xMS0yNSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgog
CiAgICAgICAgIFtDb2NvYV0gUHV0IG1vc3Qgb2YgdGhlIENvY29hIEFQSSBiZWhpbmQgV0tfQVBJ
X0VOQUJMRUQgZ3VhcmRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CmluZGV4IDU2YWU1NDkuLmU2ZGI0YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCkBAIC01MjYsNyArNTI2LDggQEAgdm9pZCBXZWJQYWdlUHJveHk6OmluaXRp
YWxpemVXZWJQYWdlKCkKIAogICAgIGlmIChtX3BhZ2VHcm91cC0+YWRkUHJvY2VzcygqbV9wcm9j
ZXNzKSkgewogICAgICAgICBtX3Byb2Nlc3MtPmFkZFdlYlBhZ2VHcm91cCgqbV9wYWdlR3JvdXAp
OwotICAgICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkNyZWF0ZVdl
YlBhZ2VHcm91cChtX3BhZ2VHcm91cC0+cGFnZUdyb3VwSUQoKSwgbV9wYWdlR3JvdXAtPmRhdGEo
KSksIDApOworICAgICAgICAvLyBXZWJJbnNwZWN0b3I6OmNyZWF0ZUluc3BlY3RvclBhZ2UgaXMg
ZXhwZWN0aW5nIHRoZSBQYWdlR3JvdXAgbWVzc2FnZSB0byBiZSBwcm9jZXNzZWQgYmVmb3JlIGl0
IHJlY2VpdmVzIHRoZSBzeW5jIHJlc3VsdC4KKyAgICAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3Nh
Z2VzOjpXZWJQcm9jZXNzOjpDcmVhdGVXZWJQYWdlR3JvdXAobV9wYWdlR3JvdXAtPnBhZ2VHcm91
cElEKCksIG1fcGFnZUdyb3VwLT5kYXRhKCkpLCAwLCBDb3JlSVBDOjpEaXNwYXRjaE1lc3NhZ2VF
dmVuV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkpOwogICAgIH0KIAogICAgIGluaXRpYWxpemVDcmVh
dGlvblBhcmFtZXRlcnMoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>