<?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>229262</bug_id>
          
          <creation_ts>2021-08-18 16:58:00 -0700</creation_ts>
          <short_desc>Leak of CMSampleBufferRef (up to 2.25 KB 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>darin</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>1785278</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-08-18 16:58:00 -0700</bug_when>
    <thetext>Leak of CMSampleBufferRef (up to 2.25 KB each) in com.apple.WebKit.GPU.Development process.

STACK OF 210 INSTANCES OF &apos;ROOT LEAK: &lt;CMSampleBuffer&gt;&apos;:
32  dyld                                  0x117d7a4d5 start + 421
31  WebKit                                0x113879a30 WebKit::XPCServiceMain(int, char const**) + 137  XPCServiceMain.mm
:243
30  libxpc.dylib                       0x7ff81a3b9b32 xpc_main + 99
29  libxpc.dylib                       0x7ff81a3ba143 _xpc_objc_main + 825
28  com.apple.Foundation               0x7ff81b53f2b3 -[NSRunLoop(NSRunLoop) run] + 76
27  com.apple.Foundation               0x7ff81b4b4c6e -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 216
26  com.apple.CoreFoundation           0x7ff81a72e005 CFRunLoopRunSpecific + 567
25  com.apple.CoreFoundation           0x7ff81a72ea5b __CFRunLoopRun + 897
24  com.apple.CoreFoundation           0x7ff81a730036 __CFRunLoopDoSources0 + 242
23  com.apple.CoreFoundation           0x7ff81a7302bd __CFRunLoopDoSource0 + 180
22  com.apple.CoreFoundation           0x7ff81a730355 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
21  JavaScriptCore                        0x119b191c2 WTF::RunLoop::performWork(void*) + 34  RunLoopCF.cpp:47
20  JavaScriptCore                        0x119b188ef WTF::RunLoop::performWork() + 431  RunLoop.cpp:134
19  WebKit                                0x1136a3b55 IPC::Connection::dispatchOneIncomingMessage() + 169  Connection.cpp:1172
18  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
17  WebKit                                0x113793e1b WebKit::GPUConnectionToWebProcess::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 455  GPUConnectionToWebProcessMessageReceiver.cpp:0
16  WebKit                                0x1137cbbb7 WebKit::GPUConnectionToWebProcess::dispatchMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 303  GPUConnectionToWebProcess.cpp:0
15  WebKit                                0x11380e52a WebKit::RemoteMediaRecorderManager::didReceiveRemoteMediaRecorderMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 56  RemoteMediaRecorderManager.cpp:54
14  WebKit                                0x1137b9dec void IPC::handleMessage&lt;Messages::RemoteMediaRecorder::AudioSamplesAvailable, WebKit::RemoteMediaRecorder, void (WebKit::RemoteMediaRecorder::*)(WTF::MediaTime, unsigned long long)&gt;(IPC::Decoder&amp;, WebKit::RemoteMediaRecorder*, void (WebKit::RemoteMediaRecorder::*)(WTF::MediaTime, unsigned long long)) + 72  HandleMessage.h:120
13  WebKit                                0x1137bbe37 void IPC::callMemberFunctionImpl&lt;WebKit::RemoteMediaRecorder, void (WebKit::RemoteMediaRecorder::*)(WTF::MediaTime, unsigned long long), std::__1::tuple&lt;WTF::MediaTime, unsigned long long&gt;, 0ul, 1ul&gt;(WebKit::RemoteMediaRecorder*, void (WebKit::RemoteMediaRecorder::*)(WTF::MediaTime, unsigned long long), std::__1::tuple&lt;WTF::MediaTime, unsigned long long&gt;&amp;&amp;, std::__1::integer_sequence&lt;unsigned long, 0ul, 1ul&gt;) + 69  HandleMessage.h:44
12  WebCore                               0x11d13744e WebCore::MediaRecorderPrivateWriter::appendAudioSampleBuffer(WebCore::PlatformAudioData const&amp;, WebCore::AudioStreamDescription const&amp;, WTF::MediaTime const&amp;, unsigned long) + 78  MediaRecorderPrivateWriterCocoa.mm:426
11  WebCore                               0x11d125960 WebCore::AudioSampleBufferCompressor::addSampleBuffer(opaqueCMSampleBuffer*) + 64  AudioSampleBufferCompressor.mm:518
10  libdispatch.dylib                  0x7ff81a4c16b4 _dispatch_lane_barrier_sync_invoke_and_complete + 60
9   libdispatch.dylib                  0x7ff81a4b4500 _dispatch_client_callout + 8
8   JavaScriptCore                        0x119b6c642 void WTF::dispatchWorkItem&lt;WTF::Function&lt;void ()&gt; &gt;(void*) + 18  WorkQueueCocoa.cpp:49
7   WebCore                               0x11d125ef4 WTF::Detail::CallableWrapper&lt;WebCore::AudioSampleBufferCompressor::addSampleBuffer(opaqueCMSampleBuffer*)::$_7, void&gt;::call() + 100  Function.h:53
6   WebCore                               0x11d1256a5 WebCore::AudioSampleBufferCompressor::processSampleBuffersUntilLowWaterTime(CMTime) + 309  AudioSampleBufferCompressor.mm:481
5   WebCore                               0x11d124cea WebCore::AudioSampleBufferCompressor::sampleBufferWithNumPackets(unsigned int, AudioBufferList) + 506  AudioSampleBufferCompressor.mm:0
4   com.apple.CoreMedia                0x7ff8234a4bcb CMAudioSampleBufferCreateWithPacketDescriptions + 56
3   com.apple.CoreMedia                0x7ff8234a4d83 figAudioSampleBufferCreateWithPacketDescriptionsCallbackOrHandler + 434
2   com.apple.CoreMedia                0x7ff8234543f4 sBufCreate + 134
1   com.apple.CoreFoundation           0x7ff81a6b308f _CFRuntimeCreateInstance + 580
0   libsystem_malloc.dylib             0x7ff81a4a2ffd _malloc_zone_malloc + 249 
====
    1301 (223K) &lt;&lt; TOTAL &gt;&gt;
      ----
      6 (2.25K) ROOT LEAK: &lt;CMSampleBuffer 0x7fb1d5477e10&gt; [528]
         2 (1.64K) &lt;CMBlockBuffer 0x7fb1d5474fe0&gt; [144]
            1 (1.50K) 0x7fb1d580ca00 [1536]
         3 (96 bytes) &lt;NSMutableDictionary 0x7fb1d542e890&gt; [32]
            1 (48 bytes) &lt;NSMutableDictionary (Storage) 0x7fb1d541c400&gt; [48]
            1 (16 bytes) cow --&gt; &lt;NSMutableDictionary.cow (struct __cow_state_t) 0x7fb1d75459b0&gt; [16]
      ----
      6 (2.25K) ROOT LEAK: &lt;CMSampleBuffer 0x7fb1d754f820&gt; [528]
         2 (1.64K) &lt;CMBlockBuffer 0x7fb1d7551090&gt; [144]
            1 (1.50K) 0x7fb1e08c0e00 [1536]
         3 (96 bytes) &lt;NSMutableDictionary 0x7fb1d7546cc0&gt; [32]
            1 (48 bytes) &lt;NSMutableDictionary (Storage) 0x7fb1d7550000&gt; [48]
            1 (16 bytes) cow --&gt; &lt;NSMutableDictionary.cow (struct __cow_state_t) 0x7fb1d5433d10&gt; [16]
      ----
[…]

&lt;rdar://problem/82076765&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785280</commentid>
    <comment_count>1</comment_count>
      <attachid>435818</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-08-18 17:04:20 -0700</bug_when>
    <thetext>Created attachment 435818
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785349</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-18 20:34:26 -0700</bug_when>
    <thetext>Committed r281220 (240657@main): &lt;https://commits.webkit.org/240657@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 435818.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435818</attachid>
            <date>2021-08-18 17:04:20 -0700</date>
            <delta_ts>2021-08-18 20:34:27 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-229262-20210818170420.patch</filename>
            <type>text/plain</type>
            <size>6551</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjE2YWI2ODkzYTYzMDY0
Y2Q1M2JlN2JkNDY2OTgxNWNjNmJhNzQ3My4uNDc1NjQyNWIyZjA0OWRjZDQzYmNiMzc5NDBiZjBm
YzExZTYwZDZjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA4LTE4ICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgTGVhayBvZiBDTVNhbXBs
ZUJ1ZmZlclJlZiAodXAgdG8gMi4yNSBLQiBlYWNoKSBpbiBjb20uYXBwbGUuV2ViS2l0LkdQVS5E
ZXZlbG9wbWVudCBwcm9jZXNzCisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8yMjkyNjI+
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MjA3Njc2NT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5IHJ1bm5pbmcgbGF5b3V0IHRl
c3RzIHdpdGggLS1sZWFrcyBwbHVzIGZ1dHVyZSBwYXRjaAorICAgICAgICB0byBjaGVjayBmb3Ig
bGVha3MgaW4gdGhlIEdQVSBwcm9jZXNzLgorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFyZWNv
cmRlci9jb2NvYS9BdWRpb1NhbXBsZUJ1ZmZlckNvbXByZXNzb3IuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkF1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvcjo6c2FtcGxlQnVmZmVyV2l0aE51bVBhY2tl
dHMpOgorICAgICAgICAtIFVwZGF0ZSBzaWduYXR1cmUgdG8gcmV0dXJuIFJldGFpblB0cjxDTVNh
bXBsZUJ1ZmZlclJlZj4uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29h
L0F1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5tbToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlv
U2FtcGxlQnVmZmVyQ29tcHJlc3Nvcjo6c2FtcGxlQnVmZmVyV2l0aE51bVBhY2tldHMpOgorICAg
ICAgICAtIFVwZGF0ZSBzaWduYXR1cmUgdG8gcmV0dXJuIFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZl
clJlZj4uCisgICAgICAgIC0gUmVuYW1lIGBzYW1wbGVCdWZmZXJgIHRvIGByYXdTYW1wbGVCdWZm
ZXJgIHRvIG1hdGNoIHNpbWlsYXIKKyAgICAgICAgICBwYXR0ZXJuIHVzZWQgaW4gb3RoZXIgY29k
ZSwgdGhlbiB1c2UgYHNhbXBsZUJ1ZmZlcmAgdG8gc3RvcmUKKyAgICAgICAgICBgcmF3U2FtcGxl
QnVmZmVyYCB3cmFwcGVkIGluIGEgUmV0YWluUHRyPD4uCisgICAgICAgIChXZWJDb3JlOjpBdWRp
b1NhbXBsZUJ1ZmZlckNvbXByZXNzb3I6OnByb2Nlc3NTYW1wbGVCdWZmZXJzVW50aWxMb3dXYXRl
clRpbWUpOgorICAgICAgICAtIEFkZCBnZXQoKSB0byBgYnVmZmVyYCB2YXJpYWJsZSBzaW5jZSBp
dCBpcyBub3cgYSBSZXRhaW5QdHI8Pi4KKwogMjAyMS0wOC0xNiAgQnJlbnQgRnVsZ2hhbSAgPGJm
dWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjgxMDEyKTogV2ViSW5z
cGVjdG9yIGNvbnNvbGUgbm8gbG9uZ2VyIHNob3dzIHNjcmlwdCBpbnRlZ3JpdHkgaW5mb3JtYXRp
b24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhcmVjb3JkZXIvY29j
b2EvQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXJlY29yZGVyL2NvY29hL0F1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5oCmluZGV4
IGExODVjMDdkYjI3ZWYxNjIzZDAzNzY3NjM0YTNkMTcyYWFkMGRlOGUuLmE2YTU1MjRiYTZkMzgw
OTllYzJmYzM0ZWJjYjhiMGU2NTFiNDRjNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhcmVjb3JkZXIvY29jb2EvQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9BdWRpb1Nh
bXBsZUJ1ZmZlckNvbXByZXNzb3IuaApAQCAtNjAsNyArNjAsNyBAQCBwcml2YXRlOgogICAgIHNp
emVfdCBjb21wdXRlQnVmZmVyU2l6ZUZvckF1ZGlvRm9ybWF0KEF1ZGlvU3RyZWFtQmFzaWNEZXNj
cmlwdGlvbiwgVUludDMyLCBGbG9hdDMyKTsKICAgICB2b2lkIGF0dGFjaFByaW1pbmdUcmltc0lm
TmVlZGVkKENNU2FtcGxlQnVmZmVyUmVmKTsKICAgICBSZXRhaW5QdHI8TlNOdW1iZXI+IGdyYWR1
YWxEZWNvZGVyUmVmcmVzaENvdW50KCk7Ci0gICAgQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVm
ZmVyV2l0aE51bVBhY2tldHMoVUludDMyIG51bVBhY2tldHMsIEF1ZGlvQnVmZmVyTGlzdCk7Cisg
ICAgUmV0YWluUHRyPENNU2FtcGxlQnVmZmVyUmVmPiBzYW1wbGVCdWZmZXJXaXRoTnVtUGFja2V0
cyhVSW50MzIgbnVtUGFja2V0cywgQXVkaW9CdWZmZXJMaXN0KTsKICAgICB2b2lkIHByb2Nlc3NT
YW1wbGVCdWZmZXJzVW50aWxMb3dXYXRlclRpbWUoQ01UaW1lKTsKICAgICBPU1N0YXR1cyBwcm92
aWRlU291cmNlRGF0YU51bU91dHB1dFBhY2tldHMoVUludDMyKiwgQXVkaW9CdWZmZXJMaXN0Kiwg
QXVkaW9TdHJlYW1QYWNrZXREZXNjcmlwdGlvbioqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFyZWNvcmRlci9jb2NvYS9BdWRpb1NhbXBsZUJ1ZmZlckNvbXBy
ZXNzb3IubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL0F1
ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5tbQppbmRleCA1ZTExMGVjZDdkZTM4NDYxYjQyOTA0
YTBlYjQ4ODM0MTg0M2U3NWE0Li5jMzYwOGM5ZmEzMTBjZTVhOTkxOWQxZWFmMzgxZGZkN2RmOTNm
MTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXJlY29yZGVyL2Nv
Y29hL0F1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXJlY29yZGVyL2NvY29hL0F1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvci5t
bQpAQCAtMjYyLDcgKzI2Miw3IEBAIFJldGFpblB0cjxOU051bWJlcj4gQXVkaW9TYW1wbGVCdWZm
ZXJDb21wcmVzc29yOjpncmFkdWFsRGVjb2RlclJlZnJlc2hDb3VudCgpCiAgICAgcmV0dXJuIHJl
dGFpblB0cihbTlNOdW1iZXIgbnVtYmVyV2l0aEludDoocHJpbWVJbmZvLmxlYWRpbmdGcmFtZXMg
LyBtX2Rlc3RpbmF0aW9uRm9ybWF0Lm1GcmFtZXNQZXJQYWNrZXQpXSk7CiB9CiAKLUNNU2FtcGxl
QnVmZmVyUmVmIEF1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvcjo6c2FtcGxlQnVmZmVyV2l0aE51
bVBhY2tldHMoVUludDMyIG51bVBhY2tldHMsIEF1ZGlvQnVmZmVyTGlzdCBmaWxsQnVmZmVyTGlz
dCkKK1JldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVz
c29yOjpzYW1wbGVCdWZmZXJXaXRoTnVtUGFja2V0cyhVSW50MzIgbnVtUGFja2V0cywgQXVkaW9C
dWZmZXJMaXN0IGZpbGxCdWZmZXJMaXN0KQogewogICAgIFZlY3RvcjxjaGFyPiBjb29raWU7CiAg
ICAgaWYgKCFtX2Rlc3RpbmF0aW9uRm9ybWF0RGVzY3JpcHRpb24pIHsKQEAgLTMwMiwxNSArMzAy
LDE3IEBAIENNU2FtcGxlQnVmZmVyUmVmIEF1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvcjo6c2Ft
cGxlQnVmZmVyV2l0aE51bVBhY2tldHMoVUludDMyCiAgICAgICAgIHJldHVybiBuaWw7CiAgICAg
fQogCi0gICAgQ01TYW1wbGVCdWZmZXJSZWYgc2FtcGxlQnVmZmVyOwotICAgIGF1dG8gZXJyb3Ig
PSBQQUw6OkNNQXVkaW9TYW1wbGVCdWZmZXJDcmVhdGVXaXRoUGFja2V0RGVzY3JpcHRpb25zKGtD
RkFsbG9jYXRvckRlZmF1bHQsIGJ1ZmZlci5nZXQoKSwgdHJ1ZSwgTlVMTCwgTlVMTCwgbV9kZXN0
aW5hdGlvbkZvcm1hdERlc2NyaXB0aW9uLmdldCgpLCBudW1QYWNrZXRzLCBtX2N1cnJlbnROYXRp
dmVQcmVzZW50YXRpb25UaW1lU3RhbXAsIG1fZGVzdGluYXRpb25QYWNrZXREZXNjcmlwdGlvbnMu
ZGF0YSgpLCAmc2FtcGxlQnVmZmVyKTsKKyAgICBDTVNhbXBsZUJ1ZmZlclJlZiByYXdTYW1wbGVC
dWZmZXI7CisgICAgYXV0byBlcnJvciA9IFBBTDo6Q01BdWRpb1NhbXBsZUJ1ZmZlckNyZWF0ZVdp
dGhQYWNrZXREZXNjcmlwdGlvbnMoa0NGQWxsb2NhdG9yRGVmYXVsdCwgYnVmZmVyLmdldCgpLCB0
cnVlLCBOVUxMLCBOVUxMLCBtX2Rlc3RpbmF0aW9uRm9ybWF0RGVzY3JpcHRpb24uZ2V0KCksIG51
bVBhY2tldHMsIG1fY3VycmVudE5hdGl2ZVByZXNlbnRhdGlvblRpbWVTdGFtcCwgbV9kZXN0aW5h
dGlvblBhY2tldERlc2NyaXB0aW9ucy5kYXRhKCksICZyYXdTYW1wbGVCdWZmZXIpOwogICAgIGlm
IChlcnJvcikgewogICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihNZWRpYVN0cmVhbSwgIkF1ZGlv
U2FtcGxlQnVmZmVyQ29tcHJlc3NvciBDTUF1ZGlvU2FtcGxlQnVmZmVyQ3JlYXRlV2l0aFBhY2tl
dERlc2NyaXB0aW9ucyBmYWlsZWQgd2l0aCAlZCIsIGVycm9yKTsKICAgICAgICAgcmV0dXJuIG5p
bDsKICAgICB9CiAKKyAgICBhdXRvIHNhbXBsZUJ1ZmZlciA9IGFkb3B0Q0YocmF3U2FtcGxlQnVm
ZmVyKTsKKwogICAgIGlmIChbbV9nZHJDb3VudE51bSBpbnRWYWx1ZV0pCi0gICAgICAgIFBBTDo6
Q01TZXRBdHRhY2htZW50KHNhbXBsZUJ1ZmZlciwgUEFMOjprQ01TYW1wbGVCdWZmZXJBdHRhY2ht
ZW50S2V5X0dyYWR1YWxEZWNvZGVyUmVmcmVzaCwgKF9fYnJpZGdlIENGVHlwZVJlZiltX2dkckNv
dW50TnVtLmdldCgpLCBrQ01BdHRhY2htZW50TW9kZV9TaG91bGRQcm9wYWdhdGUpOworICAgICAg
ICBQQUw6OkNNU2V0QXR0YWNobWVudChzYW1wbGVCdWZmZXIuZ2V0KCksIFBBTDo6a0NNU2FtcGxl
QnVmZmVyQXR0YWNobWVudEtleV9HcmFkdWFsRGVjb2RlclJlZnJlc2gsIChfX2JyaWRnZSBDRlR5
cGVSZWYpbV9nZHJDb3VudE51bS5nZXQoKSwga0NNQXR0YWNobWVudE1vZGVfU2hvdWxkUHJvcGFn
YXRlKTsKIAogICAgIHJldHVybiBzYW1wbGVCdWZmZXI7CiB9CkBAIC00ODAsMjEgKzQ4MiwyMSBA
QCB2b2lkIEF1ZGlvU2FtcGxlQnVmZmVyQ29tcHJlc3Nvcjo6cHJvY2Vzc1NhbXBsZUJ1ZmZlcnNV
bnRpbExvd1dhdGVyVGltZShDTVRpbWUgbAogCiAgICAgICAgIGF1dG8gYnVmZmVyID0gc2FtcGxl
QnVmZmVyV2l0aE51bVBhY2tldHMobnVtT3V0cHV0UGFja2V0cywgZmlsbEJ1ZmZlckxpc3QpOwog
Ci0gICAgICAgIGF0dGFjaFByaW1pbmdUcmltc0lmTmVlZGVkKGJ1ZmZlcik7CisgICAgICAgIGF0
dGFjaFByaW1pbmdUcmltc0lmTmVlZGVkKGJ1ZmZlci5nZXQoKSk7CiAKLSAgICAgICAgZXJyb3Ig
PSBDTVNhbXBsZUJ1ZmZlclNldE91dHB1dFByZXNlbnRhdGlvblRpbWVTdGFtcChidWZmZXIsIG1f
Y3VycmVudE91dHB1dFByZXNlbnRhdGlvblRpbWVTdGFtcCk7CisgICAgICAgIGVycm9yID0gQ01T
YW1wbGVCdWZmZXJTZXRPdXRwdXRQcmVzZW50YXRpb25UaW1lU3RhbXAoYnVmZmVyLmdldCgpLCBt
X2N1cnJlbnRPdXRwdXRQcmVzZW50YXRpb25UaW1lU3RhbXApOwogICAgICAgICBpZiAoZXJyb3Ip
IHsKICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE1lZGlhU3RyZWFtLCAiQXVkaW9TYW1w
bGVCdWZmZXJDb21wcmVzc29yIENNU2FtcGxlQnVmZmVyU2V0T3V0cHV0UHJlc2VudGF0aW9uVGlt
ZVN0YW1wIGZhaWxlZCB3aXRoICVkIiwgZXJyb3IpOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAKLSAgICAgICAgQ01UaW1lIG5hdGl2ZUR1cmF0aW9uID0gQ01TYW1wbGVCdWZmZXJH
ZXREdXJhdGlvbihidWZmZXIpOworICAgICAgICBDTVRpbWUgbmF0aXZlRHVyYXRpb24gPSBDTVNh
bXBsZUJ1ZmZlckdldER1cmF0aW9uKGJ1ZmZlci5nZXQoKSk7CiAgICAgICAgIG1fY3VycmVudE5h
dGl2ZVByZXNlbnRhdGlvblRpbWVTdGFtcCA9IENNVGltZUFkZChtX2N1cnJlbnROYXRpdmVQcmVz
ZW50YXRpb25UaW1lU3RhbXAsIG5hdGl2ZUR1cmF0aW9uKTsKIAotICAgICAgICBDTVRpbWUgb3V0
cHV0RHVyYXRpb24gPSBDTVNhbXBsZUJ1ZmZlckdldE91dHB1dER1cmF0aW9uKGJ1ZmZlcik7Cisg
ICAgICAgIENNVGltZSBvdXRwdXREdXJhdGlvbiA9IENNU2FtcGxlQnVmZmVyR2V0T3V0cHV0RHVy
YXRpb24oYnVmZmVyLmdldCgpKTsKICAgICAgICAgbV9jdXJyZW50T3V0cHV0UHJlc2VudGF0aW9u
VGltZVN0YW1wID0gQ01UaW1lQWRkKG1fY3VycmVudE91dHB1dFByZXNlbnRhdGlvblRpbWVTdGFt
cCwgb3V0cHV0RHVyYXRpb24pOwogCi0gICAgICAgIGVycm9yID0gQ01CdWZmZXJRdWV1ZUVucXVl
dWUobV9vdXRwdXRCdWZmZXJRdWV1ZS5nZXQoKSwgYnVmZmVyKTsKKyAgICAgICAgZXJyb3IgPSBD
TUJ1ZmZlclF1ZXVlRW5xdWV1ZShtX291dHB1dEJ1ZmZlclF1ZXVlLmdldCgpLCBidWZmZXIuZ2V0
KCkpOwogICAgICAgICBpZiAoZXJyb3IpIHsKICAgICAgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9S
KE1lZGlhU3RyZWFtLCAiQXVkaW9TYW1wbGVCdWZmZXJDb21wcmVzc29yIENNQnVmZmVyUXVldWVF
bnF1ZXVlIGZhaWxlZCB3aXRoICVkIiwgZXJyb3IpOwogICAgICAgICAgICAgcmV0dXJuOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>