Bug 193222

Summary: Leak of ScrollCompletionCallbackData (16 bytes) in com.apple.WebKit.WebContent running WebKit layout tests
Product: WebKit Reporter: David Kilzer (:ddkilzer) <ddkilzer>
Component: Tools / TestsAssignee: David Kilzer (:ddkilzer) <ddkilzer>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, joepeck, lforschler, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Local Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch v1 none

Description David Kilzer (:ddkilzer) 2019-01-07 16:05:50 PST
Leak of ScrollCompletionCallbackData (16 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 tiled-drawing/scrolling/fast-scroll-div-latched-div.html tiled-drawing/scrolling/fast-scroll-div-latched-mainframe.html tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler.html

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

STACK OF 1 INSTANCE OF 'ROOT LEAK: <0x7f91c7812670>':
[thread 0x115af25c0]:
28  libdyld.dylib                      0x7fff6611008d start + 1
27  com.apple.WebKit.WebContent           0x10a6217bb invocation function for block in WebKit::XPCServiceEventHandler(NSObject<OS_xpc_object>*) + 0  XPCServiceMain.mm:46
26  com.apple.WebKit.WebContent           0x10a621636 WebKit::XPCServiceMain(int, char const**) + 547  XPCServiceMain.mm:0
25  libxpc.dylib                       0x7fff663469e5 _xpc_copy_xpcservice_dictionary + 0
24  libxpc.dylib                       0x7fff66346ee6 _xpc_objc_main + 555
23  com.apple.Foundation               0x7fff3b21b28f -[NSRunLoop(NSRunLoop) run] + 76
22  com.apple.Foundation               0x7fff3b21b3ba -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 280
21  com.apple.CoreFoundation           0x7fff38e96be6 CFRunLoopRunSpecific + 467
20  com.apple.CoreFoundation           0x7fff38e976c4 __CFRunLoopRun + 2187
19  com.apple.CoreFoundation           0x7fff38eb611d __CFRunLoopDoTimers + 333
18  com.apple.CoreFoundation           0x7fff38eb65e8 __CFRunLoopDoTimer + 871
17  com.apple.CoreFoundation           0x7fff38eb6a35 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
16  com.apple.WebCore                     0x10cc96d2f WebCore::timerFired(__CFRunLoopTimer*, void*) + 31  MainThreadSharedTimerCF.cpp:75
15  com.apple.WebCore                     0x10cc75739 WebCore::ThreadTimers::sharedTimerFiredInternal() + 185  ThreadTimers.cpp:120
14  com.apple.WebCore                     0x10cb7f40f WebCore::DOMTimer::fired() + 607  InspectorInstrumentation.h:279
13  com.apple.WebCore                     0x10c5622e6 WebCore::ScheduledAction::execute(WebCore::Document&) + 150  atomic:1026
12  com.apple.WebCore                     0x10c562654 WebCore::ScheduledAction::executeFunctionInContext(JSC::JSGlobalObject*, JSC::JSValue, WebCore::ScriptExecutionContext&) + 468  ScheduledAction.cpp:118
11  com.apple.WebCore                     0x10c533454 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
10  com.apple.JavaScriptCore              0x1107aa9fb 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
9   com.apple.JavaScriptCore              0x110563f25 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 469  JITCodeInlines.h:39
8   com.apple.JavaScriptCore              0x10ff8b919 vmEntryToJavaScript + 200  LowLevelInterpreter64.asm:295
7   com.apple.JavaScriptCore              0x10ff9aa61 llint_entry + 61326  LowLevelInterpreter.asm:899
6                                      0x232c32c0102d 0x232c32c01000 + 45
5   com.apple.JavaScriptCore              0x10ffc808f long long JSC::APICallbackFunction::call<JSC::JSCallbackFunction>(JSC::ExecState*) + 495  APICallbackFunction.h:63
4   com.apple.WebKitTestRunner.InjectedBundle        0x572a2324b WTR::JSEventSendingController::callAfterScrollingCompletes(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**) + 65  JSEventSendingController.cpp:0
3   com.apple.WebKitTestRunner.InjectedBundle        0x572a10a81 WTR::EventSendingController::callAfterScrollingCompletes(OpaqueJSValue const*) + 95  EventSendingController.cpp:628
2   libc++abi.dylib                    0x7fff6383ff48 operator new(unsigned long) + 40
1   libsystem_malloc.dylib             0x7fff662bd783 malloc + 24
0   libsystem_malloc.dylib             0x7fff662bd82b malloc_zone_malloc + 139 
====
    1 (16 bytes) ROOT LEAK: 0x7f91c7812670 [16]
Comment 1 David Kilzer (:ddkilzer) 2019-01-07 16:11:53 PST
Created attachment 358551 [details]
Patch v1
Comment 2 David Kilzer (:ddkilzer) 2019-01-07 16:13:01 PST
<rdar://problem/46862309>
Comment 3 Joseph Pecoraro 2019-01-07 16:25:58 PST
Comment on attachment 358551 [details]
Patch v1

Nice! r=me
Comment 4 WebKit Commit Bot 2019-01-07 18:07:11 PST
Comment on attachment 358551 [details]
Patch v1

Clearing flags on attachment: 358551

Committed r239719: <https://trac.webkit.org/changeset/239719>
Comment 5 WebKit Commit Bot 2019-01-07 18:07:13 PST
All reviewed patches have been landed.  Closing bug.