Bug 193122

Summary: Leak of WebCore::LibWebRTCCertificateGenerator::RTCCertificateGeneratorCallback (48 bytes) in com.apple.WebKit.WebContent running WebKit layout tests
Product: WebKit Reporter: David Kilzer (:ddkilzer) <ddkilzer>
Component: WebRTCAssignee: David Kilzer (:ddkilzer) <ddkilzer>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, commit-queue, eric.carlson, mcatanzaro, webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: WebKit Local Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch v1 none

Description David Kilzer (:ddkilzer) 2019-01-03 12:54:28 PST
Leak of WebCore::LibWebRTCCertificateGenerator::RTCCertificateGeneratorCallback (48 bytes) in com.apple.WebKit.WebContent running WebKit layout tests.

$ ./Tools/Scripts/run-webkit-tests --no-build --debug --batch-size=1000 --child-processes=1 --verbose --leaks --no-retry --no-show-results imported/w3c/web-platform-tests/webrtc/RTCCertificate-postMessage.html

NOTE: Requires changes to run-webkit-tests to support --leaks with WebKit2.

STACK OF 1 INSTANCE OF 'ROOT LEAK: <WebCore>':
[thread 0x109a495c0]:
34  libdyld.dylib                      0x7fff6611008d start + 1
33  com.apple.WebKit.WebContent           0x1099547bb invocation function for block in WebKit::XPCServiceEventHandler(NSObject<OS_xpc_object>*) + 0  XPCServiceMain.mm:46
32  com.apple.WebKit.WebContent           0x109954636 WebKit::XPCServiceMain(int, char const**) + 547  XPCServiceMain.mm:0
31  libxpc.dylib                       0x7fff663469e5 _xpc_copy_xpcservice_dictionary + 0
30  libxpc.dylib                       0x7fff66346ee6 _xpc_objc_main + 555
29  com.apple.Foundation               0x7fff3b21b28f -[NSRunLoop(NSRunLoop) run] + 76
28  com.apple.Foundation               0x7fff3b21b3ba -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 280
27  com.apple.CoreFoundation           0x7fff38e96be6 CFRunLoopRunSpecific + 467
26  com.apple.CoreFoundation           0x7fff38e976c4 __CFRunLoopRun + 2187
25  com.apple.CoreFoundation           0x7fff38eb611d __CFRunLoopDoTimers + 333
24  com.apple.CoreFoundation           0x7fff38eb65e8 __CFRunLoopDoTimer + 871
23  com.apple.CoreFoundation           0x7fff38eb6a35 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
22  com.apple.WebCore                     0x632663cef WebCore::timerFired(__CFRunLoopTimer*, void*) + 31  MainThreadSharedTimerCF.cpp:75
21  com.apple.WebCore                     0x6326426f9 WebCore::ThreadTimers::sharedTimerFiredInternal() + 185  ThreadTimers.cpp:120
20  com.apple.WebCore                     0x632557a71 WebCore::PostMessageTimer::fired() + 97  DOMWindow.cpp:178
19  com.apple.WebCore                     0x632550622 WebCore::DOMWindow::postMessageTimerFired(WebCore::PostMessageTimer&) + 210  Ref.h:59
18  com.apple.WebCore                     0x63218c888 WebCore::EventTarget::dispatchEvent(WebCore::Event&) + 136  EventTarget.cpp:201
17  com.apple.WebCore                     0x63218ab93 WebCore::EventTarget::fireEventListeners(WebCore::Event&, WebCore::EventTarget::EventInvokePhase) + 515  Vector.h:674
16  com.apple.WebCore                     0x63218cbe8 WebCore::EventTarget::innerInvokeEventListeners(WebCore::Event&, WTF::Vector<WTF::RefPtr<WebCore::RegisteredEventListener, WTF::DumbPtrTraits<WebCore::RegisteredEventListener> >, 1ul, WTF::CrashOnOverflow, 16ul>, WebCore::EventTarget::EventInvokePhase) + 824  InspectorInstrumentation.h:279
15  com.apple.WebCore                     0x631f18170 WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&, WebCore::Event&) + 1024  JSEventListener.cpp:175
14  com.apple.WebCore                     0x631f00414 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
13  com.apple.JavaScriptCore              0x6361779fb 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:41
12  com.apple.JavaScriptCore              0x635f30f25 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 469  JITCodeInlines.h:39
11  com.apple.JavaScriptCore              0x635958919 vmEntryToJavaScript + 200  LowLevelInterpreter64.asm:295
10  com.apple.JavaScriptCore              0x635967a61 llint_entry + 61326  LowLevelInterpreter.asm:899
9   com.apple.JavaScriptCore              0x635967a61 llint_entry + 61326  LowLevelInterpreter.asm:899
8   com.apple.JavaScriptCore              0x635967a61 llint_entry + 61326  LowLevelInterpreter.asm:899
7                                      0x42f928e01177 0x42f928e01000 + 375
6   com.apple.WebCore                     0x631a5ddd2 WebCore::jsRTCPeerConnectionConstructorFunctionGenerateCertificate(JSC::ExecState*) + 178  Ref.h:59
5   com.apple.WebCore                     0x631e160a9 WebCore::RTCPeerConnection::generateCertificate(JSC::ExecState&, WTF::Variant<JSC::Strong<JSC::JSObject>, WTF::String>&&, WebCore::DOMPromiseDeferred<WebCore::IDLInterface<WebCore::RTCCertificate> >&&) + 969  Expected.h:352
4   com.apple.WebCore                     0x631e0cc84 WebCore::PeerConnectionBackend::generateCertificate(WebCore::Document&, WebCore::PeerConnectionBackend::CertificateInformation const&, WebCore::DOMPromiseDeferred<WebCore::IDLInterface<WebCore::RTCCertificate> >&&) + 68  Ref.h:59
3   com.apple.WebCore                     0x631e1bb67 WebCore::LibWebRTCCertificateGenerator::generateCertificate(WTF::Ref<WebCore::SecurityOrigin, WTF::DumbPtrTraits<WebCore::SecurityOrigin> >&&, WebCore::LibWebRTCProvider&, WebCore::PeerConnectionBackend::CertificateInformation const&, WebCore::DOMPromiseDeferred<WebCore::IDLInterface<WebCore::RTCCertificate> >&&) + 39  ThreadSafeRefCounted.h:37
2   com.apple.JavaScriptCore              0x635719ea9 WTF::fastMalloc(unsigned long) + 9  FastMalloc.cpp:188
1   libsystem_malloc.dylib             0x7fff662bd783 malloc + 24
0   libsystem_malloc.dylib             0x7fff662bd82b malloc_zone_malloc + 139 
====
    1 (48 bytes) ROOT LEAK: <WebCore::LibWebRTCCertificateGenerator::RTCCertificateGeneratorCallback 0x7fafc77195a0> [48]
Comment 1 David Kilzer (:ddkilzer) 2019-01-03 12:54:39 PST
<rdar://problem/47022987>
Comment 2 David Kilzer (:ddkilzer) 2019-01-03 13:00:40 PST
Created attachment 358273 [details]
Patch v1
Comment 3 WebKit Commit Bot 2019-01-03 16:22:31 PST
Comment on attachment 358273 [details]
Patch v1

Clearing flags on attachment: 358273

Committed r239602: <https://trac.webkit.org/changeset/239602>
Comment 4 WebKit Commit Bot 2019-01-03 16:22:33 PST
All reviewed patches have been landed.  Closing bug.