RESOLVED DUPLICATE of bug 206903 Bug 206936
REGRESSION: ( r254835 ) [ Mac WK2 ] inspector/heap/getRemoteObject.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=206936
Summary REGRESSION: ( r254835 ) [ Mac WK2 ] inspector/heap/getRemoteObject.html is a ...
Truitt Savell
Reported 2020-01-29 08:20:30 PST
inspector/heap/getRemoteObject.html This test was reintroduced in https://trac.webkit.org/changeset/254835/webkit and is still crashing often and interfering with EWS history: https://results.webkit.org/?suite=layout-tests&test=inspector%2Fheap%2FgetRemoteObject.html Crash: No crash log found for com.apple.WebKit.WebContent.Development:99264. stdout: stderr: Error when calling 'injectModule' for 'CommandLineAPI': SecurityError: Blocked a frame with origin "http://localhost:8800" 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"Database":var databaseId=CommandLineAPIHost.databaseId(object);if(databaseId) hints.databaseId=databaseId;break;case"Storage":var storageId=CommandLineAPIHost.storageId(object);if(storageId) hints.domStorageId=InjectedScriptHost.evaluate("("+storageId+")");break;} CommandLineAPIHost.inspect(objectId,hints);};CommandLineAPI.getters["0"]=function(){return CommandLineAPIHost.inspectedObject();};CommandLineAPI.methods["copy"]=function(object){let string=null;let subtype=RemoteObject.subtype(object);if(subtype==="node") string=object.outerHTML;else if(subtype==="regexp") string=""+object;else if(injectedScript.isPrimitiveValue(object)) string=""+object;else if(typeof object==="symbol") string=inspectedGlobalObject.String(object);else if(typeof object==="function") string=""+object;else{try{string=inspectedGlobalObject.JSON.stringify(object,null," ");}catch{string=""+object;}} CommandLineAPIHost.copyText(string);};CommandLineAPI.methods["getEventListeners"]=function(target){return CommandLineAPIHost.getEventListeners(target);};function normalizeEventTypes(types){if(types===undefined) types=["mouse","key","touch","control","abort","blur","change","devicemotion","deviceorientation","error","focus","load","reset","resize","scroll","search","select","submit","unload"];else if(typeof types==="string") types=[types];let result=[];for(let i=0;i<types.length;i++){if(types[i]==="mouse") result.push("click","dblclick","mousedown","mousemove","mouseout","mouseover","mouseup","mousewheel");else if(types[i]==="key") result.push("keydown","keypress","keyup","textInput");else if(types[i]==="touch") result.push("touchcancel","touchend","touchmove","touchstart");else if(types[i]==="control") result.push("blur","change","focus","reset","resize","scroll","select","submit","zoom");else result.push(types[i]);} return result;} function logEvent(event) {inspectedGlobalObject.console.log(event.type,event);} CommandLineAPI.methods["monitorEvents"]=function(object,types){if(!object||!object.addEventListener||!object.removeEventListener) return;types=normalizeEventTypes(types);for(let i=0;i<types.length;++i){object.removeEventListener(types[i],logEvent,false);object.addEventListener(types[i],logEvent,false);}};CommandLineAPI.methods["unmonitorEvents"]=function(object,types){if(!object||!object.addEventListener||!object.removeEventListener) return;types=normalizeEventTypes(types);for(let i=0;i<types.length;++i) object.removeEventListener(types[i],logEvent,false);};if(inspectedGlobalObject.document&&inspectedGlobalObject.Node){function canQuerySelectorOnNode(node){return node&&InjectedScriptHost.subtype(node)==="node"&&(node.nodeType===inspectedGlobalObject.Node.ELEMENT_NODE||node.nodeType===inspectedGlobalObject.Node.DOCUMENT_NODE||node.nodeType===inspectedGlobalObject.Node.DOCUMENT_FRAGMENT_NODE);} CommandLineAPI.methods["$"]=function(selector,start){if(canQuerySelectorOnNode(start)) return start.querySelector(selector);let result=inspectedGlobalObject.document.querySelector(selector);if(result) return result;if(selector&&selector[0]!=="#"){result=inspectedGlobalObject.document.getElementById(selector);if(result){inspectedGlobalObject.console.warn("The console function $() has changed from $=getElementById(id) to $=querySelector(selector). You might try $(\"#%s\")",selector);return null;}} return result;};CommandLineAPI.methods["$$"]=function(selector,start){if(canQuerySelectorOnNode(start)) return inspectedGlobalObject.Array.from(start.querySelectorAll(selector));return inspectedGlobalObject.Array.from(inspectedGlobalObject.document.querySelectorAll(selector));};CommandLineAPI.methods["$x"]=function(xpath,context){let doc=(context&&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"function "+name+"() { [Command Line API] }";};})
Attachments
Radar WebKit Bug Importer
Comment 1 2020-01-29 08:20:48 PST
Devin Rousso
Comment 2 2020-01-29 12:13:36 PST
I've run over 1000 iterations of this, including other tests randomly to see if it's a bad state issue, and am unable to reproduce this locally.
Alexey Proskuryakov
Comment 3 2020-01-29 16:27:37 PST
*** This bug has been marked as a duplicate of bug 206903 ***
Note You need to log in before you can comment on or make changes to this bug.