<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>198538</bug_id>
          
          <creation_ts>2019-06-04 11:51:28 -0700</creation_ts>
          <short_desc>REGRESSION (r244557): Leak of WKNSString in WTR::runOpenPanel() while running WebKit layout tests</short_desc>
          <delta_ts>2019-06-04 15:56:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>195537</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1541675</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-06-04 11:51:28 -0700</bug_when>
    <thetext>Leak of WKNSString in WTR::runOpenPanel() while running WebKit layout tests.

Example leak:

STACK OF 5 INSTANCES OF &apos;ROOT LEAK: &lt;WKNSString&gt;&apos;:
38  libdyld.dylib                      0x7fff520426a5 start + 1
37  org.webkit.WebKitTestRunnerApp        0x10fb4147f main + 114
36  com.apple.UIKitCore                0x7fff47c6e809 UIApplicationMain + 1621
35  com.apple.GraphicsServices         0x7fff379639f8 GSEventRunModal + 65
34  com.apple.CoreFoundation           0x7fff23a86466 CFRunLoopRunSpecific + 438
33  com.apple.CoreFoundation           0x7fff23a86c7f __CFRunLoopRun + 1263
32  com.apple.CoreFoundation           0x7fff23a8bfbc __CFRunLoopDoSources0 + 268
31  com.apple.CoreFoundation           0x7fff23a8c791 __CFRunLoopDoSource0 + 81
30  com.apple.CoreFoundation           0x7fff23a8c801 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
29  com.apple.Foundation               0x7fff255f0bf3 __NSThreadPerformPerform + 259
28  org.webkit.WebKitTestRunnerApp        0x10fb41378 -[WebKitTestRunnerApp _runTestController] + 40
27  org.webkit.WebKitTestRunnerApp        0x10fb49fd9 WTR::TestController::TestController(int, char const**) + 395
26  org.webkit.WebKitTestRunnerApp        0x10fb50c86 WTR::TestController::runTestingServerLoop() + 132
25  org.webkit.WebKitTestRunnerApp        0x10fb5088d WTR::TestController::runTest(char const*) + 1933
24  org.webkit.WebKitTestRunnerApp        0x10fb5f8f8 WTR::TestInvocation::invoke() + 306
23  org.webkit.WebKitTestRunnerApp        0x10fb5df6d WTR::TestController::platformRunUntil(bool&amp;, WTF::Seconds) + 183
22  com.apple.Foundation               0x7fff255daa46 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 211
21  com.apple.CoreFoundation           0x7fff23a86466 CFRunLoopRunSpecific + 438
20  com.apple.CoreFoundation           0x7fff23a86c7f __CFRunLoopRun + 1263
19  com.apple.CoreFoundation           0x7fff23a8bfbc __CFRunLoopDoSources0 + 268
18  com.apple.CoreFoundation           0x7fff23a8c791 __CFRunLoopDoSource0 + 81
17  com.apple.CoreFoundation           0x7fff23a8c801 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
16  JavaScriptCore                        0x110527c92 WTF::RunLoop::performWork(void*) + 34  RunLoopCF.cpp:39
15  JavaScriptCore                        0x110527a04 WTF::RunLoop::performWork() + 228  Function.h:0
14  com.apple.WebKit                      0x1116bd484 IPC::Connection::dispatchIncomingMessages() + 586  memory:2650
13  com.apple.WebKit                      0x1116bac28 IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;) + 108  memory:2621
12  com.apple.WebKit                      0x111914bea WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 24  WebProcessProxy.cpp:628
11  com.apple.WebKit                      0x1116ce81e IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 114  MessageReceiverMap.cpp:0
10  com.apple.WebKit                      0x111b339ed void IPC::handleMessage&lt;Messages::WebPageProxy::RunOpenPanel, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long long, WebCore::SecurityOriginData const&amp;, WebCore::FileChooserSettings const&amp;)&gt;(IPC::Decoder&amp;, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(unsigned long long, WebCore::SecurityOriginData const&amp;, WebCore::FileChooserSettings const&amp;)) + 92  HandleMessage.h:0
9   com.apple.WebKit                      0x1118e267d WebKit::WebPageProxy::runOpenPanel(unsigned long long, WebCore::SecurityOriginData const&amp;, WebCore::FileChooserSettings const&amp;) + 299  WebPageProxy.cpp:5382
8   com.apple.WebKit                      0x111982bda WKPageSetPageUIClient::UIClient::runOpenPanel(WebKit::WebPageProxy*, WebKit::WebFrameProxy*, WebCore::SecurityOriginData const&amp;, API::OpenPanelParameters*, WebKit::WebOpenPanelResultListenerProxy*) + 100  WKPage.cpp:0
7   org.webkit.WebKitTestRunnerApp        0x10fb4aa2e WTR::runOpenPanel(OpaqueWKPage const*, OpaqueWKFrame const*, OpaqueWKOpenPanelParameters const*, OpaqueWKOpenPanelResultListener const*, void const*) + 110
6   com.apple.WebKit                      0x111832876 WKURLCopyLastPathComponent + 46  utility:925
5   com.apple.WebKit                      0x11197e505 API::String::create(WTF::String const&amp;) + 37  utility:925
4   com.apple.WebKit                      0x111852e4f API::String::create(WTF::String&amp;&amp;) + 31  APIObject.h:267
3   com.apple.WebKit                      0x1117cb2a1 API::Object::newObject(unsigned long, API::Object::Type) + 207  APIObject.mm:0
2   libobjc.A.dylib                    0x7fff5116e10c class_createInstance + 38
1   libsystem_malloc.dylib             0x7fff521f7b3f calloc + 24
0   libsystem_malloc.dylib             0x7fff521f7490 malloc_zone_calloc + 139 
====
    10 (416 bytes) &lt;&lt; TOTAL &gt;&gt;
      ----
      2 (96 bytes) ROOT LEAK: &lt;WKNSString 0x600003b00450&gt; [48]
         1 (48 bytes) 0x7fcdf8c001f0 [48]
      ----
      2 (80 bytes) ROOT LEAK: &lt;WKNSString 0x600003b09950&gt; [48]
         1 (32 bytes) 0x7fce11000530 [32]
      ----
      2 (80 bytes) ROOT LEAK: &lt;WKNSString 0x600003b1d8f0&gt; [48]
         1 (32 bytes) 0x7fcde8d22bd0 [32]
      ----
      2 (80 bytes) ROOT LEAK: &lt;WKNSString 0x600003b44660&gt; [48]
         1 (32 bytes) 0x7fce0ed04020 [32]
      ----
      2 (80 bytes) ROOT LEAK: &lt;WKNSString 0x600003be96e0&gt; [48]
         1 (32 bytes) 0x7fce110497d0 [32]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541676</commentid>
    <comment_count>1</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-06-04 11:51:52 -0700</bug_when>
    <thetext>&lt;rdar://problem/51407719&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541677</commentid>
    <comment_count>2</comment_count>
      <attachid>371313</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-06-04 11:56:31 -0700</bug_when>
    <thetext>Created attachment 371313
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541696</commentid>
    <comment_count>3</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-06-04 12:29:56 -0700</bug_when>
    <thetext>Waiting for EWS to complete before adding CQ+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541765</commentid>
    <comment_count>4</comment_count>
      <attachid>371313</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-04 15:56:43 -0700</bug_when>
    <thetext>Comment on attachment 371313
Patch v1

Clearing flags on attachment: 371313

Committed r246085: &lt;https://trac.webkit.org/changeset/246085&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1541766</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-04 15:56:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371313</attachid>
            <date>2019-06-04 11:56:31 -0700</date>
            <delta_ts>2019-06-04 15:56:43 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-198538-20190604115630.patch</filename>
            <type>text/plain</type>
            <size>2193</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2MDQyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTAxNmM4Mjc0MDQ4NzY0NDNjNDdmMGZkZTQ1MTQ4MDZi
MGIyZGIzYi4uNmZhYjI4OTgyMmY4M2JkM2JjYmQxMDMwZTliNmZhZjZjNjE2NDBkOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDE5LTA2LTA0ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAg
ICAgICAgUkVHUkVTU0lPTiAocjI0NDU1Nyk6IExlYWsgb2YgV0tOU1N0cmluZyBpbiBXVFI6OnJ1
bk9wZW5QYW5lbCgpIHdoaWxlIHJ1bm5pbmcgV2ViS2l0IGxheW91dCB0ZXN0cworICAgICAgICA8
aHR0cHM6Ly93ZWJraXQub3JnL2IvMTk4NTM4PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTE0
MDc3MTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6cnVu
T3BlblBhbmVsKTogVXNlIGFkb3B0V0soKSB0byBmaXggdGhlIGxlYWsuCisKIDIwMTktMDYtMDMg
IFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIFR3ZWFrIHRo
ZSB0ZXh0IGFuZCB1bmRlcmxpbmUgY29sb3IgZm9yIGRhdGEgZGV0ZWN0ZWQgdGV4dC4KZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggMjZhMDFhY2Q3OTc0YmMx
ODc2MTA3Yjc5MGE3YjNhZGM4N2EzNDQxZC4uMThiOGIxZTI0MjhkYTcxOTcwYWU2MWYxZjA1N2Iz
YWFhMTVjZWFhYiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAK
QEAgLTIwNCwxNiArMjA0LDE2IEBAIHN0YXRpYyB2b2lkIHJ1bk9wZW5QYW5lbChXS1BhZ2VSZWYg
cGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tPcGVuUGFuZWxQYXJhbWV0ZXJzCiAgICAgV0tUeXBl
UmVmIGZpcnN0SXRlbSA9IFdLQXJyYXlHZXRJdGVtQXRJbmRleChmaWxlVVJMcywgMCk7CiAgICAg
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBXS1N0cmluZ1JlZiBkaXNwbGF5U3RyaW5n
ID0gV0tVUkxDb3B5TGFzdFBhdGhDb21wb25lbnQoc3RhdGljX2Nhc3Q8V0tVUkxSZWY+KGZpcnN0
SXRlbSkpOworICAgIGF1dG8gZGlzcGxheVN0cmluZyA9IGFkb3B0V0soV0tVUkxDb3B5TGFzdFBh
dGhDb21wb25lbnQoc3RhdGljX2Nhc3Q8V0tVUkxSZWY+KGZpcnN0SXRlbSkpKTsKICAgICBXS0Rh
dGFSZWYgbWVkaWFJY29uID0gVGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLm9wZW5QYW5lbEZp
bGVVUkxzTWVkaWFJY29uKCk7CiAgICAgCiAgICAgaWYgKG1lZGlhSWNvbikgewogICAgICAgICBp
ZiAoV0tPcGVuUGFuZWxQYXJhbWV0ZXJzR2V0QWxsb3dzTXVsdGlwbGVGaWxlcyhwYXJhbWV0ZXJz
KSkgewotICAgICAgICAgICAgV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lckNob29zZU1lZGlhRmls
ZXMocmVzdWx0TGlzdGVuZXJSZWYsIGZpbGVVUkxzLCBkaXNwbGF5U3RyaW5nLCBtZWRpYUljb24p
OworICAgICAgICAgICAgV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lckNob29zZU1lZGlhRmlsZXMo
cmVzdWx0TGlzdGVuZXJSZWYsIGZpbGVVUkxzLCBkaXNwbGF5U3RyaW5nLmdldCgpLCBtZWRpYUlj
b24pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBX
S09wZW5QYW5lbFJlc3VsdExpc3RlbmVyQ2hvb3NlTWVkaWFGaWxlcyhyZXN1bHRMaXN0ZW5lclJl
ZiwgYWRvcHRXSyhXS0FycmF5Q3JlYXRlKCZmaXJzdEl0ZW0sIDEpKS5nZXQoKSwgZGlzcGxheVN0
cmluZywgbWVkaWFJY29uKTsKKyAgICAgICAgV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lckNob29z
ZU1lZGlhRmlsZXMocmVzdWx0TGlzdGVuZXJSZWYsIGFkb3B0V0soV0tBcnJheUNyZWF0ZSgmZmly
c3RJdGVtLCAxKSkuZ2V0KCksIGRpc3BsYXlTdHJpbmcuZ2V0KCksIG1lZGlhSWNvbik7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>