[Webkit-unassigned] [Bug 194286] New: WTR::InjectedBundlePage::willSendRequestForFrame() leaks a WKDataRef
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Feb 5 05:31:36 PST 2019
https://bugs.webkit.org/show_bug.cgi?id=194286
Bug ID: 194286
Summary: WTR::InjectedBundlePage::willSendRequestForFrame()
leaks a WKDataRef
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Keywords: InRadar
Severity: Normal
Priority: P2
Component: Tools / Tests
Assignee: webkit-unassigned at lists.webkit.org
Reporter: ddkilzer at webkit.org
CC: joepeck at webkit.org, lforschler at apple.com
WTR::InjectedBundlePage::willSendRequestForFrame() leaks a WKDataRef.
Example leak:
STACK OF 1 INSTANCE OF 'ROOT LEAK: <WKNSData>':
[thread 0x1065c05c0]:
63 libdyld.dylib 0x5b34b3575 start + 1
62 com.apple.WebKit.WebContent 0x10585d3e5 invocation function for block in WebKit::XPCServiceEventHandler(NSObject<OS_xpc_object>*) + 0 XPCServiceMain.mm:46
61 com.apple.WebKit.WebContent 0x10585d268 WebKit::XPCServiceMain(int, char const**) + 403 XPCServiceMain.mm:157
60 libxpc.dylib 0x5b377ec75 xpc_main + 143
59 libxpc.dylib 0x5b377c7ca _xpc_objc_main + 460
58 com.apple.Foundation 0x10591a522 -[NSRunLoop(NSRunLoop) run] + 76
57 com.apple.Foundation 0x10591a3b2 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 277
56 com.apple.CoreFoundation 0x5b1b43e51 CFRunLoopRunSpecific + 625
55 com.apple.CoreFoundation 0x5b1b4467f __CFRunLoopRun + 1263
54 com.apple.CoreFoundation 0x5b1b49fd3 __CFRunLoopDoSources0 + 243
53 com.apple.CoreFoundation 0x5b1b4a761 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
52 JavaScriptCore 0x5b630f2a2 WTF::RunLoop::performWork(void*) + 34 RunLoopCF.cpp:39
51 JavaScriptCore 0x5b630f017 WTF::RunLoop::performWork() + 231 Function.h:56
50 com.apple.WebKit 0x5b00ab894 IPC::Connection::dispatchOneIncomingMessage() + 180 Connection.cpp:1074
49 com.apple.WebKit 0x5b00a8262 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) + 108 memory:2567
48 com.apple.WebKit 0x5b03c145f WebKit::NetworkProcessConnection::didReceiveMessage(IPC::Connection&, IPC::Decoder&) + 625 NetworkProcessConnection.cpp:0
47 com.apple.WebKit 0x5b04a25aa WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection&, IPC::Decoder&) + 754 HandleMessage.h:0
46 com.apple.WebKit 0x5b03c74c5 WebKit::WebResourceLoader::didFinishResourceLoad(WebCore::NetworkLoadMetrics const&) + 211 WebResourceLoader.cpp:164
45 com.apple.WebCore 0x5b888c5b8 WebCore::SubresourceLoader::didFinishLoading(WebCore::NetworkLoadMetrics const&) + 760 ResourceLoader.h:161
44 com.apple.WebCore 0x5b88bce75 WebCore::CachedRawResource::finishLoading(WebCore::SharedBuffer*) + 661 CachedRawResource.cpp:107
43 com.apple.WebCore 0x5b88c130c WebCore::CachedResource::checkNotify() + 348 CachedResource.cpp:355
42 com.apple.WebCore 0x5b8841745 WebCore::DocumentThreadableLoader::didFinishLoading(unsigned long) + 405 DocumentThreadableLoader.cpp:465
41 com.apple.WebCore 0x5b8fb0db8 WebCore::XMLHttpRequest::didFinishLoading(unsigned long) + 184 type_traits:4592
40 com.apple.WebCore 0x5b8fad7b4 WebCore::XMLHttpRequest::changeState(WebCore::XMLHttpRequest::State) + 164 XMLHttpRequest.cpp:313
39 com.apple.WebCore 0x5b8fad8c5 WebCore::XMLHttpRequest::callReadyStateChangeListener() + 149 Ref.h:59
38 com.apple.WebCore 0x5b8489498 WebCore::EventTarget::dispatchEvent(WebCore::Event&) + 136 EventTarget.cpp:199
37 com.apple.WebCore 0x5b84870c2 WebCore::EventTarget::fireEventListeners(WebCore::Event&, WebCore::EventTarget::EventInvokePhase) + 690 Vector.h:674
36 com.apple.WebCore 0x5b8489828 WebCore::EventTarget::innerInvokeEventListeners(WebCore::Event&, WTF::Vector<WTF::RefPtr<WebCore::RegisteredEventListener, WTF::DumbPtrTraits<WebCore::RegisteredEventListener> >, 1ul, WTF::CrashOnOverflow, 16ul>, WebCore::EventTarget::EventInvokePhase) + 872 InspectorInstrumentation.h:284
35 com.apple.WebCore 0x5b81d2098 WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&, WebCore::Event&) + 1096 JSEventListener.cpp:175
34 com.apple.WebCore 0x5b81ba0a4 WebCore::JSExecState::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, WTF::NakedPtr<JSC::Exception>&) + 100 JSExecState.h:74
33 JavaScriptCore 0x5b6abb04b JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, WTF::NakedPtr<JSC::Exception>&) + 187 CallData.cpp:59
32 JavaScriptCore 0x5b6874a95 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 469 JITCodeInlines.h:39
31 JavaScriptCore 0x5b6494a09 vmEntryToJavaScript + 200 LowLevelInterpreter64.asm:294
30 JavaScriptCore 0x5b64a3cf1 llint_entry + 61758 LowLevelInterpreter.asm:886
29 0x3ada8ee01177 0x3ada8ee01000 + 375
28 com.apple.WebCore 0x5b7f3779d WebCore::jsXMLHttpRequestPrototypeFunctionSend(JSC::ExecState*) + 269 Expected.h:550
27 com.apple.WebCore 0x5b8fae1a5 WebCore::XMLHttpRequest::send(WTF::Optional<WTF::Variant<WTF::RefPtr<WebCore::Document, WTF::DumbPtrTraits<WebCore::Document> >, WTF::RefPtr<WebCore::Blob, WTF::DumbPtrTraits<WebCore::Blob> >, WTF::RefPtr<JSC::ArrayBufferView, WTF::DumbPtrTraits<JSC::ArrayBufferView> >, WTF::RefPtr<JSC::ArrayBuffer, WTF::DumbPtrTraits<JSC::ArrayBuffer> >, WTF::RefPtr<WebCore::DOMFormData, WTF::DumbPtrTraits<WebCore::DOMFormData> >, WTF::String> >&&) + 133 Expected.h:297
26 com.apple.WebCore 0x5b8fb2ecb WebCore::ExceptionOr<void> WTF::__visitor_table<WTF::Visitor<WebCore::XMLHttpRequest::send(WTF::Optional<WTF::Variant<WTF::RefPtr<WebCore::Document, WTF::DumbPtrTraits<WebCore::Document> >, WTF::RefPtr<WebCore::Blob, WTF::DumbPtrTraits<WebCore::Blob> >, WTF::RefPtr<JSC::ArrayBufferView, WTF::DumbPtrTraits<JSC::ArrayBufferView> >, WTF::RefPtr<JSC::ArrayBuffer, WTF::DumbPtrTraits<JSC::ArrayBuffer> >, WTF::RefPtr<WebCore::DOMFormData, WTF::DumbPtrTraits<WebCore::DOMFormData> >, WTF::String> >&&)::$_0, WebCore::XMLHttpRequest::send(WTF::Optional<WTF::Variant<WTF::RefPtr<WebCore::Document, WTF::DumbPtrTraits<WebCore::Document> >, WTF::RefPtr<WebCore::Blob, WTF::DumbPtrTraits<WebCore::Blob> >, WTF::RefPtr<JSC::ArrayBufferView, WTF::DumbPtrTraits<JSC::ArrayBufferView> >, WTF::RefPtr<JSC::ArrayBuffer, WTF::DumbPtrTraits<JSC::ArrayBuffer> >, WTF::RefPtr<WebCore::DOMFormData, WTF::DumbPtrTraits<WebCore::DOMFormData> >, WTF::String> >&&)::$_1, WebCore::XMLHttpRequest::send(WTF::Optional<WTF::Variant<WTF::RefPtr<WebCore::Document, WTF::DumbPtrTraits<WebCore::Document> >, WTF::RefPtr<WebCore::Blob, WTF::DumbPtrTraits<WebCore::Blob> >, WTF::RefPtr<JSC::ArrayBufferView, WTF::DumbPtrTraits<JSC::ArrayBufferView> >, WTF::RefPtr<JSC::ArrayBuffer, WTF::DumbPtrTraits<JSC::ArrayBuffer> >, WTF::RefPtr<WebCore::DOMFormData, WTF::DumbPtrTraits<WebCore::DOMFormData> >, WTF::String> >&&)::$_2, WebCore::XMLHttpRequest::send(WTF::Optional<WTF::Variant<WTF::RefPtr<WebCore::Document, WTF::DumbPtrTraits<WebCore::Document> >, WTF::RefPtr<WebCore::Blob, WTF::DumbPtrTraits<WebCore::Blob> >, WTF::RefPtr<JSC::ArrayBufferView, WTF::DumbPtrTraits<JSC::ArrayBufferView> >, WTF::RefPtr<JSC::ArrayBuffer, WTF::DumbPtrTraits<JSC::ArrayBuffer> >, WTF::RefPtr<WebCore::DOMFormData, WTF::DumbPtrTraits<WebCore::DOMFormData> >, WTF::String> >&&)::$_3, WebCore::XMLHttpRequest::send(WTF::Optional<WTF::Variant<WTF::RefPtr<WebCore::Document, WTF::DumbPtrTraits<WebCore::Document> >, WTF::RefPtr<WebCore::Blob, WTF::DumbPtrTraits<WebCore::Blob> >, WTF::RefPtr<JSC::ArrayBufferView, WTF::DumbPtrTraits<JSC::ArrayBufferView> >, WTF::RefPtr<JSC::ArrayBuffer, WTF::DumbPtrTraits<JSC::ArrayBuffer> >, WTF::RefPtr<WebCore::DOMFormData, WTF::DumbPtrTraits<WebCore::DOMFormData> >, WTF::String> >&&)::$_4, WebCore::XMLHttpRequest::send(WTF::Optional<WTF::Variant<WTF::RefPtr<WebCore::Document, WTF::DumbPtrTraits<WebCore::Document> >, WTF::RefPtr<WebCore::Blob, WTF::DumbPtrTraits<WebCore::Blob> >, WTF::RefPtr<JSC::ArrayBufferView, WTF::DumbPtrTraits<JSC::ArrayBufferView> >, WTF::RefPtr<JSC::ArrayBuffer, WTF::DumbPtrTraits<JSC::ArrayBuffer> >, WTF::RefPtr<WebCore::DOMFormData, WTF::DumbPtrTraits<WebCore::DOMFormData> >, WTF::String> >&&)::$_5>, WTF::RefPtr<WebCore::Document, WTF::DumbPtrTraits<WebCore::Document> >, WTF::RefPtr<WebCore::Blob, WTF::DumbPtrTraits<WebCore::Blob> >, WTF::RefPtr<JSC::ArrayBufferView, WTF::DumbPtrTraits<JSC::ArrayBufferView> >, WTF::RefPtr<JSC::ArrayBuffer, WTF::DumbPtrTraits<JSC::ArrayBuffer> >, WTF::RefPtr<WebCore::DOMFormData, WTF::DumbPtrTraits<WebCore::DOMFormData> >, WTF::String>::__trampoline_func<WTF::String>(WTF::Visitor<WebCore::XMLHttpRequest::send(WTF::Optional<WTF::Variant<WTF::RefPtr<WebCore::Document, WTF::DumbPtrTraits<WebCore::Document> >, WTF::RefPtr<WebCore::Blob, WTF::DumbPtrTraits<WebCore::Blob> >, WTF::RefPtr<JSC::ArrayBufferView, WTF::DumbPtrTraits<JSC::ArrayBufferView> >, WTF::RefPtr<JSC::ArrayBuffer, WTF::DumbPtrTraits<JSC::ArrayBuffer> >, WTF::RefPtr<WebCore::DOMFormData, WTF::DumbPtrTraits<WebCore::DOMFormData> >, WTF::String> >&&)::$_0, WebCore::XMLHttpRequest::send(WTF::Optional<WTF::Variant<WTF::RefPtr<WebCore::Document, WTF::DumbPtrTraits<WebCore::Document> >, WTF::RefPtr<WebCore::Blob, WTF::DumbPtrTraits<WebCore::Blob> >, WTF::RefPtr<JSC::ArrayBufferView, WTF::DumbPtrTraits<JSC::ArrayBufferView> >, WTF::RefPtr<JSC::ArrayBuffer, WTF::DumbPtrTraits<JSC::ArrayBuffer> >, WTF::RefPtr<WebCore::DOMFormData, WTF::DumbPtrTraits<WebCore::DOMFormData> >, WTF::String> >&&)::$_1, WebCore::XMLHttpRequest::send(WTF::Optional<WTF::Variant<WTF::RefPtr<WebCore::Document, WTF::DumbPtrTraits<WebCore::Document> >, WTF::RefPtr<WebCore::Blob, WTF::DumbPtrTraits<WebCore::Blob> >, WTF::RefPtr<JSC::ArrayBufferView, WTF::DumbPtrTraits<JSC::ArrayBufferView> >, WTF::RefPtr<JSC::ArrayBuffer, WTF::DumbPtrTraits<JSC::ArrayBuffer> >, WTF::RefPtr<WebCore::DOMFormData, WTF::DumbPtrTraits<WebCore::DOMFormData> >, WTF::String> >&&)::$_2, WebCore::XMLHttpRequest::send(WTF::Optional<WTF::Variant<WTF::RefPtr<WebCore::Document, WTF::DumbPtrTraits<WebCore::Document> >, WTF::RefPtr<WebCore::Blob, WTF::DumbPtrTraits<WebCore::Blob> >, WTF::RefPtr<JSC::ArrayBufferView, WTF::DumbPtrTraits<JSC::ArrayBufferView> >, WTF::RefPtr<JSC::ArrayBuffer, WTF::DumbPtrTraits<JSC::ArrayBuffer> >, WTF::RefPtr<WebCore::DOMFormData, WTF::DumbPtrTraits<WebCore::DOMFormData> >, WTF::String> >&&)::$_3, WebCore::XMLHttpRequest::send(WTF::Optional<WTF::Variant<WTF::RefPtr<WebCore::Document, WTF::DumbPtrTraits<WebCore::Document> >, WTF::RefPtr<WebCore::Blob, WTF::DumbPtrTraits<WebCore::Blob> >, WTF::RefPtr<JSC::ArrayBufferView, WTF::DumbPtrTraits<JSC::ArrayBufferView> >, WTF::RefPtr<JSC::ArrayBuffer, WTF::DumbPtrTraits<JSC::ArrayBuffer> >, WTF::RefPtr<WebCore::DOMFormData, WTF::DumbPtrTraits<WebCore::DOMFormData> >, WTF::String> >&&)::$_4, WebCore::XMLHttpRequest::send(WTF::Optional<WTF::Variant<WTF::RefPtr<WebCore::Document, WTF::DumbPtrTraits<WebCore::Document> >, WTF::RefPtr<WebCore::Blob, WTF::DumbPtrTraits<WebCore::Blob> >, WTF::RefPtr<JSC::ArrayBufferView, WTF::DumbPtrTraits<JSC::ArrayBufferView> >, WTF::RefPtr<JSC::ArrayBuffer, WTF::DumbPtrTraits<JSC::ArrayBuffer> >, WTF::RefPtr<WebCore::DOMFormData, WTF::DumbPtrTraits<WebCore::DOMFormData> >, WTF::String> >&&)::$_5>&, WTF::Variant<WTF::RefPtr<WebCore::Document, WTF::DumbPtrTraits<WebCore::Document> >, WTF::RefPtr<WebCore::Blob, WTF::DumbPtrTraits<WebCore::Blob> >, WTF::RefPtr<JSC::ArrayBufferView, WTF::DumbPtrTraits<JSC::ArrayBufferView> >, WTF::RefPtr<JSC::ArrayBuffer, WTF::DumbPtrTraits<JSC::ArrayBuffer> >, WTF::RefPtr<WebCore::DOMFormData, WTF::DumbPtrTraits<WebCore::DOMFormData> >, WTF::String>&) + 27 Variant.h:1868
25 com.apple.WebCore 0x5b8fae6eb WebCore::XMLHttpRequest::send(WTF::String const&) + 875 XMLHttpRequest.cpp:518
24 com.apple.WebCore 0x5b8faf21d WebCore::XMLHttpRequest::createRequest() + 1709 utility:896
23 com.apple.WebCore 0x5b8893167 WebCore::ThreadableLoader::create(WebCore::ScriptExecutionContext&, WebCore::ThreadableLoaderClient&, WebCore::ResourceRequest&&, WebCore::ThreadableLoaderOptions const&, WTF::String&&) + 167 utility:896
22 com.apple.WebCore 0x5b883dd4c WebCore::DocumentThreadableLoader::create(WebCore::Document&, WebCore::ThreadableLoaderClient&, WebCore::ResourceRequest&&, WebCore::ThreadableLoaderOptions const&, WTF::String&&) + 108 DocumentThreadableLoader.cpp:128
21 com.apple.WebCore 0x5b883e3a0 WebCore::DocumentThreadableLoader::DocumentThreadableLoader(WebCore::Document&, WebCore::ThreadableLoaderClient&, WebCore::DocumentThreadableLoader::BlockingBehavior, WebCore::ResourceRequest&&, WebCore::ThreadableLoaderOptions const&, WTF::RefPtr<WebCore::SecurityOrigin, WTF::DumbPtrTraits<WebCore::SecurityOrigin> >&&, std::__1::unique_ptr<WebCore::ContentSecurityPolicy, std::__1::default_delete<WebCore::ContentSecurityPolicy> >&&, WTF::String&&, WebCore::DocumentThreadableLoader::ShouldLogError) + 1232 DocumentThreadableLoader.cpp:172
20 com.apple.WebCore 0x5b883ebfc WebCore::DocumentThreadableLoader::loadRequest(WebCore::ResourceRequest&&, WebCore::SecurityCheckPolicy) + 1436 Expected.h:496
19 com.apple.WebCore 0x5b88c7d3e WebCore::CachedResourceLoader::requestRawResource(WebCore::CachedResourceRequest&&) + 46 CachedResourceLoader.cpp:304
18 com.apple.WebCore 0x5b88c60fc WebCore::CachedResourceLoader::requestResource(WebCore::CachedResource::Type, WebCore::CachedResourceRequest&&, WebCore::CachedResourceLoader::ForPreload, WebCore::CachedResourceLoader::DeferOption) + 7852 CachedResourceHandle.h:38
17 com.apple.WebCore 0x5b88c0aca WebCore::CachedResource::load(WebCore::CachedResourceLoader&) + 3082 memory:2595
16 com.apple.WebKit 0x5b03c23f5 WebKit::WebLoaderStrategy::loadResource(WebCore::Frame&, WebCore::CachedResource&, WebCore::ResourceRequest&&, WebCore::ResourceLoaderOptions const&, WTF::CompletionHandler<void (WTF::RefPtr<WebCore::SubresourceLoader, WTF::DumbPtrTraits<WebCore::SubresourceLoader> >&&)>&&) + 169 memory:2595
15 com.apple.WebCore 0x5b888a89f WebCore::SubresourceLoader::create(WebCore::Frame&, WebCore::CachedResource&, WebCore::ResourceRequest&&, WebCore::ResourceLoaderOptions const&, WTF::CompletionHandler<void (WTF::RefPtr<WebCore::SubresourceLoader, WTF::DumbPtrTraits<WebCore::SubresourceLoader> >&&)>&&) + 175 memory:2595
14 com.apple.WebCore 0x5b888100c WebCore::ResourceLoader::init(WebCore::ResourceRequest&&, WTF::CompletionHandler<void (bool)>&&) + 364 memory:2595
13 com.apple.WebCore 0x5b888aeac WebCore::SubresourceLoader::willSendRequestInternal(WebCore::ResourceRequest&&, WebCore::ResourceResponse const&, WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&) + 908 utility:896
12 com.apple.WebCore 0x5b888cde9 WebCore::SubresourceLoader::willSendRequestInternal(WebCore::ResourceRequest&&, WebCore::ResourceResponse const&, WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&)::$_1::operator()(WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&, WebCore::ResourceRequest&&) + 361 memory:2595
11 com.apple.WebCore 0x5b8881d17 WebCore::ResourceLoader::willSendRequestInternal(WebCore::ResourceRequest&&, WebCore::ResourceResponse const&, WTF::CompletionHandler<void (WebCore::ResourceRequest&&)>&&) + 1383 DumbPtrTraits.h:41
10 com.apple.WebCore 0x5b887b871 WebCore::ResourceLoadNotifier::dispatchWillSendRequest(WebCore::DocumentLoader*, unsigned long, WebCore::ResourceRequest&, WebCore::ResourceResponse const&) + 193 ResourceLoadNotifier.cpp:132
9 com.apple.WebKit 0x5b03ea26c WebKit::WebFrameLoaderClient::dispatchWillSendRequest(WebCore::DocumentLoader*, unsigned long, WebCore::ResourceRequest&, WebCore::ResourceResponse const&) + 78 WebFrameLoaderClient.cpp:217
8 com.apple.WebKit 0x5b03b4f1f WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame(WebKit::WebPage&, WebKit::WebFrame&, unsigned long long, WebCore::ResourceRequest&, WebCore::ResourceResponse const&) + 183 WKSharedAPICast.h:133
7 WebKitTestRunnerInjectedBundle 0x5c7fb4b08 WTR::InjectedBundlePage::willSendRequestForFrame(OpaqueWKBundlePage const*, OpaqueWKBundleFrame const*, unsigned long long, OpaqueWKURLRequest const*, OpaqueWKURLResponse const*) + 1126 InjectedBundlePage.cpp:1214
6 com.apple.WebKit 0x5b01cc807 WKDataCreate + 35 utility:896
5 com.apple.WebKit 0x5b02f5419 API::Data::create(unsigned char const*, unsigned long) + 73 APIObject.h:265
4 com.apple.WebKit 0x5b016c6ea API::Object::newObject(unsigned long, API::Object::Type) + 698 APIObject.mm:0
3 com.apple.Foundation 0x1058fd138 NSAllocateObject + 19
2 libobjc.A.dylib 0x5b10f1faf class_createInstance + 73
1 libsystem_malloc.dylib 0x5b36e467d calloc + 30
0 libsystem_malloc.dylib 0x5b36e4015 malloc_zone_calloc + 139
====
2 (96 bytes) ROOT LEAK: <WKNSData 0x7fadea740b80> [64]
1 (32 bytes) _data + 16 --> 0x7fade54a1100 [32]
--
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/20190205/7407a6c9/attachment-0001.html>
More information about the webkit-unassigned
mailing list