[Webkit-unassigned] [Bug 201713] New: ASSERT NOT REACHED in Inspector::InjectedScriptModule::ensureInjected() seen with inspector/heap/getRemoteObject.html

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Sep 11 22:04:24 PDT 2019


https://bugs.webkit.org/show_bug.cgi?id=201713

            Bug ID: 201713
           Summary: ASSERT NOT REACHED in
                    Inspector::InjectedScriptModule::ensureInjected() seen
                    with inspector/heap/getRemoteObject.html
           Product: WebKit
           Version: Other
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Web Inspector
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: ryanhaddad at apple.com
                CC: inspector-bugzilla-changes at group.apple.com,
                    webkit-bot-watchers-bugzilla at group.apple.com,
                    webkit-bug-importer at group.apple.com

The following flaky crash is seen with inspector/heap/getRemoteObject.html:

ERROR: File failed to delete. Error message: Operation not permitted
/Volumes/Data/slave/mojave-debug/build/Source/WTF/wtf/posix/FileSystemPOSIX.cpp(77) : bool WTF::FileSystemImpl::deleteFile(const WTF::String &)
Failed to parse/execute CommandLineAPI!
//# 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] }";};})?
SHOULD NEVER BE REACHED
./inspector/InjectedScriptModule.cpp(80) : void Inspector::InjectedScriptModule::ensureInjected(Inspector::InjectedScriptManager *, const Inspector::InjectedScript &)
1   0x1b28d51e9 WTFCrash
2   0x1b28d7f3b WTFCrashWithInfo(int, char const*, char const*, int)
3   0x1b3a213d7 Inspector::InjectedScriptModule::ensureInjected(Inspector::InjectedScriptManager*, Inspector::InjectedScript const&)
4   0x19bd56565 WebCore::CommandLineAPIModule::injectIfNeeded(Inspector::InjectedScriptManager*, Inspector::InjectedScript const&)
5   0x19be4db48 WebCore::WebInjectedScriptManager::didCreateInjectedScript(Inspector::InjectedScript const&)
6   0x1b3a1ff10 Inspector::InjectedScriptManager::injectedScriptFor(JSC::ExecState*)
7   0x1b3af4560 Inspector::InspectorHeapAgent::getRemoteObject(WTF::String&, int, WTF::String const*, WTF::RefPtr<Inspector::Protocol::Runtime::RemoteObject, WTF::DumbPtrTraits<Inspector::Protocol::Runtime::RemoteObject> >&)
8   0x1b3a4393a Inspector::HeapBackendDispatcher::getRemoteObject(long, WTF::RefPtr<WTF::JSONImpl::Object, WTF::DumbPtrTraits<WTF::JSONImpl::Object> >&&)
9   0x1b3a4293b Inspector::HeapBackendDispatcher::dispatch(long, WTF::String const&, WTF::Ref<WTF::JSONImpl::Object, WTF::DumbPtrTraits<WTF::JSONImpl::Object> >&&)
10  0x1b3a2325b Inspector::BackendDispatcher::dispatch(WTF::String const&)
11  0x19bdf434c WebCore::InspectorController::dispatchMessageFromFrontend(WTF::String const&)
12  0x10ea7614c WebKit::WebPageInspectorTarget::sendMessageToTargetBackend(WTF::String const&)
13  0x10ea7699d WebKit::WebPageInspectorTargetController::sendMessageToTargetBackend(WTF::String const&, WTF::String const&)
14  0x10ebb1177 WebKit::WebPage::sendMessageToTargetBackend(WTF::String const&, WTF::String const&)
15  0x10ec36893 void IPC::callMemberFunctionImpl<WebKit::WebPage, void (WebKit::WebPage::*)(WTF::String const&, WTF::String const&), std::__1::tuple<WTF::String, WTF::String>, 0ul, 1ul>(WebKit::WebPage*, void (WebKit::WebPage::*)(WTF::String const&, WTF::String const&), std::__1::tuple<WTF::String, WTF::String>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul>)
16  0x10ec367a0 void IPC::callMemberFunction<WebKit::WebPage, void (WebKit::WebPage::*)(WTF::String const&, WTF::String const&), std::__1::tuple<WTF::String, WTF::String>, std::__1::integer_sequence<unsigned long, 0ul, 1ul> >(std::__1::tuple<WTF::String, WTF::String>&&, WebKit::WebPage*, void (WebKit::WebPage::*)(WTF::String const&, WTF::String const&))
17  0x10ec1220a void IPC::handleMessage<Messages::WebPage::SendMessageToTargetBackend, WebKit::WebPage, void (WebKit::WebPage::*)(WTF::String const&, WTF::String const&)>(IPC::Decoder&, WebKit::WebPage*, void (WebKit::WebPage::*)(WTF::String const&, WTF::String const&))
18  0x10ec09980 WebKit::WebPage::didReceiveWebPageMessage(IPC::Connection&, IPC::Decoder&)
19  0x10ebb8d38 WebKit::WebPage::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
20  0x10d878d09 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&)
21  0x10e7bd35d WebKit::WebProcess::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
22  0x10d8016f9 IPC::Connection::dispatchMessage(IPC::Decoder&)
23  0x10d7fabab IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)
24  0x10d802203 IPC::Connection::dispatchOneIncomingMessage()
25  0x10d81c7bb IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_7::operator()()
26  0x10d81c6d9 WTF::Detail::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_7, void>::call()
27  0x1b2901cfa WTF::Function<void ()>::operator()() const
28  0x1b2972d63 WTF::RunLoop::performWork()
29  0x1b29741fe WTF::RunLoop::performWork(void*)
30  0x7fff3787c683 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
31  0x7fff3787c629 __CFRunLoopDoSource0

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=inspector%2Fheap%2FgetRemoteObject.html

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20190912/cbd575dd/attachment-0001.html>


More information about the webkit-unassigned mailing list