<?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>206903</bug_id>
          
          <creation_ts>2020-01-28 12:49:06 -0800</creation_ts>
          <short_desc>inspector/heap/getRemoteObject.html is a flaky crash</short_desc>
          <delta_ts>2020-06-05 09:29:19 -0700</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>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=156077</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=212776</see_also>
          <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="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>jacob_uphoff</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1612119</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-01-28 12:49:06 -0800</bug_when>
    <thetext>Now that inspector/heap/getRemoteObject.html is unskipped on WK2, it&apos;s flakily crashing again.

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x0000000107fd0773 WTFCrashWithInfo(int, char const*, char const*, int) + 19 (Assertions.h:618)
1   com.apple.JavaScriptCore      	0x0000000107c58f29 Inspector::InjectedScriptModule::ensureInjected(Inspector::InjectedScriptManager*, Inspector::InjectedScript const&amp;) + 2121 (JSString.h:788)
2   com.apple.WebCore             	0x0000000103919240 WebCore::CommandLineAPIModule::injectIfNeeded(Inspector::InjectedScriptManager*, Inspector::InjectedScript const&amp;) + 112 (CommandLineAPIModule.cpp:44)
3   com.apple.JavaScriptCore      	0x0000000107c4e0b3 Inspector::InjectedScriptManager::injectedScriptFor(JSC::JSGlobalObject*) + 1011 (InjectedScriptBase.h:53)
4   com.apple.JavaScriptCore      	0x0000000107cdbadf Inspector::InspectorHeapAgent::getRemoteObject(WTF::String&amp;, int, WTF::String const*, WTF::RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject, WTF::DumbPtrTraits&lt;Inspector::Protocol::Runtime::RemoteObject&gt; &gt;&amp;) + 175 (InspectorHeapAgent.cpp:251)
5   com.apple.JavaScriptCore      	0x0000000107c8303c Inspector::HeapBackendDispatcher::getRemoteObject(long, WTF::RefPtr&lt;WTF::JSONImpl::Object, WTF::DumbPtrTraits&lt;WTF::JSONImpl::Object&gt; &gt;&amp;&amp;) + 860 (InspectorBackendDispatchers.cpp:4137)
6   com.apple.JavaScriptCore      	0x0000000107c81b4f Inspector::HeapBackendDispatcher::dispatch(long, WTF::String const&amp;, WTF::Ref&lt;WTF::JSONImpl::Object, WTF::DumbPtrTraits&lt;WTF::JSONImpl::Object&gt; &gt;&amp;&amp;) + 1071 (utility:925)
7   com.apple.JavaScriptCore      	0x0000000107c5aadd Inspector::BackendDispatcher::dispatch(WTF::String const&amp;) + 2349 (Ref.h:60)
8   com.apple.WebKit              	0x00000001011aaa14 void IPC::handleMessage&lt;Messages::WebPage::SendMessageToTargetBackend, WebKit::WebPage, void (WebKit::WebPage::*)(WTF::String const&amp;, WTF::String const&amp;)&gt;(IPC::Decoder&amp;, WebKit::WebPage*, void (WebKit::WebPage::*)(WTF::String const&amp;, WTF::String const&amp;)) + 85
9   com.apple.WebKit              	0x00000001011a6de0 WebKit::WebPage::didReceiveWebPageMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 4284
10  com.apple.WebKit              	0x0000000100c950e8 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 114
11  com.apple.WebKit              	0x000000010108bc5a WebKit::WebProcess::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 28 (WebProcess.cpp:745)
12  com.apple.WebKit              	0x0000000100c7e414 IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;) + 176 (Connection.cpp:1079)
13  com.apple.WebKit              	0x0000000100c7e613 IPC::Connection::dispatchOneIncomingMessage() + 199 (Connection.cpp:1146)
14  com.apple.JavaScriptCore      	0x00000001073ffea4 WTF::RunLoop::performWork() + 228 (RunLoop.cpp:107)
15  com.apple.JavaScriptCore      	0x0000000107400142 WTF::RunLoop::performWork(void*) + 34 (RunLoopCF.cpp:39)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612120</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-28 12:49:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/58965805&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612123</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-01-28 12:54:01 -0800</bug_when>
    <thetext>Same crash in debug, plus stderr output:

stderr:
Error when calling &apos;injectModule&apos; for &apos;CommandLineAPI&apos;: SecurityError: Blocked a frame with origin &quot;http://localhost:8800&quot; from accessing a cross-origin frame. Protocols, domains, and ports must match. (26:79)
//# sourceURL=__InjectedScript_CommandLineAPIModuleSource.js
(function(InjectedScriptHost,inspectedGlobalObject,injectedScriptId,injectedScript,{RemoteObject,CommandLineAPI},CommandLineAPIHost){injectedScript._inspectObject=function(object){if(arguments.length===0)
return;let objectId=RemoteObject.create(object);let hints={};switch(RemoteObject.describe(object)){case&quot;Database&quot;:var databaseId=CommandLineAPIHost.databaseId(object);if(databaseId)
hints.databaseId=databaseId;break;case&quot;Storage&quot;:var storageId=CommandLineAPIHost.storageId(object);if(storageId)
hints.domStorageId=InjectedScriptHost.evaluate(&quot;(&quot;+storageId+&quot;)&quot;);break;}
CommandLineAPIHost.inspect(objectId,hints);};CommandLineAPI.getters[&quot;0&quot;]=function(){return CommandLineAPIHost.inspectedObject();};CommandLineAPI.methods[&quot;copy&quot;]=function(object){let string=null;let subtype=RemoteObject.subtype(object);if(subtype===&quot;node&quot;)
string=object.outerHTML;else if(subtype===&quot;regexp&quot;)
string=&quot;&quot;+object;else if(injectedScript.isPrimitiveValue(object))
string=&quot;&quot;+object;else if(typeof object===&quot;symbol&quot;)
string=inspectedGlobalObject.String(object);else if(typeof object===&quot;function&quot;)
string=&quot;&quot;+object;else{try{string=inspectedGlobalObject.JSON.stringify(object,null,&quot;  &quot;);}catch{string=&quot;&quot;+object;}}
CommandLineAPIHost.copyText(string);};CommandLineAPI.methods[&quot;getEventListeners&quot;]=function(target){return CommandLineAPIHost.getEventListeners(target);};function normalizeEventTypes(types){if(types===undefined)
types=[&quot;mouse&quot;,&quot;key&quot;,&quot;touch&quot;,&quot;control&quot;,&quot;abort&quot;,&quot;blur&quot;,&quot;change&quot;,&quot;devicemotion&quot;,&quot;deviceorientation&quot;,&quot;error&quot;,&quot;focus&quot;,&quot;load&quot;,&quot;reset&quot;,&quot;resize&quot;,&quot;scroll&quot;,&quot;search&quot;,&quot;select&quot;,&quot;submit&quot;,&quot;unload&quot;];else if(typeof types===&quot;string&quot;)
types=[types];let result=[];for(let i=0;i&lt;types.length;i++){if(types[i]===&quot;mouse&quot;)
result.push(&quot;click&quot;,&quot;dblclick&quot;,&quot;mousedown&quot;,&quot;mousemove&quot;,&quot;mouseout&quot;,&quot;mouseover&quot;,&quot;mouseup&quot;,&quot;mousewheel&quot;);else if(types[i]===&quot;key&quot;)
result.push(&quot;keydown&quot;,&quot;keypress&quot;,&quot;keyup&quot;,&quot;textInput&quot;);else if(types[i]===&quot;touch&quot;)
result.push(&quot;touchcancel&quot;,&quot;touchend&quot;,&quot;touchmove&quot;,&quot;touchstart&quot;);else if(types[i]===&quot;control&quot;)
result.push(&quot;blur&quot;,&quot;change&quot;,&quot;focus&quot;,&quot;reset&quot;,&quot;resize&quot;,&quot;scroll&quot;,&quot;select&quot;,&quot;submit&quot;,&quot;zoom&quot;);else
result.push(types[i]);}
return result;}
function logEvent(event)
{inspectedGlobalObject.console.log(event.type,event);}
CommandLineAPI.methods[&quot;monitorEvents&quot;]=function(object,types){if(!object||!object.addEventListener||!object.removeEventListener)
return;types=normalizeEventTypes(types);for(let i=0;i&lt;types.length;++i){object.removeEventListener(types[i],logEvent,false);object.addEventListener(types[i],logEvent,false);}};CommandLineAPI.methods[&quot;unmonitorEvents&quot;]=function(object,types){if(!object||!object.addEventListener||!object.removeEventListener)
return;types=normalizeEventTypes(types);for(let i=0;i&lt;types.length;++i)
object.removeEventListener(types[i],logEvent,false);};if(inspectedGlobalObject.document&amp;&amp;inspectedGlobalObject.Node){function canQuerySelectorOnNode(node){return node&amp;&amp;InjectedScriptHost.subtype(node)===&quot;node&quot;&amp;&amp;(node.nodeType===inspectedGlobalObject.Node.ELEMENT_NODE||node.nodeType===inspectedGlobalObject.Node.DOCUMENT_NODE||node.nodeType===inspectedGlobalObject.Node.DOCUMENT_FRAGMENT_NODE);}
CommandLineAPI.methods[&quot;$&quot;]=function(selector,start){if(canQuerySelectorOnNode(start))
return start.querySelector(selector);let result=inspectedGlobalObject.document.querySelector(selector);if(result)
return result;if(selector&amp;&amp;selector[0]!==&quot;#&quot;){result=inspectedGlobalObject.document.getElementById(selector);if(result){inspectedGlobalObject.console.warn(&quot;The console function $() has changed from $=getElementById(id) to $=querySelector(selector). You might try $(\&quot;#%s\&quot;)&quot;,selector);return null;}}
return result;};CommandLineAPI.methods[&quot;$$&quot;]=function(selector,start){if(canQuerySelectorOnNode(start))
return inspectedGlobalObject.Array.from(start.querySelectorAll(selector));return inspectedGlobalObject.Array.from(inspectedGlobalObject.document.querySelectorAll(selector));};CommandLineAPI.methods[&quot;$x&quot;]=function(xpath,context){let doc=(context&amp;&amp;context.ownerDocument)||inspectedGlobalObject.document;let result=doc.evaluate(xpath,context||doc,null,inspectedGlobalObject.XPathResult.ANY_TYPE,null);switch(result.resultType){case inspectedGlobalObject.XPathResult.NUMBER_TYPE:return result.numberValue;case inspectedGlobalObject.XPathResult.STRING_TYPE:return result.stringValue;case inspectedGlobalObject.XPathResult.BOOLEAN_TYPE:return result.booleanValue;}
let nodes=[];let node=null;while(node=result.iterateNext())
nodes.push(node);return nodes;};}
for(let name in CommandLineAPI.methods)
CommandLineAPI.methods[name].toString=function(){return&quot;function &quot;+name+&quot;() { [Command Line API] }&quot;;};})</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612753</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-01-29 16:27:37 -0800</bug_when>
    <thetext>*** Bug 206936 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612916</commentid>
    <comment_count>4</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-01-30 05:09:22 -0800</bug_when>
    <thetext>This test is failing very frequently in EWS as well, making EWS queue slow (and sometimes incorrect), e.g.:
https://ews-build.webkit.org/#/builders/31
https://ews-build.webkit.org/#/builders/31/builds/1813
https://ews-build.webkit.org/#/builders/31/builds/1810
https://ews-build.webkit.org/#/builders/31/builds/1802
https://ews-build.webkit.org/#/builders/31/builds/1801
https://ews-build.webkit.org/#/builders/31/builds/1800
https://ews-build.webkit.org/#/builders/31/builds/1797
https://ews-build.webkit.org/#/builders/31/builds/1785
https://ews-build.webkit.org/#/builders/31/builds/1779
https://ews-build.webkit.org/#/builders/31/builds/1777</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1614009</commentid>
    <comment_count>5</comment_count>
      <attachid>389530</attachid>
    <who name="Jacob Uphoff">jacob_uphoff</who>
    <bug_when>2020-02-03 09:47:21 -0800</bug_when>
    <thetext>Created attachment 389530
Update Test Expectations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1614011</commentid>
    <comment_count>6</comment_count>
      <attachid>389530</attachid>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2020-02-03 09:54:27 -0800</bug_when>
    <thetext>Comment on attachment 389530
Update Test Expectations

Clearing flags on attachment: 389530

Committed r255571: &lt;https://trac.webkit.org/changeset/255571&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389530</attachid>
            <date>2020-02-03 09:47:21 -0800</date>
            <delta_ts>2020-02-03 09:54:27 -0800</delta_ts>
            <desc>Update Test Expectations</desc>
            <filename>bug-206903-20200203094720.patch</filename>
            <type>text/plain</type>
            <size>1478</size>
            <attacher name="Jacob Uphoff">jacob_uphoff</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1NTcwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2JhYWE3YTkwMDU2ZTI5ZDMwZmNj
ZTAwOTgyM2NjODdkMzNlZDUwMS4uYzEwYTNmMjg0ZTBiMjU1OThhMzRlMDEzZDNjNGVlNWQ4NDRh
Mjc4ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTAyLTAzICBKYWNvYiBVcGhvZmYgIDxq
YWNvYl91cGhvZmZAYXBwbGUuY29tPgorCisgICAgICAgIGluc3BlY3Rvci9oZWFwL2dldFJlbW90
ZU9iamVjdC5odG1sIGlzIGEgZmxha3kgY3Jhc2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjkwMworCisgICAgICAgIFVwZGF0aW5nIGV4cGVjdGF0
aW9ucyBmb3IgYW4gZXhpc3RpbmcgYnVnCisKKyAgICAgICAgVW5yZXZpZXdlZCB0ZXN0IGdhcmRl
bmluZworCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorCiAy
MDIwLTAyLTAzICBKYWNvYiBVcGhvZmYgIDxqYWNvYl91cGhvZmZAYXBwbGUuY29tPgogCiAgICAg
ICAgIFsgbWFjT1Mgd2syIF0gd2ViZ3B1L3dobHNsL2J1ZmZlci12ZXJ0ZXguaHRtbCBpcyBmbGFr
eSBmYWlsaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggZTRmYzc5ZmM2OTgyMjZkNmIxYWNiMzYyMzRjMDk0N2RkY2QyMzI2Ny4uMDIwZTc3
ZWFhZjE2OTA3YmJkZjc3NTI1M2E2ZTU1NTZlOWIwNjkwYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtOTYyLDQgKzk2Miw2IEBAIHdlYmtp
dC5vcmcvYi8yMDcxMTcgd2ViZ3B1L3dobHNsL25lc3RlZC1sb29wLmh0bWwgWyBQYXNzIEZhaWx1
cmUgXQogCiB3ZWJraXQub3JnL2IvMjA3MTIwIHRpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL3Njcm9s
bC1zbmFwL3Njcm9sbC1zbmFwLW1hbmRhdG9yeS10aGVuLXByb3hpbWl0eS5odG1sIFsgUGFzcyBG
YWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzIwNzEyNyB3ZWJncHUvd2hsc2wvYnVmZmVyLXZlcnRl
eC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit3ZWJr
aXQub3JnL2IvMjA3MTI3IHdlYmdwdS93aGxzbC9idWZmZXItdmVydGV4Lmh0bWwgWyBQYXNzIEZh
aWx1cmUgXQorCit3ZWJraXQub3JnL2IvMjA2OTAzIGluc3BlY3Rvci9oZWFwL2dldFJlbW90ZU9i
amVjdC5odG1sIFsgUGFzcyBDcmFzaCBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>