<?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>229264</bug_id>
          
          <creation_ts>2021-08-18 17:08:35 -0700</creation_ts>
          <short_desc>Leak of CMBufferQueueRef (up to 752 bytes each) in com.apple.WebKit.GPU.Development process</short_desc>
          <delta_ts>2021-09-02 11:06:31 -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>Media</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>229265</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>andersca</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jean-yves.avenard</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1785284</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-08-18 17:08:35 -0700</bug_when>
    <thetext>Leak of CMBufferQueueRef (up to 752 bytes each) in com.apple.WebKit.GPU.Development process.

STACK OF 19 INSTANCES OF &apos;ROOT LEAK: &lt;CMBufferQueue&gt;&apos;:
27  dyld                                  0x117d7a4d5 start + 421
26  WebKit                                0x113879a30 WebKit::XPCServiceMain(int, char const**) + 137  XPCServiceMain.mm:243
25  libxpc.dylib                       0x7ff81a3b9b32 xpc_main + 99
24  libxpc.dylib                       0x7ff81a3ba143 _xpc_objc_main + 825
23  com.apple.Foundation               0x7ff81b53f2b3 -[NSRunLoop(NSRunLoop) run] + 76
22  com.apple.Foundation               0x7ff81b4b4c6e -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 216
21  com.apple.CoreFoundation           0x7ff81a72e005 CFRunLoopRunSpecific + 567
20  com.apple.CoreFoundation           0x7ff81a72ea5b __CFRunLoopRun + 897
19  com.apple.CoreFoundation           0x7ff81a730036 __CFRunLoopDoSources0 + 242
18  com.apple.CoreFoundation           0x7ff81a7302bd __CFRunLoopDoSource0 + 180
17  com.apple.CoreFoundation           0x7ff81a730355 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
16  JavaScriptCore                        0x119b191c2 WTF::RunLoop::performWork(void*) + 34  RunLoopCF.cpp:47
15  JavaScriptCore                        0x119b188ef WTF::RunLoop::performWork() + 431  RunLoop.cpp:134
14  WebKit                                0x1136a3b55 IPC::Connection::dispatchOneIncomingMessage() + 169  Connection.cpp:1172
13  WebKit                                0x1136a3914 IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;) + 238  Connection.cpp:1105
12  WebKit                                0x113793e1b WebKit::GPUConnectionToWebProcess::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 455  GPUConnectionToWebProcessMessageReceiver.cpp:0
11  WebKit                                0x1137cbb92 WebKit::GPUConnectionToWebProcess::dispatchMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 266  GPUConnectionToWebProcess.cpp:654
10  WebKit                                0x1137b64a5 void IPC::handleMessageAsync&lt;Messages::RemoteMediaRecorderManager::CreateRecorder, WebKit::RemoteMediaRecorderManager, void (WebKit::RemoteMediaRecorderManager::*)(WTF::ObjectIdentifier&lt;WebKit::MediaRecorderIdentifierType&gt;, bool, bool, WebCore::MediaRecorderPrivateOptions const&amp;, WTF::CompletionHandler&lt;void (std::__1::optional&lt;WebCore::ExceptionData&gt;&amp;&amp;, WTF::String&amp;&amp;, unsigned int, unsigned int)&gt;&amp;&amp;)&gt;(IPC::Connection&amp;, IPC::Decoder&amp;, WebKit::RemoteMediaRecorderManager*, void (WebKit::RemoteMediaRecorderManager::*)(WTF::ObjectIdentifier&lt;WebKit::MediaRecorderIdentifierType&gt;, bool, bool, WebCore::MediaRecorderPrivateOptions const&amp;, WTF::CompletionHandler&lt;void (std::__1::optional&lt;WebCore::ExceptionData&gt;&amp;&amp;, WTF::String&amp;&amp;, unsigned int, unsigned int)&gt;&amp;&amp;)) + 175  HandleMessage.h:198
9   WebKit                                0x1137b9783 void IPC::callMemberFunctionImpl&lt;WebKit::RemoteMediaRecorderManager, void (WebKit::RemoteMediaRecorderManager::*)(WTF::ObjectIdentifier&lt;WebKit::MediaRecorderIdentifierType&gt;, bool, bool, WebCore::MediaRecorderPrivateOptions const&amp;, WTF::CompletionHandler&lt;void (std::__1::optional&lt;WebCore::ExceptionData&gt;&amp;&amp;, WTF::String&amp;&amp;, unsigned int, unsigned int)&gt;&amp;&amp;), void (std::__1::optional&lt;WebCore::ExceptionData&gt; const&amp;, WTF::String const&amp;, unsigned int const&amp;, unsigned int const&amp;), std::__1::tuple&lt;WTF::ObjectIdentifier&lt;WebKit::MediaRecorderIdentifierType&gt;, bool, bool, WebCore::MediaRecorderPrivateOptions&gt;, 0ul, 1ul, 2ul, 3ul&gt;(WebKit::RemoteMediaRecorderManager*, void (WebKit::RemoteMediaRecorderManager::*)(WTF::ObjectIdentifier&lt;WebKit::MediaRecorderIdentifierType&gt;, bool, bool, WebCore::MediaRecorderPrivateOptions const&amp;, WTF::CompletionHandler&lt;void (std::__1::optional&lt;WebCore::ExceptionData&gt;&amp;&amp;, WTF::String&amp;&amp;, unsigned int, unsigned int)&gt;&amp;&amp;), WTF::CompletionHandler&lt;void (std::__1::optional&lt;WebCore::ExceptionData&gt; const&amp;, WTF::String const&amp;, unsigned int const&amp;, unsigned int const&amp;)&gt;&amp;&amp;, std::__1::tuple&lt;WTF::ObjectIdentifier&lt;WebKit::MediaRecorderIdentifierType&gt;, bool, bool, WebCore::MediaRecorderPrivateOptions&gt;&amp;&amp;, std::__1::integer_sequence&lt;unsigned long, 0ul, 1ul, 2ul, 3ul&gt;) + 130  HandleMessage.h:57
8   WebKit                                0x11380e568 WebKit::RemoteMediaRecorderManager::createRecorder(WTF::ObjectIdentifier&lt;WebKit::MediaRecorderIdentifierType&gt;, bool, bool, WebCore::MediaRecorderPrivateOptions const&amp;, WTF::CompletionHandler&lt;void (std::__1::optional&lt;WebCore::ExceptionData&gt;&amp;&amp;, WTF::String&amp;&amp;, unsigned int, unsigned int)&gt;&amp;&amp;) + 52  RemoteMediaRecorderManager.cpp:60
7   WebKit                                0x11380ded1 WebKit::RemoteMediaRecorder::create(WebKit::GPUConnectionToWebProcess&amp;, WTF::ObjectIdentifier&lt;WebKit::MediaRecorderIdentifierType&gt;, bool, bool, WebCore::MediaRecorderPrivateOptions const&amp;) + 49  RemoteMediaRecorder.cpp:48
6   WebCore                               0x11d1342fe WebCore::MediaRecorderPrivateWriter::create(bool, bool, WebCore::MediaRecorderPrivateOptions const&amp;) + 62  MediaRecorderPrivateWriterCocoa.mm:99
5   WebCore                               0x11d1345d3 WebCore::MediaRecorderPrivateWriter::initialize(WebCore::MediaRecorderPrivateOptions const&amp;) + 451  MediaRecorderPrivateWriterCocoa.mm:171
4   WebCore                               0x11d135d05 WebCore::VideoSampleBufferCompressor::create(WTF::String, void (*)(void*, opaqueCMBufferQueueTriggerToken*), void*) + 789  VideoSampleBufferCompressor.mm:56
3   WebCore                               0x11d137cf3 WebCore::VideoSampleBufferCompressor::initialize(void (*)(void*, opaqueCMBufferQueueTriggerToken*), void*) + 67  VideoSampleBufferCompressor.mm:79
2   com.apple.CoreMedia                0x7ff82344f350 figBufferQueueCreateWithCallbacksOrHandlers + 219
1   com.apple.CoreFoundation           0x7ff81a6b308f _CFRuntimeCreateInstance + 580
0   libsystem_malloc.dylib             0x7ff81a4a2ffd _malloc_zone_malloc + 249 
====
    172 (12.2K) &lt;&lt; TOTAL &gt;&gt;
      ----
      10 (752 bytes) ROOT LEAK: &lt;CMBufferQueue 0x7fb1d547b080&gt; [272]
         3 (192 bytes) &lt;CFDictionary 0x7fb1d553a2c0&gt; [64]
            1 (64 bytes) &lt;CFDictionary (Value Storage) 0x7fb1d750cd90&gt; [64]
            1 (64 bytes) &lt;CFDictionary (Weak Key Storage) 0x7fb1d751ff00&gt; [64]
         3 (160 bytes) &lt;CFSet 0x7fb1d541b370&gt; [48]
            2 (112 bytes) &lt;CFSet (Value Storage) 0x7fb1d540bc90&gt; [32]
               1 (80 bytes) 0x7fb1d544e770 [80]
         2 (64 bytes) &lt;NSMutableArray 0x7fb1d55a9870&gt; [48]
            1 (16 bytes) &lt;NSMutableArray (Storage) 0x7fb1d7519a90&gt; [16]
         1 (64 bytes) &lt;pthread_mutex_t 0x7fb1d5437910&gt; [64]
      ----
      10 (752 bytes) ROOT LEAK: &lt;CMBufferQueue 0x7fb1e2106890&gt; [272]
         3 (192 bytes) &lt;CFDictionary 0x7fb1d5481f30&gt; [64]
            1 (64 bytes) &lt;CFDictionary (Value Storage) 0x7fb1d5715220&gt; [64]
            1 (64 bytes) &lt;CFDictionary (Weak Key Storage) 0x7fb1d57178c0&gt; [64]
         3 (160 bytes) &lt;CFSet 0x7fb1e2106a20&gt; [48]
            2 (112 bytes) &lt;CFSet (Value Storage) 0x7fb1e2104f10&gt; [32]
               1 (80 bytes) 0x7fb1e2106a50 [80]
         2 (64 bytes) &lt;NSMutableArray 0x7fb1d540c700&gt; [48]
            1 (16 bytes) &lt;NSMutableArray (Storage) 0x7fb1d5738f50&gt; [16]
         1 (64 bytes) &lt;pthread_mutex_t 0x7fb1e21069e0&gt; [64]
      ----
[...]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785285</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-18 17:09:00 -0700</bug_when>
    <thetext>&lt;rdar://problem/82101153&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785286</commentid>
    <comment_count>2</comment_count>
      <attachid>435819</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-08-18 17:12:16 -0700</bug_when>
    <thetext>Created attachment 435819
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785365</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-18 21:04:29 -0700</bug_when>
    <thetext>Committed r281223 (240660@main): &lt;https://commits.webkit.org/240660@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 435819.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435819</attachid>
            <date>2021-08-18 17:12:16 -0700</date>
            <delta_ts>2021-08-18 21:04:30 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-229264-20210818171215.patch</filename>
            <type>text/plain</type>
            <size>2013</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDc1NjQyNWIyZjA0OWRj
ZDQzYmNiMzc5NDBiZjBmYzExZTYwZDZjOC4uODRmNjJjMmExOGMxYmU2MjllMzYzYWRlNTcyZDE1
NDk0M2JiM2VkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA4LTE4ICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgQnVnIDIyOTI2NDogTGVh
ayBvZiBDTUJ1ZmZlclF1ZXVlUmVmICh1cCB0byA3NTIgYnl0ZXMgZWFjaCkgaW4gY29tLmFwcGxl
LldlYktpdC5HUFUuRGV2ZWxvcG1lbnQgcHJvY2VzcworICAgICAgICA8aHR0cHM6Ly93ZWJraXQu
b3JnL2IvMjI5MjY0PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODIxMDExNTM+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJlZCBieSBydW5u
aW5nIGxheW91dCB0ZXN0cyB3aXRoIC0tbGVha3MgcGx1cyBmdXR1cmUgcGF0Y2gKKyAgICAgICAg
dG8gY2hlY2sgZm9yIGxlYWtzIGluIHRoZSBHUFUgcHJvY2Vzcy4KKworICAgICAgICAqIHBsYXRm
b3JtL21lZGlhcmVjb3JkZXIvY29jb2EvVmlkZW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6VmlkZW9TYW1wbGVCdWZmZXJDb21wcmVzc29yOjppbml0aWFsaXpl
KToKKyAgICAgICAgLSBVc2UgYWRvcHRDRigpIHRvIGZpeCB0aGUgbGVhayBzaW5jZSBDTUJ1ZmZl
clF1ZXVlQ3JlYXRlKCkKKyAgICAgICAgICByZXR1cm5zIGEgcmV0YWluZWQgb2JqZWN0LgorCiAy
MDIxLTA4LTE4ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAg
TGVhayBvZiBDTVNhbXBsZUJ1ZmZlclJlZiAodXAgdG8gMi4yNSBLQiBlYWNoKSBpbiBjb20uYXBw
bGUuV2ViS2l0LkdQVS5EZXZlbG9wbWVudCBwcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL1ZpZGVvU2FtcGxlQnVmZmVyQ29tcHJl
c3Nvci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvVmlk
ZW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLm1tCmluZGV4IDcwZTkxODRkMjlkZDgwMTZmZmM5N2I5
NmQ5ODg3NWFhODU1NGNjNmEuLmI4OWRmMDQ0ZDc0Y2IxMDdlNmRjYThhOWQyZWZiZjIxYmU0NTEx
ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29j
b2EvVmlkZW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvVmlkZW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLm1t
CkBAIC04MCw3ICs4MCw3IEBAIGJvb2wgVmlkZW9TYW1wbGVCdWZmZXJDb21wcmVzc29yOjppbml0
aWFsaXplKENNQnVmZmVyUXVldWVUcmlnZ2VyQ2FsbGJhY2sgY2FsbGJhCiAgICAgICAgIFJFTEVB
U0VfTE9HX0VSUk9SKE1lZGlhU3RyZWFtLCAiVmlkZW9TYW1wbGVCdWZmZXJDb21wcmVzc29yIHVu
YWJsZSB0byBjcmVhdGUgYnVmZmVyIHF1ZXVlICVkIiwgZXJyb3IpOwogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgfQotICAgIG1fb3V0cHV0QnVmZmVyUXVldWUgPSBvdXRwdXRCdWZmZXJRdWV1
ZTsKKyAgICBtX291dHB1dEJ1ZmZlclF1ZXVlID0gYWRvcHRDRihvdXRwdXRCdWZmZXJRdWV1ZSk7
CiAgICAgUEFMOjpDTUJ1ZmZlclF1ZXVlSW5zdGFsbFRyaWdnZXIobV9vdXRwdXRCdWZmZXJRdWV1
ZS5nZXQoKSwgY2FsbGJhY2ssIGNhbGxiYWNrT2JqZWN0LCBrQ01CdWZmZXJRdWV1ZVRyaWdnZXJf
V2hlbkRhdGFCZWNvbWVzUmVhZHksIFBBTDo6a0NNVGltZVplcm8sIE5VTEwpOwogCiAgICAgbV9p
c0VuY29kaW5nID0gdHJ1ZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>