<?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>143517</bug_id>
          
          <creation_ts>2015-04-08 00:43:28 -0700</creation_ts>
          <short_desc>WebCore IconDatabase retain counts can get unbalanced when WebContent process terminates</short_desc>
          <delta_ts>2015-04-09 15:38:35 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.10</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gordon Sheridan">gordon_sheridan</reporter>
          <assigned_to name="Gordon Sheridan">gordon_sheridan</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jberlin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1083575</commentid>
    <comment_count>0</comment_count>
    <who name="Gordon Sheridan">gordon_sheridan</who>
    <bug_when>2015-04-08 00:43:28 -0700</bug_when>
    <thetext>The WebCore IconDatabase lives in the UI process. The WebContent process sends RetainIconForPageURL/ReleaseIconForPageURL messages to the UI process via WebIconDatabaseProxy. When a page is closed, its associated HistoryItems are released, which in turn queue ReleaseIconForPageURL messages for their URLs. However, the process terminates before the messages are actually sent to the UI process, so the WebCore IconDatabase is not able to balance the retain counts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083578</commentid>
    <comment_count>1</comment_count>
    <who name="Gordon Sheridan">gordon_sheridan</who>
    <bug_when>2015-04-08 00:51:02 -0700</bug_when>
    <thetext>Brady Eidson suggested WebProcessProxy the retain/releases in the UI process, and issue any remaining releases necessary when the associated process terminates. I expect to post a patch implementing this suggestion shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083586</commentid>
    <comment_count>2</comment_count>
      <attachid>250344</attachid>
    <who name="Gordon Sheridan">gordon_sheridan</who>
    <bug_when>2015-04-08 02:55:52 -0700</bug_when>
    <thetext>Created attachment 250344
Patch to track IconDatabase retain counts for WebContent processes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083587</commentid>
    <comment_count>3</comment_count>
    <who name="Gordon Sheridan">gordon_sheridan</who>
    <bug_when>2015-04-08 03:01:25 -0700</bug_when>
    <thetext>This is associated with rdar://problem/17388461.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083645</commentid>
    <comment_count>4</comment_count>
      <attachid>250344</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-04-08 10:13:51 -0700</bug_when>
    <thetext>Comment on attachment 250344
Patch to track IconDatabase retain counts for WebContent processes.

View in context: https://bugs.webkit.org/attachment.cgi?id=250344&amp;action=review

Looks great. Just a couple of tweaks needed.

&gt; Source/WebKit2/UIProcess/WebProcessProxy.cpp:443
&gt; +    if (!iconDatabase || pageURL.isNull())

Make this check isEmpty() instead of isNull()

&gt; Source/WebKit2/UIProcess/WebProcessProxy.cpp:457
&gt; +    if (!iconDatabase || pageURL.isNull())

Make this check isEmpty() instead of isNull()

&gt; Source/WebKit2/UIProcess/WebProcessProxy.cpp:465
&gt; +    --result-&gt;value;

If the new value is 0, we should remove the entry from the map.

Otherwise, a long lived WebProcess used for lots of navigations might build up a lot of leaked cruft inside this map.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083918</commentid>
    <comment_count>5</comment_count>
      <attachid>250427</attachid>
    <who name="Gordon Sheridan">gordon_sheridan</who>
    <bug_when>2015-04-09 01:48:01 -0700</bug_when>
    <thetext>Created attachment 250427
Updated patch to track IconDatabase retain counts for WebContent processes.

Updated patch to incorporate Brady&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084082</commentid>
    <comment_count>6</comment_count>
      <attachid>250427</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-09 15:38:30 -0700</bug_when>
    <thetext>Comment on attachment 250427
Updated patch to track IconDatabase retain counts for WebContent processes.

Clearing flags on attachment: 250427

Committed r182610: &lt;http://trac.webkit.org/changeset/182610&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084083</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-09 15:38:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250344</attachid>
            <date>2015-04-08 02:55:52 -0700</date>
            <delta_ts>2015-04-09 01:48:01 -0700</delta_ts>
            <desc>Patch to track IconDatabase retain counts for WebContent processes.</desc>
            <filename>Track-IconDatabase-retain-counts.diff</filename>
            <type>text/plain</type>
            <size>10051</size>
            <attacher name="Gordon Sheridan">gordon_sheridan</attacher>
            
              <data encoding="base64">RnJvbSA0Y2ExYjI1MzRkNzYxZTMyZjk1MGI4ZjlmODg5YjQ2MzQ1OGMzNDhmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHb3Jkb24gU2hlcmlkYW4gPGdvcmRvbl9zaGVyaWRhbkBhcHBs
ZS5jb20+CkRhdGU6IFdlZCwgOCBBcHIgMjAxNSAwMjo1MDoyOSAtMDcwMApTdWJqZWN0OiBbUEFU
Q0hdIFRyYWNrIEljb25EYXRhYmFzZSByZXRhaW4gY291bnRzIGZvciBXZWJDb250ZW50IHByb2Nl
c3Nlcy4KIEJhbGFuY2UgcmV0YWluL3JlbGVhc2VzIGZvciBwcm9jZXNzZXMgdGhhdCB0ZXJtaW5h
dGUgYmVmb3JlIHN1Y2Nlc3NmdWxseQogZG9pbmcgaXQgdGhlbXNlbHZlcy4gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzUxNy4KClJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgoKKiBVSVByb2Nlc3MvV2ViSWNvbkRhdGFiYXNlLm1lc3NhZ2VzLmluOgpNb3ZlIFJl
dGFpbkljb25Gb3JQYWdlVVJMIGFuZCBSZWxlYXNlSWNvbkZvclBhZ2VVUkwgbWVzc2FnZXMgdG8g
V2ViUHJvY2Vzc1Byb3h5IHNvIHRoZXkgY2FuIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgYXBwcm9w
cmlhdGUgd2ViIHByb2Nlc3MuCgoqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgooV2Vi
S2l0OjpXZWJQcm9jZXNzUHJveHk6On5XZWJQcm9jZXNzUHJveHkpOgpDYWxsIHJlbGVhc2VSZW1h
aW5pbmdJY29uc0ZvclBhZ2VVUkxzKCkgdG8gYmFsYW5jZSByZXRhaW5zL3JlbGVhc2VzIGZvciB0
aGlzIHByb2Nlc3MuCgooV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OnJldGFpbkljb25Gb3JQYWdl
VVJMKToKVHJhY2sgcmV0YWluIGNvdW50cyBmb3IgcGFnZSBVUkxzIGFuZCBjYWxsIHRocm91Z2gg
dG8gV2ViSWNvbkRhdGFiYXNlLgoKKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpyZWxlYXNlSWNv
bkZvclBhZ2VVUkwpOgpEaXR0by4KCihXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6cmVsZWFzZVJl
bWFpbmluZ0ljb25zRm9yUGFnZVVSTHMpOgpDYWxsIHJlbGVhc2VJY29uRm9yUGFnZVVSTCgpIG9u
Y2UgZm9yIGVhY2ggb3V0c3RhbmRpbmcgcmV0YWluIGNvdW50LCBmb3IgZWFjaCBwYWdlIFVSTC4K
CiogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgpEZWNsYXJlIG1ldGhvZHMgZm9yIHJldGFp
bkljb25Gb3JQYWdlVVJMKCksIHJlbGVhc2VJY29uRm9yUGFnZVVSTCgpLCBhbmQgcmVsZWFzZVJl
bWFpbmluZ0ljb25zRm9yUGFnZVVSTHMoKS4KRGVjbGFyZSBoYXNoIG1hcCB0byB0cmFjayBudW1i
ZXIgb2YgcmV0YWlucyBwZXIgcGFnZSBVUkwuCgoqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
bWVzc2FnZXMuaW46Ck1vdmVkIFJldGFpbkljb25Gb3JQYWdlVVJMIGFuZCBSZWxlYXNlSWNvbkZv
clBhZ2VVUkwgbWVzc2FnZXMgaGVyZSBmcm9tIFdlYkljb25EYXRhYmFzZS4KCiogV2ViUHJvY2Vz
cy9JY29uRGF0YWJhc2UvV2ViSWNvbkRhdGFiYXNlUHJveHkuY3BwOgooV2ViS2l0OjpXZWJJY29u
RGF0YWJhc2VQcm94eTo6cmV0YWluSWNvbkZvclBhZ2VVUkwpOgpNb2RpZnkgdGhlIHJlY2VpdmVy
IG9mIHRoZSBtZXNzYWdlIHRvIGJlIFdlYlByb2Nlc3NQcm94eS4KCihXZWJLaXQ6OldlYkljb25E
YXRhYmFzZVByb3h5OjpyZWxlYXNlSWNvbkZvclBhZ2VVUkwpOgpEaXR0by4KLS0tCiBTb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDM3ICsrKysrKysr
KysrKysrKysrCiAuLi4vV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSWNvbkRhdGFiYXNlLm1lc3NhZ2Vz
LmluICB8ICAyIC0KIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
ICAgICAgIHwgNDggKysrKysrKysrKysrKysrKysrKysrKwogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5oICAgICAgICAgfCAgNiArKysKIC4uLi9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4gIHwgIDMgKysKIC4uLi9JY29uRGF0YWJh
c2UvV2ViSWNvbkRhdGFiYXNlUHJveHkuY3BwICAgICAgICAgIHwgIDUgKystCiA2IGZpbGVzIGNo
YW5nZWQsIDk3IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGU4
NDY5NDEuLjcyMzcyNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxNS0wNC0wOCAg
R29yZG9uIFNoZXJpZGFuICA8Z29yZG9uX3NoZXJpZGFuQGFwcGxlLmNvbT4KKworICAgICAgICBU
cmFjayBJY29uRGF0YWJhc2UgcmV0YWluIGNvdW50cyBmb3IgV2ViQ29udGVudCBwcm9jZXNzZXMu
IEJhbGFuY2UgcmV0YWluL3JlbGVhc2VzIGZvciBwcm9jZXNzZXMgdGhhdCB0ZXJtaW5hdGUgYmVm
b3JlIHN1Y2Nlc3NmdWxseSBkb2luZyBpdCB0aGVtc2VsdmVzLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzNTE3LgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkljb25EYXRhYmFz
ZS5tZXNzYWdlcy5pbjoKKyAgICAgICAgTW92ZSBSZXRhaW5JY29uRm9yUGFnZVVSTCBhbmQgUmVs
ZWFzZUljb25Gb3JQYWdlVVJMIG1lc3NhZ2VzIHRvIFdlYlByb2Nlc3NQcm94eSBzbyB0aGV5IGNh
biBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIGFwcHJvcHJpYXRlIHdlYiBwcm9jZXNzLgorCisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3NQcm94eTo6fldlYlByb2Nlc3NQcm94eSk6CisgICAgICAgIENhbGwgcmVsZWFzZVJl
bWFpbmluZ0ljb25zRm9yUGFnZVVSTHMoKSB0byBiYWxhbmNlIHJldGFpbnMvcmVsZWFzZXMgZm9y
IHRoaXMgcHJvY2Vzcy4KKworICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OnJldGFp
bkljb25Gb3JQYWdlVVJMKToKKyAgICAgICAgVHJhY2sgcmV0YWluIGNvdW50cyBmb3IgcGFnZSBV
UkxzIGFuZCBjYWxsIHRocm91Z2ggdG8gV2ViSWNvbkRhdGFiYXNlLgorCisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3NQcm94eTo6cmVsZWFzZUljb25Gb3JQYWdlVVJMKToKKyAgICAgICAgRGl0
dG8uCisKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpyZWxlYXNlUmVtYWluaW5n
SWNvbnNGb3JQYWdlVVJMcyk6CisgICAgICAgIENhbGwgcmVsZWFzZUljb25Gb3JQYWdlVVJMKCkg
b25jZSBmb3IgZWFjaCBvdXRzdGFuZGluZyByZXRhaW4gY291bnQsIGZvciBlYWNoIHBhZ2UgVVJM
LgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorICAgICAgICBEZWNs
YXJlIG1ldGhvZHMgZm9yIHJldGFpbkljb25Gb3JQYWdlVVJMKCksIHJlbGVhc2VJY29uRm9yUGFn
ZVVSTCgpLCBhbmQgcmVsZWFzZVJlbWFpbmluZ0ljb25zRm9yUGFnZVVSTHMoKS4KKyAgICAgICAg
RGVjbGFyZSBoYXNoIG1hcCB0byB0cmFjayBudW1iZXIgb2YgcmV0YWlucyBwZXIgcGFnZSBVUkwu
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOgorICAg
ICAgICBNb3ZlZCBSZXRhaW5JY29uRm9yUGFnZVVSTCBhbmQgUmVsZWFzZUljb25Gb3JQYWdlVVJM
IG1lc3NhZ2VzIGhlcmUgZnJvbSBXZWJJY29uRGF0YWJhc2UuCisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0ljb25EYXRhYmFzZS9XZWJJY29uRGF0YWJhc2VQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYkljb25EYXRhYmFzZVByb3h5OjpyZXRhaW5JY29uRm9yUGFnZVVSTCk6CisgICAgICAg
IE1vZGlmeSB0aGUgcmVjZWl2ZXIgb2YgdGhlIG1lc3NhZ2UgdG8gYmUgV2ViUHJvY2Vzc1Byb3h5
LgorCisgICAgICAgIChXZWJLaXQ6OldlYkljb25EYXRhYmFzZVByb3h5OjpyZWxlYXNlSWNvbkZv
clBhZ2VVUkwpOgorICAgICAgICBEaXR0by4KKwogMjAxNS0wNC0wNiAgQW5kZXJzIENhcmxzc29u
ICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIENyZWF0ZSB0aGUgd2ViIGluc3BlY3Rv
ciBwcm9jZXNzIHBvb2wgbGF6aWx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViSWNvbkRhdGFiYXNlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkljb25EYXRhYmFzZS5tZXNzYWdlcy5pbgppbmRleCAzNzA1MmI1Li5mNWI5NmZkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSWNvbkRhdGFiYXNlLm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJY29uRGF0YWJhc2UubWVzc2Fn
ZXMuaW4KQEAgLTIxLDggKzIxLDYgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMgLT4gV2Vi
SWNvbkRhdGFiYXNlIHsKLSAgICBSZXRhaW5JY29uRm9yUGFnZVVSTChTdHJpbmcgcGFnZVVSTCkK
LSAgICBSZWxlYXNlSWNvbkZvclBhZ2VVUkwoU3RyaW5nIHBhZ2VVUkwpCiAgICAgU2V0SWNvblVS
TEZvclBhZ2VVUkwoU3RyaW5nIGljb25VUkwsIFN0cmluZyBwYWdlVVJMKQogICAgIFNldEljb25E
YXRhRm9ySWNvblVSTChJUEM6OkRhdGFSZWZlcmVuY2UgaWNvbkRhdGEsIFN0cmluZyBpY29uVVJM
KQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcApp
bmRleCA0YmI1NTg1Li45NjMxZDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5LmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIlRleHRDaGVja2Vy
U3RhdGUuaCIKICNpbmNsdWRlICJVc2VyRGF0YS5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJk
TGlzdEl0ZW0uaCIKKyNpbmNsdWRlICJXZWJJY29uRGF0YWJhc2UuaCIKICNpbmNsdWRlICJXZWJJ
bnNwZWN0b3JQcm94eS5oIgogI2luY2x1ZGUgIldlYk5hdmlnYXRpb25EYXRhU3RvcmUuaCIKICNp
bmNsdWRlICJXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuaCIKQEAgLTExOCw2ICsxMTksOSBA
QCBXZWJQcm9jZXNzUHJveHk6On5XZWJQcm9jZXNzUHJveHkoKQogICAgIEFTU0VSVChtX3BlbmRp
bmdEZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrcy5pc0VtcHR5KCkpOwogICAgIEFTU0VSVChtX3Bl
bmRpbmdEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnNDYWxsYmFja3MuaXNFbXB0eSgpKTsKIAor
ICAgIHJlbGVhc2VSZW1haW5pbmdJY29uc0ZvclBhZ2VVUkxzKCk7CisgICAgQVNTRVJUKG1fcGFn
ZVVSTFJldGFpbkNvdW50TWFwLmlzRW1wdHkoKSk7CisKICAgICBpZiAobV93ZWJDb25uZWN0aW9u
KQogICAgICAgICBtX3dlYkNvbm5lY3Rpb24tPmludmFsaWRhdGUoKTsKIApAQCAtNDMzLDYgKzQz
Nyw1MCBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6Z2V0RGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlv
bihQYXNzUmVmUHRyPE1lc3NhZ2VzOjpXZWJQcm9jZQogfQogI2VuZGlmIC8vIEVOQUJMRShEQVRB
QkFTRV9QUk9DRVNTKQogCit2b2lkIFdlYlByb2Nlc3NQcm94eTo6cmV0YWluSWNvbkZvclBhZ2VV
UkwoY29uc3QgU3RyaW5nJiBwYWdlVVJMKQoreworICAgIFdlYkljb25EYXRhYmFzZSogaWNvbkRh
dGFiYXNlID0gcHJvY2Vzc1Bvb2woKS5pY29uRGF0YWJhc2UoKTsKKyAgICBpZiAoIWljb25EYXRh
YmFzZSB8fCBwYWdlVVJMLmlzTnVsbCgpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBUcmFj
ayByZXRhaW4gY291bnRzIHNvIHdlIGNhbiByZWxlYXNlIHRoZW0gaWYgdGhlIFdlYlByb2Nlc3Mg
dGVybWluYXRlcyBlYXJseS4KKyAgICBhdXRvIHJlc3VsdCA9IG1fcGFnZVVSTFJldGFpbkNvdW50
TWFwLmFkZChwYWdlVVJMLCAxKTsKKyAgICBpZiAoIXJlc3VsdC5pc05ld0VudHJ5KQorICAgICAg
ICArK3Jlc3VsdC5pdGVyYXRvci0+dmFsdWU7CisKKyAgICBpY29uRGF0YWJhc2UtPnJldGFpbklj
b25Gb3JQYWdlVVJMKHBhZ2VVUkwpOworfQorCit2b2lkIFdlYlByb2Nlc3NQcm94eTo6cmVsZWFz
ZUljb25Gb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYgcGFnZVVSTCkKK3sKKyAgICBXZWJJY29uRGF0
YWJhc2UqIGljb25EYXRhYmFzZSA9IHByb2Nlc3NQb29sKCkuaWNvbkRhdGFiYXNlKCk7CisgICAg
aWYgKCFpY29uRGF0YWJhc2UgfHwgcGFnZVVSTC5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgLy8gVHJhY2sgcmV0YWluIGNvdW50cyBzbyB3ZSBjYW4gcmVsZWFzZSB0aGVtIGlmIHRo
ZSBXZWJQcm9jZXNzIHRlcm1pbmF0ZXMgZWFybHkuCisgICAgYXV0byByZXN1bHQgPSBtX3BhZ2VV
UkxSZXRhaW5Db3VudE1hcC5maW5kKHBhZ2VVUkwpOworICAgIGlmIChyZXN1bHQgPT0gbV9wYWdl
VVJMUmV0YWluQ291bnRNYXAuZW5kKCkpCisgICAgICAgIHJldHVybjsKKworICAgIC0tcmVzdWx0
LT52YWx1ZTsKKyAgICBpY29uRGF0YWJhc2UtPnJlbGVhc2VJY29uRm9yUGFnZVVSTChwYWdlVVJM
KTsKK30KKwordm9pZCBXZWJQcm9jZXNzUHJveHk6OnJlbGVhc2VSZW1haW5pbmdJY29uc0ZvclBh
Z2VVUkxzKCkKK3sKKyAgICBXZWJJY29uRGF0YWJhc2UqIGljb25EYXRhYmFzZSA9IHByb2Nlc3NQ
b29sKCkuaWNvbkRhdGFiYXNlKCk7CisgICAgaWYgKCFpY29uRGF0YWJhc2UpCisgICAgICAgIHJl
dHVybjsKKworICAgIGZvciAoYXV0byBpdGVyIDogbV9wYWdlVVJMUmV0YWluQ291bnRNYXApIHsK
KyAgICAgICAgdWludDY0X3QgY291bnQgPSBpdGVyLnZhbHVlOworICAgICAgICBmb3IgKHVpbnQ2
NF90IGkgPSAwOyBpIDwgY291bnQ7ICsraSkKKyAgICAgICAgICAgIGljb25EYXRhYmFzZS0+cmVs
ZWFzZUljb25Gb3JQYWdlVVJMKGl0ZXIua2V5KTsKKyAgICB9CisKKyAgICBtX3BhZ2VVUkxSZXRh
aW5Db3VudE1hcC5jbGVhcigpOworfQorCiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2
ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6Ok1lc3NhZ2VEZWNvZGVy
JiBkZWNvZGVyKQogewogICAgIGlmIChkaXNwYXRjaE1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rl
cikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKaW5kZXggYjAz
MTJiMi4uYmY1MjAyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuaApAQCAtMTkwLDYgKzE5MCwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgZ2V0RGF0YWJhc2VQ
cm9jZXNzQ29ubmVjdGlvbihQYXNzUmVmUHRyPE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6Okdl
dERhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5ZWRSZXBseT4pOwogI2VuZGlmCiAKKyAg
ICB2b2lkIHJldGFpbkljb25Gb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYgcGFnZVVSTCk7CisgICAg
dm9pZCByZWxlYXNlSWNvbkZvclBhZ2VVUkwoY29uc3QgU3RyaW5nJiBwYWdlVVJMKTsKKyAgICB2
b2lkIHJlbGVhc2VSZW1haW5pbmdJY29uc0ZvclBhZ2VVUkxzKCk7CisKICAgICAvLyBJUEM6OkNv
bm5lY3Rpb246OkNsaWVudAogICAgIGZyaWVuZCBjbGFzcyBXZWJDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24m
LCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CkBAIC0yNDMsNiArMjQ3LDggQEAgcHJp
dmF0ZToKICNpZiBQTEFURk9STShJT1MpICYmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCiAgICAg
UHJvY2Vzc1Rocm90dGxlcjo6Rm9yZWdyb3VuZEFjdGl2aXR5VG9rZW4gbV90b2tlbkZvck5ldHdv
cmtQcm9jZXNzOwogI2VuZGlmCisKKyAgICBIYXNoTWFwPFN0cmluZywgdWludDY0X3Q+IG1fcGFn
ZVVSTFJldGFpbkNvdW50TWFwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpp
bmRleCA1OTA1NDk3Li43NDUwOWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KQEAgLTQ4LDQgKzQ4LDcgQEAgbWVzc2Fn
ZXMgLT4gV2ViUHJvY2Vzc1Byb3h5IExlZ2FjeVJlY2VpdmVyIHsKICAgICBEaWRDYW5jZWxQcm9j
ZXNzU3VzcGVuc2lvbigpCiAKICAgICBTZXRJc0hvbGRpbmdMb2NrZWRGaWxlcyhib29sIGlzSG9s
ZGluZ0xvY2tlZEZpbGVzKQorCisgICAgUmV0YWluSWNvbkZvclBhZ2VVUkwoU3RyaW5nIHBhZ2VV
UkwpCisgICAgUmVsZWFzZUljb25Gb3JQYWdlVVJMKFN0cmluZyBwYWdlVVJMKQogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JY29uRGF0YWJhc2UvV2ViSWNvbkRhdGFi
YXNlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JY29uRGF0YWJhc2UvV2Vi
SWNvbkRhdGFiYXNlUHJveHkuY3BwCmluZGV4IDdiODI5MWQuLjMzZmU1ODcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSWNvbkRhdGFiYXNlL1dlYkljb25EYXRhYmFzZVBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0ljb25EYXRhYmFzZS9XZWJJ
Y29uRGF0YWJhc2VQcm94eS5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJXZWJJY29u
RGF0YWJhc2VNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYkljb25EYXRhYmFzZVByb3h5TWVzc2Fn
ZXMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5
TWVzc2FnZXMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC02NCwxMiArNjUsMTIgQEAgdm9pZCBXZWJJY29u
RGF0YWJhc2VQcm94eTo6c2V0RW5hYmxlZChib29sIGVuYWJsZWQpCiAKIHZvaWQgV2ViSWNvbkRh
dGFiYXNlUHJveHk6OnJldGFpbkljb25Gb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYgcGFnZVVSTCkK
IHsKLSAgICBtX3Byb2Nlc3MtPnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2Fn
ZXM6OldlYkljb25EYXRhYmFzZTo6UmV0YWluSWNvbkZvclBhZ2VVUkwocGFnZVVSTCksIDApOwor
ICAgIG1fcHJvY2Vzcy0+cGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6
V2ViUHJvY2Vzc1Byb3h5OjpSZXRhaW5JY29uRm9yUGFnZVVSTChwYWdlVVJMKSwgMCk7CiB9CiAK
IHZvaWQgV2ViSWNvbkRhdGFiYXNlUHJveHk6OnJlbGVhc2VJY29uRm9yUGFnZVVSTChjb25zdCBT
dHJpbmcmIHBhZ2VVUkwpCiB7Ci0gICAgbV9wcm9jZXNzLT5wYXJlbnRQcm9jZXNzQ29ubmVjdGlv
bigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJJY29uRGF0YWJhc2U6OlJlbGVhc2VJY29uRm9yUGFnZVVS
TChwYWdlVVJMKSwgMCk7CisgICAgbV9wcm9jZXNzLT5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigp
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OlJlbGVhc2VJY29uRm9yUGFnZVVSTChw
YWdlVVJMKSwgMCk7CiB9CiAKIEltYWdlKiBXZWJJY29uRGF0YWJhc2VQcm94eTo6c3luY2hyb25v
dXNJY29uRm9yUGFnZVVSTChjb25zdCBTdHJpbmcmIHBhZ2VVUkwsIGNvbnN0IEludFNpemUmIC8q
c2l6ZSovKQotLSAKMi4yLjEKCg==
</data>
<flag name="review"
          id="275142"
          type_id="1"
          status="-"
          setter="beidson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250427</attachid>
            <date>2015-04-09 01:48:01 -0700</date>
            <delta_ts>2015-04-09 15:38:30 -0700</delta_ts>
            <desc>Updated patch to track IconDatabase retain counts for WebContent processes.</desc>
            <filename>Track-IconDatabase-retain-counts-2.diff</filename>
            <type>text/plain</type>
            <size>10397</size>
            <attacher name="Gordon Sheridan">gordon_sheridan</attacher>
            
              <data encoding="base64">RnJvbSA4ZjViODcxYTIzMzQwMDMxYmFiZTU2OGMxZDU2ZTcwNDc1OWViZGQ5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHb3Jkb24gU2hlcmlkYW4gPGdvcmRvbl9zaGVyaWRhbkBhcHBs
ZS5jb20+CkRhdGU6IFdlZCwgOCBBcHIgMjAxNSAxNDozMDowNCAtMDcwMApTdWJqZWN0OiBbUEFU
Q0hdIFRyYWNrIEljb25EYXRhYmFzZSByZXRhaW4gY291bnRzIGZvciBXZWJDb250ZW50IHByb2Nl
c3Nlcy4KIEJhbGFuY2UgcmV0YWluL3JlbGVhc2VzIGZvciBwcm9jZXNzZXMgdGhhdCB0ZXJtaW5h
dGUgYmVmb3JlIHN1Y2Nlc3NmdWxseQogZG9pbmcgaXQgdGhlbXNlbHZlcy4gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzUxNy4KClJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgoKKiBVSVByb2Nlc3MvV2ViSWNvbkRhdGFiYXNlLm1lc3NhZ2VzLmluOgpNb3ZlIFJl
dGFpbkljb25Gb3JQYWdlVVJMIGFuZCBSZWxlYXNlSWNvbkZvclBhZ2VVUkwgbWVzc2FnZXMgdG8g
V2ViUHJvY2Vzc1Byb3h5IHNvIHRoZXkgY2FuIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgYXBwcm9w
cmlhdGUgd2ViIHByb2Nlc3MuCgoqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgooV2Vi
S2l0OjpXZWJQcm9jZXNzUHJveHk6OmNvbm5lY3Rpb25EaWRDbG9zZSk6CkNhbGwgcmVsZWFzZVJl
bWFpbmluZ0ljb25zRm9yUGFnZVVSTHMoKSB0byBiYWxhbmNlIHJldGFpbnMvcmVsZWFzZXMgZm9y
IHRoaXMgcHJvY2Vzcy4KCihXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6cmV0YWluSWNvbkZvclBh
Z2VVUkwpOgpUcmFjayByZXRhaW4gY291bnRzIGZvciBwYWdlIFVSTHMgYW5kIGNhbGwgdGhyb3Vn
aCB0byBXZWJJY29uRGF0YWJhc2UuCgooV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OnJlbGVhc2VJ
Y29uRm9yUGFnZVVSTCk6CkRpdHRvLgoKKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpyZWxlYXNl
UmVtYWluaW5nSWNvbnNGb3JQYWdlVVJMcyk6CkNhbGwgcmVsZWFzZUljb25Gb3JQYWdlVVJMKCkg
b25jZSBmb3IgZWFjaCBvdXRzdGFuZGluZyByZXRhaW4gY291bnQsIGZvciBlYWNoIHBhZ2UgVVJM
LgoKKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lmg6CkRlY2xhcmUgbWV0aG9kcyBmb3IgcmV0
YWluSWNvbkZvclBhZ2VVUkwoKSwgcmVsZWFzZUljb25Gb3JQYWdlVVJMKCksIGFuZCByZWxlYXNl
UmVtYWluaW5nSWNvbnNGb3JQYWdlVVJMcygpLgpEZWNsYXJlIGhhc2ggbWFwIHRvIHRyYWNrIG51
bWJlciBvZiByZXRhaW5zIHBlciBwYWdlIFVSTC4KCiogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94
eS5tZXNzYWdlcy5pbjoKTW92ZWQgUmV0YWluSWNvbkZvclBhZ2VVUkwgYW5kIFJlbGVhc2VJY29u
Rm9yUGFnZVVSTCBtZXNzYWdlcyBoZXJlIGZyb20gV2ViSWNvbkRhdGFiYXNlLgoKKiBXZWJQcm9j
ZXNzL0ljb25EYXRhYmFzZS9XZWJJY29uRGF0YWJhc2VQcm94eS5jcHA6CihXZWJLaXQ6OldlYklj
b25EYXRhYmFzZVByb3h5OjpyZXRhaW5JY29uRm9yUGFnZVVSTCk6Ck1vZGlmeSB0aGUgcmVjZWl2
ZXIgb2YgdGhlIG1lc3NhZ2UgdG8gYmUgV2ViUHJvY2Vzc1Byb3h5LgoKKFdlYktpdDo6V2ViSWNv
bkRhdGFiYXNlUHJveHk6OnJlbGVhc2VJY29uRm9yUGFnZVVSTCk6CkRpdHRvLgotLS0KIFNvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzcgKysrKysr
KysrKysrKysrKwogLi4uL1dlYktpdDIvVUlQcm9jZXNzL1dlYkljb25EYXRhYmFzZS5tZXNzYWdl
cy5pbiAgfCAgMiAtCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNw
cCAgICAgICB8IDUxICsrKysrKysrKysrKysrKysrKysrKysKIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkuaCAgICAgICAgIHwgIDYgKysrCiAuLi4vV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluICB8ICAzICsrCiAuLi4vSWNvbkRhdGFi
YXNlL1dlYkljb25EYXRhYmFzZVByb3h5LmNwcCAgICAgICAgICB8ICA1ICsrLQogNiBmaWxlcyBj
aGFuZ2VkLCAxMDAgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
YWJhZmM0My4uMmRlNjhiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE1LTA0LTA4
ICBHb3Jkb24gU2hlcmlkYW4gIDxnb3Jkb25fc2hlcmlkYW5AYXBwbGUuY29tPgorCisgICAgICAg
IFRyYWNrIEljb25EYXRhYmFzZSByZXRhaW4gY291bnRzIGZvciBXZWJDb250ZW50IHByb2Nlc3Nl
cy4gQmFsYW5jZSByZXRhaW4vcmVsZWFzZXMgZm9yIHByb2Nlc3NlcyB0aGF0IHRlcm1pbmF0ZSBi
ZWZvcmUgc3VjY2Vzc2Z1bGx5IGRvaW5nIGl0IHRoZW1zZWx2ZXMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDM1MTcuCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSWNvbkRhdGFi
YXNlLm1lc3NhZ2VzLmluOgorICAgICAgICBNb3ZlIFJldGFpbkljb25Gb3JQYWdlVVJMIGFuZCBS
ZWxlYXNlSWNvbkZvclBhZ2VVUkwgbWVzc2FnZXMgdG8gV2ViUHJvY2Vzc1Byb3h5IHNvIHRoZXkg
Y2FuIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgYXBwcm9wcmlhdGUgd2ViIHByb2Nlc3MuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzc1Byb3h5Ojpjb25uZWN0aW9uRGlkQ2xvc2UpOgorICAgICAgICBDYWxsIHJlbGVh
c2VSZW1haW5pbmdJY29uc0ZvclBhZ2VVUkxzKCkgdG8gYmFsYW5jZSByZXRhaW5zL3JlbGVhc2Vz
IGZvciB0aGlzIHByb2Nlc3MuCisKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojpy
ZXRhaW5JY29uRm9yUGFnZVVSTCk6CisgICAgICAgIFRyYWNrIHJldGFpbiBjb3VudHMgZm9yIHBh
Z2UgVVJMcyBhbmQgY2FsbCB0aHJvdWdoIHRvIFdlYkljb25EYXRhYmFzZS4KKworICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OnJlbGVhc2VJY29uRm9yUGFnZVVSTCk6CisgICAgICAg
IERpdHRvLgorCisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6cmVsZWFzZVJlbWFp
bmluZ0ljb25zRm9yUGFnZVVSTHMpOgorICAgICAgICBDYWxsIHJlbGVhc2VJY29uRm9yUGFnZVVS
TCgpIG9uY2UgZm9yIGVhY2ggb3V0c3RhbmRpbmcgcmV0YWluIGNvdW50LCBmb3IgZWFjaCBwYWdl
IFVSTC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAg
RGVjbGFyZSBtZXRob2RzIGZvciByZXRhaW5JY29uRm9yUGFnZVVSTCgpLCByZWxlYXNlSWNvbkZv
clBhZ2VVUkwoKSwgYW5kIHJlbGVhc2VSZW1haW5pbmdJY29uc0ZvclBhZ2VVUkxzKCkuCisgICAg
ICAgIERlY2xhcmUgaGFzaCBtYXAgdG8gdHJhY2sgbnVtYmVyIG9mIHJldGFpbnMgcGVyIHBhZ2Ug
VVJMLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbjoK
KyAgICAgICAgTW92ZWQgUmV0YWluSWNvbkZvclBhZ2VVUkwgYW5kIFJlbGVhc2VJY29uRm9yUGFn
ZVVSTCBtZXNzYWdlcyBoZXJlIGZyb20gV2ViSWNvbkRhdGFiYXNlLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9JY29uRGF0YWJhc2UvV2ViSWNvbkRhdGFiYXNlUHJveHkuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJJY29uRGF0YWJhc2VQcm94eTo6cmV0YWluSWNvbkZvclBhZ2VVUkwpOgorICAg
ICAgICBNb2RpZnkgdGhlIHJlY2VpdmVyIG9mIHRoZSBtZXNzYWdlIHRvIGJlIFdlYlByb2Nlc3NQ
cm94eS4KKworICAgICAgICAoV2ViS2l0OjpXZWJJY29uRGF0YWJhc2VQcm94eTo6cmVsZWFzZUlj
b25Gb3JQYWdlVVJMKToKKyAgICAgICAgRGl0dG8uCisKIDIwMTUtMDQtMDggIEVucmljYSBDYXN1
Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KIAogICAgICAgICAzMi1iaXQgYnVpbGQgZml4IGFmdGVy
IHIxODI1NTQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSWNvbkRh
dGFiYXNlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkljb25EYXRh
YmFzZS5tZXNzYWdlcy5pbgppbmRleCAzNzA1MmI1Li5mNWI5NmZkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSWNvbkRhdGFiYXNlLm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJY29uRGF0YWJhc2UubWVzc2FnZXMuaW4KQEAgLTIx
LDggKzIxLDYgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMgLT4gV2ViSWNvbkRhdGFiYXNl
IHsKLSAgICBSZXRhaW5JY29uRm9yUGFnZVVSTChTdHJpbmcgcGFnZVVSTCkKLSAgICBSZWxlYXNl
SWNvbkZvclBhZ2VVUkwoU3RyaW5nIHBhZ2VVUkwpCiAgICAgU2V0SWNvblVSTEZvclBhZ2VVUkwo
U3RyaW5nIGljb25VUkwsIFN0cmluZyBwYWdlVVJMKQogICAgIFNldEljb25EYXRhRm9ySWNvblVS
TChJUEM6OkRhdGFSZWZlcmVuY2UgaWNvbkRhdGEsIFN0cmluZyBpY29uVVJMKQogICAgIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA0YmI1NTg1
Li5mYjBmYjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
LmNwcApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIlRleHRDaGVja2VyU3RhdGUuaCIKICNp
bmNsdWRlICJVc2VyRGF0YS5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uaCIK
KyNpbmNsdWRlICJXZWJJY29uRGF0YWJhc2UuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JQcm94
eS5oIgogI2luY2x1ZGUgIldlYk5hdmlnYXRpb25EYXRhU3RvcmUuaCIKICNpbmNsdWRlICJXZWJO
b3RpZmljYXRpb25NYW5hZ2VyUHJveHkuaCIKQEAgLTExNyw2ICsxMTgsNyBAQCBXZWJQcm9jZXNz
UHJveHk6On5XZWJQcm9jZXNzUHJveHkoKQogICAgIEFTU0VSVChtX3BlbmRpbmdGZXRjaFdlYnNp
dGVEYXRhQ2FsbGJhY2tzLmlzRW1wdHkoKSk7CiAgICAgQVNTRVJUKG1fcGVuZGluZ0RlbGV0ZVdl
YnNpdGVEYXRhQ2FsbGJhY2tzLmlzRW1wdHkoKSk7CiAgICAgQVNTRVJUKG1fcGVuZGluZ0RlbGV0
ZVdlYnNpdGVEYXRhRm9yT3JpZ2luc0NhbGxiYWNrcy5pc0VtcHR5KCkpOworICAgIEFTU0VSVCht
X3BhZ2VVUkxSZXRhaW5Db3VudE1hcC5pc0VtcHR5KCkpOwogCiAgICAgaWYgKG1fd2ViQ29ubmVj
dGlvbikKICAgICAgICAgbV93ZWJDb25uZWN0aW9uLT5pbnZhbGlkYXRlKCk7CkBAIC0xNjMsNiAr
MTY1LDggQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmNvbm5lY3Rpb25EaWRDbG9zZShJUEM6OkNv
bm5lY3Rpb24mIGNvbm5lY3Rpb24pCiAKICAgICBmb3IgKGF1dG8mIHBhZ2UgOiBtX3BhZ2VNYXAu
dmFsdWVzKCkpCiAgICAgICAgIHBhZ2UtPmNvbm5lY3Rpb25EaWRDbG9zZShjb25uZWN0aW9uKTsK
KworICAgIHJlbGVhc2VSZW1haW5pbmdJY29uc0ZvclBhZ2VVUkxzKCk7CiB9CiAKIHZvaWQgV2Vi
UHJvY2Vzc1Byb3h5OjpkaXNjb25uZWN0KCkKQEAgLTQzMyw2ICs0MzcsNTMgQEAgdm9pZCBXZWJQ
cm9jZXNzUHJveHk6OmdldERhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24oUGFzc1JlZlB0cjxNZXNz
YWdlczo6V2ViUHJvY2UKIH0KICNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0VfUFJPQ0VTUykKIAor
dm9pZCBXZWJQcm9jZXNzUHJveHk6OnJldGFpbkljb25Gb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYg
cGFnZVVSTCkKK3sKKyAgICBXZWJJY29uRGF0YWJhc2UqIGljb25EYXRhYmFzZSA9IHByb2Nlc3NQ
b29sKCkuaWNvbkRhdGFiYXNlKCk7CisgICAgaWYgKCFpY29uRGF0YWJhc2UgfHwgcGFnZVVSTC5p
c0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIFRyYWNrIHJldGFpbiBjb3VudHMg
c28gd2UgY2FuIHJlbGVhc2UgdGhlbSBpZiB0aGUgV2ViUHJvY2VzcyB0ZXJtaW5hdGVzIGVhcmx5
LgorICAgIGF1dG8gcmVzdWx0ID0gbV9wYWdlVVJMUmV0YWluQ291bnRNYXAuYWRkKHBhZ2VVUkws
IDEpOworICAgIGlmICghcmVzdWx0LmlzTmV3RW50cnkpCisgICAgICAgICsrcmVzdWx0Lml0ZXJh
dG9yLT52YWx1ZTsKKworICAgIGljb25EYXRhYmFzZS0+cmV0YWluSWNvbkZvclBhZ2VVUkwocGFn
ZVVSTCk7Cit9CisKK3ZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpyZWxlYXNlSWNvbkZvclBhZ2VVUkwo
Y29uc3QgU3RyaW5nJiBwYWdlVVJMKQoreworICAgIFdlYkljb25EYXRhYmFzZSogaWNvbkRhdGFi
YXNlID0gcHJvY2Vzc1Bvb2woKS5pY29uRGF0YWJhc2UoKTsKKyAgICBpZiAoIWljb25EYXRhYmFz
ZSB8fCBwYWdlVVJMLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gVHJhY2sg
cmV0YWluIGNvdW50cyBzbyB3ZSBjYW4gcmVsZWFzZSB0aGVtIGlmIHRoZSBXZWJQcm9jZXNzIHRl
cm1pbmF0ZXMgZWFybHkuCisgICAgYXV0byByZXN1bHQgPSBtX3BhZ2VVUkxSZXRhaW5Db3VudE1h
cC5maW5kKHBhZ2VVUkwpOworICAgIGlmIChyZXN1bHQgPT0gbV9wYWdlVVJMUmV0YWluQ291bnRN
YXAuZW5kKCkpCisgICAgICAgIHJldHVybjsKKworICAgIC0tcmVzdWx0LT52YWx1ZTsKKyAgICBp
ZiAoIXJlc3VsdC0+dmFsdWUpCisgICAgICAgIG1fcGFnZVVSTFJldGFpbkNvdW50TWFwLnJlbW92
ZShyZXN1bHQpOworCisgICAgaWNvbkRhdGFiYXNlLT5yZWxlYXNlSWNvbkZvclBhZ2VVUkwocGFn
ZVVSTCk7Cit9CisKK3ZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpyZWxlYXNlUmVtYWluaW5nSWNvbnNG
b3JQYWdlVVJMcygpCit7CisgICAgV2ViSWNvbkRhdGFiYXNlKiBpY29uRGF0YWJhc2UgPSBwcm9j
ZXNzUG9vbCgpLmljb25EYXRhYmFzZSgpOworICAgIGlmICghaWNvbkRhdGFiYXNlKQorICAgICAg
ICByZXR1cm47CisKKyAgICBmb3IgKGF1dG8gaXRlciA6IG1fcGFnZVVSTFJldGFpbkNvdW50TWFw
KSB7CisgICAgICAgIHVpbnQ2NF90IGNvdW50ID0gaXRlci52YWx1ZTsKKyAgICAgICAgZm9yICh1
aW50NjRfdCBpID0gMDsgaSA8IGNvdW50OyArK2kpCisgICAgICAgICAgICBpY29uRGF0YWJhc2Ut
PnJlbGVhc2VJY29uRm9yUGFnZVVSTChpdGVyLmtleSk7CisgICAgfQorCisgICAgbV9wYWdlVVJM
UmV0YWluQ291bnRNYXAuY2xlYXIoKTsKK30KKwogdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZFJl
Y2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpNZXNzYWdlRGVj
b2RlciYgZGVjb2RlcikKIHsKICAgICBpZiAoZGlzcGF0Y2hNZXNzYWdlKGNvbm5lY3Rpb24sIGRl
Y29kZXIpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4
IGIwMzEyYjIuLmJmNTIwMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5LmgKQEAgLTE5MCw2ICsxOTAsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIGdldERhdGFi
YXNlUHJvY2Vzc0Nvbm5lY3Rpb24oUGFzc1JlZlB0cjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5
OjpHZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHk+KTsKICNlbmRpZgog
CisgICAgdm9pZCByZXRhaW5JY29uRm9yUGFnZVVSTChjb25zdCBTdHJpbmcmIHBhZ2VVUkwpOwor
ICAgIHZvaWQgcmVsZWFzZUljb25Gb3JQYWdlVVJMKGNvbnN0IFN0cmluZyYgcGFnZVVSTCk7Cisg
ICAgdm9pZCByZWxlYXNlUmVtYWluaW5nSWNvbnNGb3JQYWdlVVJMcygpOworCiAgICAgLy8gSVBD
OjpDb25uZWN0aW9uOjpDbGllbnQKICAgICBmcmllbmQgY2xhc3MgV2ViQ29ubmVjdGlvblRvV2Vi
UHJvY2VzczsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOwpAQCAtMjQzLDYgKzI0Nyw4IEBA
IHByaXZhdGU6CiAjaWYgUExBVEZPUk0oSU9TKSAmJiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQog
ICAgIFByb2Nlc3NUaHJvdHRsZXI6OkZvcmVncm91bmRBY3Rpdml0eVRva2VuIG1fdG9rZW5Gb3JO
ZXR3b3JrUHJvY2VzczsKICNlbmRpZgorCisgICAgSGFzaE1hcDxTdHJpbmcsIHVpbnQ2NF90PiBt
X3BhZ2VVUkxSZXRhaW5Db3VudE1hcDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggNTkwNTQ5Ny4uNzQ1MDllMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC00OCw0ICs0OCw3IEBAIG1l
c3NhZ2VzIC0+IFdlYlByb2Nlc3NQcm94eSBMZWdhY3lSZWNlaXZlciB7CiAgICAgRGlkQ2FuY2Vs
UHJvY2Vzc1N1c3BlbnNpb24oKQogCiAgICAgU2V0SXNIb2xkaW5nTG9ja2VkRmlsZXMoYm9vbCBp
c0hvbGRpbmdMb2NrZWRGaWxlcykKKworICAgIFJldGFpbkljb25Gb3JQYWdlVVJMKFN0cmluZyBw
YWdlVVJMKQorICAgIFJlbGVhc2VJY29uRm9yUGFnZVVSTChTdHJpbmcgcGFnZVVSTCkKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSWNvbkRhdGFiYXNlL1dlYkljb25E
YXRhYmFzZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSWNvbkRhdGFiYXNl
L1dlYkljb25EYXRhYmFzZVByb3h5LmNwcAppbmRleCA3YjgyOTFkLi4zM2ZlNTg3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0ljb25EYXRhYmFzZS9XZWJJY29uRGF0YWJh
c2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JY29uRGF0YWJhc2Uv
V2ViSWNvbkRhdGFiYXNlUHJveHkuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiV2Vi
SWNvbkRhdGFiYXNlTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJJY29uRGF0YWJhc2VQcm94eU1l
c3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NQ
cm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNjQsMTIgKzY1LDEyIEBAIHZvaWQgV2Vi
SWNvbkRhdGFiYXNlUHJveHk6OnNldEVuYWJsZWQoYm9vbCBlbmFibGVkKQogCiB2b2lkIFdlYklj
b25EYXRhYmFzZVByb3h5OjpyZXRhaW5JY29uRm9yUGFnZVVSTChjb25zdCBTdHJpbmcmIHBhZ2VV
UkwpCiB7Ci0gICAgbV9wcm9jZXNzLT5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1l
c3NhZ2VzOjpXZWJJY29uRGF0YWJhc2U6OlJldGFpbkljb25Gb3JQYWdlVVJMKHBhZ2VVUkwpLCAw
KTsKKyAgICBtX3Byb2Nlc3MtPnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2Fn
ZXM6OldlYlByb2Nlc3NQcm94eTo6UmV0YWluSWNvbkZvclBhZ2VVUkwocGFnZVVSTCksIDApOwog
fQogCiB2b2lkIFdlYkljb25EYXRhYmFzZVByb3h5OjpyZWxlYXNlSWNvbkZvclBhZ2VVUkwoY29u
c3QgU3RyaW5nJiBwYWdlVVJMKQogewotICAgIG1fcHJvY2Vzcy0+cGFyZW50UHJvY2Vzc0Nvbm5l
Y3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViSWNvbkRhdGFiYXNlOjpSZWxlYXNlSWNvbkZvclBh
Z2VVUkwocGFnZVVSTCksIDApOworICAgIG1fcHJvY2Vzcy0+cGFyZW50UHJvY2Vzc0Nvbm5lY3Rp
b24oKS0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpSZWxlYXNlSWNvbkZvclBhZ2VV
UkwocGFnZVVSTCksIDApOwogfQogCiBJbWFnZSogV2ViSWNvbkRhdGFiYXNlUHJveHk6OnN5bmNo
cm9ub3VzSWNvbkZvclBhZ2VVUkwoY29uc3QgU3RyaW5nJiBwYWdlVVJMLCBjb25zdCBJbnRTaXpl
JiAvKnNpemUqLykKLS0gCjIuMi4xCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>