<?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>165432</bug_id>
          
          <creation_ts>2016-12-05 16:18:34 -0800</creation_ts>
          <short_desc>REGRESSION: media/track LayoutTests are flaky failures</short_desc>
          <delta_ts>2017-01-18 11:43:20 -0800</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>Other</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryan Haddad">ryanhaddad</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>graouts</cc>
    
    <cc>jeremyj-wk</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1256575</commentid>
    <comment_count>0</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-12-05 16:18:34 -0800</bug_when>
    <thetext>media/track LayoutTests are flaky failures

See the failures in these two examples:
https://build.webkit.org/results/Apple%20El%20Capitan%20Debug%20WK1%20(Tests)/r209351%20(10119)/results.html
https://build.webkit.org/results/Apple%20Sierra%20Release%20WK1%20(Tests)/r209359%20(1986)/results.html

This console message appears in the diff for many of the tests:

--- /Volumes/Data/slave/elcapitan-debug-tests-wk1/build/layout-test-results/media/track/audio-track-expected.txt
+++ /Volumes/Data/slave/elcapitan-debug-tests-wk1/build/layout-test-results/media/track/audio-track-actual.txt
@@ -1,3 +1,4 @@
+CONSOLE MESSAGE: line 2390: TypeError: undefined is not an object (evaluating &apos;this.controlsBar.visible&apos;)
 
 In-band audio tracks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256608</commentid>
    <comment_count>1</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-12-05 17:00:28 -0800</bug_when>
    <thetext>Very strange, those tests shouldn&apos;t be running with modern media controls enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256617</commentid>
    <comment_count>2</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-12-05 17:13:09 -0800</bug_when>
    <thetext>Same console message appearing here causing media/modern-media-controls/placard-support/placard-support-airplay.html to fail (though, maybe this is more reasonable since it is a modern-media-controls test):

https://build.webkit.org/results/Apple%20El%20Capitan%20Debug%20WK1%20(Tests)/r209353%20(10120)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256652</commentid>
    <comment_count>3</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-12-05 18:18:58 -0800</bug_when>
    <thetext>Can&apos;t reproduce the issue with media/track/audio-track.html on a release build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256746</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-12-05 22:07:49 -0800</bug_when>
    <thetext>How did you attempt to reproduce, what&apos;s the exact command line?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256752</commentid>
    <comment_count>5</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-12-05 22:32:16 -0800</bug_when>
    <thetext>Tools/Scripts/run-webkit-tests --debug -1 --force media/track/audio-track.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256758</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-12-05 22:53:44 -0800</bug_when>
    <thetext>I suspect that there is some global state changed when media controls tests are running. I cannot reproduce with one process, but can very easily reproduce when running tests in parallel.

run-webkit-tests --debug -1 media/modern-media-controls/audio/audio-controls-metrics.html media/modern-media-controls/volume-slider/volume-slider-value.html media/modern-media-controls/volume-slider/volume-slider.html media/modern-media-controls/volume-support/volume-support-media-api-mute.html media/modern-media-controls/volume-support/volume-support-media-api.html media/track/audio-track.html --iter=100 -f --child-processes=2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256761</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-12-05 22:57:52 -0800</bug_when>
    <thetext>Modern media controls are enabled in DumpRenderTree via a WebPreference, so all the parallel processes are racing to change it! This same mistake is repeated for intersection observer and for pointer lock:

    preferences.intersectionObserverEnabled = options.enableIntersectionObserver;
    preferences.modernMediaControlsEnabled = options.enableModernMediaControls;
    preferences.pointerLockEnabled = options.enablePointerLock;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256793</commentid>
    <comment_count>8</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-12-06 07:16:31 -0800</bug_when>
    <thetext>Cc&apos;ing Sam who implemented the original system to set runtime flags with HTML comments in tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256801</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-12-06 08:27:18 -0800</bug_when>
    <thetext>But we turn off autosaving for those WebPreferences. Maybe that doesn&apos;t work?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256802</commentid>
    <comment_count>10</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-12-06 08:28:38 -0800</bug_when>
    <thetext>Not sure why we don&apos;t set the DRT&apos;s -preferences explicitly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256912</commentid>
    <comment_count>11</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2016-12-06 12:43:24 -0800</bug_when>
    <thetext>Looks like there are two issues:
1) No one is initializing RuntimeEnabledFeatures::m_areModernMediaControlsEnabled to false.
2) But much more importantly, RenderThemeMac::mediaControlsScript() is caching the first script built. Instead, we need two caches, one for modern controls, one for the old controls.  We need this for the style sheet cached as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256919</commentid>
    <comment_count>12</comment_count>
      <attachid>296310</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2016-12-06 12:56:58 -0800</bug_when>
    <thetext>Created attachment 296310
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256942</commentid>
    <comment_count>13</comment_count>
      <attachid>296310</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2016-12-06 13:49:20 -0800</bug_when>
    <thetext>Comment on attachment 296310
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        we can just cached both.

s/cached/cache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256945</commentid>
    <comment_count>14</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2016-12-06 13:52:44 -0800</bug_when>
    <thetext>Committed r209417: &lt;http://trac.webkit.org/changeset/209417&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257051</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-12-06 16:08:58 -0800</bug_when>
    <thetext>Interesting that this could be addressed without fixing WebPreferences misuse.

The design is still not quite sound though:

1. Applying per-test options in a function named resetWebPreferencesToConsistentValues() is clearly wrong.

2. As DumpRenderTree does write out preferences to disk, it is fragile to rely on them not affecting other processes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1257052</commentid>
    <comment_count>16</comment_count>
      <attachid>296310</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-12-06 16:09:17 -0800</bug_when>
    <thetext>Comment on attachment 296310
Patch

Clearing cq? from a landed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1267803</commentid>
    <comment_count>17</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-01-18 11:43:20 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; 2. As DumpRenderTree does write out preferences to disk, it is fragile to
&gt; rely on them not affecting other processes.

Can we make it not do so? It looks like we try:
    [[WebPreferences standardPreferences] setAutosaves:NO];</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296310</attachid>
            <date>2016-12-06 12:56:58 -0800</date>
            <delta_ts>2016-12-06 16:09:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165432-20161206125620.patch</filename>
            <type>text/plain</type>
            <size>6629</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwOTQxMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE2LTEyLTA2ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUkVHUkVTU0lPTjogbWVkaWEvdHJhY2sg
TGF5b3V0VGVzdHMgYXJlIGZsYWt5IGZhaWx1cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjU0MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBSZW5kZXJUaGVtZU1hYyB3YXMgY2FjaGluZyB0aGUgbWVk
aWEgY29udHJvbHMgc2NyaXB0IC8gc3R5bGUgc2hlZXRzCisgICAgICAgIGFuZCBub3QgYmVpbmcg
aW52YWxpZGF0ZWQgd2hlbiB0aGUgUnVudGltZUVuYWJsZWRGZWF0dXJlcyBjaGFuZ2VkLiBTbywK
KyAgICAgICAgd2UgY2FuIGp1c3QgY2FjaGVkIGJvdGguCisKKyAgICAgICAgKiBiaW5kaW5ncy9n
ZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAgSW5pdGlhbGl6ZSBtX2Fy
ZU1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkIHRvIGZhbHNlLgorCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6Om1lZGlhQ29udHJvbHNTdHls
ZVNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjptZWRpYUNvbnRyb2xz
U2NyaXB0KToKKyAgICAgICAgSGF2ZSBzZXBhcmF0ZSBjYWNoZXMgZm9yIHRoZSBtb2Rlcm4gYW5k
IGxlZ2FjeSBtZWRpYSBjb250cm9sIHNjcmlwdHMvc3R5bGUgc2hlZXRzLgorCiAyMDE2LTEyLTA1
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEltcHJv
dmUgdGhlIGJlaGF2aW9yIG9mIHNjcm9sbC1pbnRvLXZpZXcgd2hlbiB0aGUgdGFyZ2V0IGlzIGlu
c2lkZSBwb3NpdGlvbjpmaXhlZApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJp
Yy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHJldmlzaW9uIDIwOTM5
OSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNTgsNyArMjU4LDcgQEAgcHJpdmF0ZToKICAgICAv
LyBOZXZlciBpbnN0YW50aWF0ZS4KICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzKCk7CiAKLSAg
ICBib29sIG1fYXJlTW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQ7CisgICAgYm9vbCBtX2FyZU1v
ZGVybk1lZGlhQ29udHJvbHNFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNMb2NhbFN0
b3JhZ2VFbmFibGVkOwogICAgIGJvb2wgbV9pc1Nlc3Npb25TdG9yYWdlRW5hYmxlZDsKICAgICBi
b29sIG1faXNXZWJraXROb3RpZmljYXRpb25zRW5hYmxlZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCShyZXZpc2lvbiAyMDkzOTkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaAkod29ya2luZyBjb3B5KQpAQCAtMjQ1
LDcgKzI0NSw5IEBAIHByaXZhdGU6CiAKICAgICBSZXRhaW5QdHI8V2ViQ29yZVJlbmRlclRoZW1l
Tm90aWZpY2F0aW9uT2JzZXJ2ZXI+IG1fbm90aWZpY2F0aW9uT2JzZXJ2ZXI7CiAKKyAgICBTdHJp
bmcgbV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0OwogICAgIFN0cmluZyBtX21lZGlhQ29udHJv
bHNTY3JpcHQ7CisgICAgU3RyaW5nIG1fbGVnYWN5TWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7CiAg
ICAgU3RyaW5nIG1fbWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7CiB9OwogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCShyZXZpc2lvbiAyMDkzOTkpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTIzMiwxNSArMjMyLDE1IEBAIE5TVmlldyogUmVuZGVyVGhlbWVNYWM6OmRvY3VtZW50
Vmlld0ZvcigKIFN0cmluZyBSZW5kZXJUaGVtZU1hYzo6bWVkaWFDb250cm9sc1N0eWxlU2hlZXQo
KQogewogI2lmIEVOQUJMRShNRURJQV9DT05UUk9MU19TQ1JJUFQpCi0gICAgaWYgKG1fbWVkaWFD
b250cm9sc1N0eWxlU2hlZXQuaXNFbXB0eSgpKSB7Ci0gICAgICAgIFN0cmluZ0J1aWxkZXIgc3R5
bGVTaGVldEJ1aWxkZXI7Ci0gICAgICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLm1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkKCkpCi0gICAgICAgICAgICBz
dHlsZVNoZWV0QnVpbGRlci5hcHBlbmQoW05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmls
ZTpbW05TQnVuZGxlIGJ1bmRsZUZvckNsYXNzOltXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUgY2xh
c3NdXSBwYXRoRm9yUmVzb3VyY2U6QCJtb2Rlcm4tbWVkaWEtY29udHJvbHMiIG9mVHlwZTpAImNz
cyIgaW5EaXJlY3Rvcnk6QCJtb2Rlcm4tbWVkaWEtY29udHJvbHMiXSBlbmNvZGluZzpOU1VURjhT
dHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgc3R5
bGVTaGVldEJ1aWxkZXIuYXBwZW5kKFtOU1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNPZkZpbGU6
W1tOU0J1bmRsZSBidW5kbGVGb3JDbGFzczpbV2ViQ29yZVJlbmRlclRoZW1lQnVuZGxlIGNsYXNz
XV0gcGF0aEZvclJlc291cmNlOkAibWVkaWFDb250cm9sc0FwcGxlIiBvZlR5cGU6QCJjc3MiXSBl
bmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdKTsKLSAgICAgICAgbV9tZWRp
YUNvbnRyb2xzU3R5bGVTaGVldCA9IHN0eWxlU2hlZXRCdWlsZGVyLnRvU3RyaW5nKCk7CisgICAg
aWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubW9kZXJuTWVkaWFD
b250cm9sc0VuYWJsZWQoKSkgeworICAgICAgICBpZiAobV9tZWRpYUNvbnRyb2xzU3R5bGVTaGVl
dC5pc0VtcHR5KCkpCisgICAgICAgICAgICBtX21lZGlhQ29udHJvbHNTdHlsZVNoZWV0ID0gW05T
U3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTpbW05TQnVuZGxlIGJ1bmRsZUZvckNsYXNz
OltXZWJDb3JlUmVuZGVyVGhlbWVCdW5kbGUgY2xhc3NdXSBwYXRoRm9yUmVzb3VyY2U6QCJtb2Rl
cm4tbWVkaWEtY29udHJvbHMiIG9mVHlwZTpAImNzcyIgaW5EaXJlY3Rvcnk6QCJtb2Rlcm4tbWVk
aWEtY29udHJvbHMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdOwor
ICAgICAgICByZXR1cm4gbV9tZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKICAgICB9Ci0gICAgcmV0
dXJuIG1fbWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7CisKKyAgICBpZiAobV9sZWdhY3lNZWRpYUNv
bnRyb2xzU3R5bGVTaGVldC5pc0VtcHR5KCkpCisgICAgICAgIG1fbGVnYWN5TWVkaWFDb250cm9s
c1N0eWxlU2hlZXQgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltbTlNCdW5k
bGUgYnVuZGxlRm9yQ2xhc3M6W1dlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZSBjbGFzc11dIHBhdGhG
b3JSZXNvdXJjZTpAIm1lZGlhQ29udHJvbHNBcHBsZSIgb2ZUeXBlOkAiY3NzIl0gZW5jb2Rpbmc6
TlNVVEY4U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXTsKKyAgICByZXR1cm4gbV9sZWdhY3lNZWRp
YUNvbnRyb2xzU3R5bGVTaGVldDsKICNlbHNlCiAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAj
ZW5kaWYKQEAgLTI0OSwxOSArMjQ5LDI4IEBAIFN0cmluZyBSZW5kZXJUaGVtZU1hYzo6bWVkaWFD
b250cm9sc1N0eWwKIFN0cmluZyBSZW5kZXJUaGVtZU1hYzo6bWVkaWFDb250cm9sc1NjcmlwdCgp
CiB7CiAjaWYgRU5BQkxFKE1FRElBX0NPTlRST0xTX1NDUklQVCkKLSAgICBpZiAobV9tZWRpYUNv
bnRyb2xzU2NyaXB0LmlzRW1wdHkoKSkgewotICAgICAgICBTdHJpbmdCdWlsZGVyIHNjcmlwdEJ1
aWxkZXI7Ci0gICAgICAgIE5TQnVuZGxlICpidW5kbGUgPSBbTlNCdW5kbGUgYnVuZGxlRm9yQ2xh
c3M6W1dlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZSBjbGFzc11dOwotICAgICAgICBpZiAoUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5tb2Rlcm5NZWRpYUNvbnRyb2xzRW5h
YmxlZCgpKSB7CisgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkubW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQoKSkgeworICAgICAgICBpZiAobV9tZWRpYUNv
bnRyb2xzU2NyaXB0LmlzRW1wdHkoKSkgeworICAgICAgICAgICAgTlNCdW5kbGUgKmJ1bmRsZSA9
IFtOU0J1bmRsZSBidW5kbGVGb3JDbGFzczpbV2ViQ29yZVJlbmRlclRoZW1lQnVuZGxlIGNsYXNz
XV07CisKKyAgICAgICAgICAgIFN0cmluZ0J1aWxkZXIgc2NyaXB0QnVpbGRlcjsKICAgICAgICAg
ICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFtOU1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNPZkZp
bGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJtb2Rlcm4tbWVkaWEtY29udHJvbHMtbG9jYWxp
emVkLXN0cmluZ3MuanMiIG9mVHlwZTpAImpzIl0gZW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2Rp
bmcgZXJyb3I6bmlsXSk7CiAgICAgICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZChbTlNTdHJp
bmcgc3RyaW5nV2l0aENvbnRlbnRzT2ZGaWxlOltidW5kbGUgcGF0aEZvclJlc291cmNlOkAibW9k
ZXJuLW1lZGlhLWNvbnRyb2xzIiBvZlR5cGU6QCJqcyIgaW5EaXJlY3Rvcnk6QCJtb2Rlcm4tbWVk
aWEtY29udHJvbHMiXSBlbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdKTsK
LSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHNjcmlwdEJ1aWxkZXIuYXBwZW5kKFtOU1N0
cmluZyBzdHJpbmdXaXRoQ29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9yUmVzb3VyY2U6QCJt
ZWRpYUNvbnRyb2xzTG9jYWxpemVkU3RyaW5ncyIgb2ZUeXBlOkAianMiXSBlbmNvZGluZzpOU1VU
RjhTdHJpbmdFbmNvZGluZyBlcnJvcjpuaWxdKTsKLSAgICAgICAgICAgIHNjcmlwdEJ1aWxkZXIu
YXBwZW5kKFtOU1N0cmluZyBzdHJpbmdXaXRoQ29udGVudHNPZkZpbGU6W2J1bmRsZSBwYXRoRm9y
UmVzb3VyY2U6QCJtZWRpYUNvbnRyb2xzQXBwbGUiIG9mVHlwZTpAImpzIl0gZW5jb2Rpbmc6TlNV
VEY4U3RyaW5nRW5jb2RpbmcgZXJyb3I6bmlsXSk7CisgICAgICAgICAgICBtX21lZGlhQ29udHJv
bHNTY3JpcHQgPSBzY3JpcHRCdWlsZGVyLnRvU3RyaW5nKCk7CiAgICAgICAgIH0KLSAgICAgICAg
bV9tZWRpYUNvbnRyb2xzU2NyaXB0ID0gc2NyaXB0QnVpbGRlci50b1N0cmluZygpOworICAgICAg
ICByZXR1cm4gbV9tZWRpYUNvbnRyb2xzU2NyaXB0OworICAgIH0KKworICAgIGlmIChtX2xlZ2Fj
eU1lZGlhQ29udHJvbHNTY3JpcHQuaXNFbXB0eSgpKSB7CisgICAgICAgIE5TQnVuZGxlICpidW5k
bGUgPSBbTlNCdW5kbGUgYnVuZGxlRm9yQ2xhc3M6W1dlYkNvcmVSZW5kZXJUaGVtZUJ1bmRsZSBj
bGFzc11dOworCisgICAgICAgIFN0cmluZ0J1aWxkZXIgc2NyaXB0QnVpbGRlcjsKKyAgICAgICAg
c2NyaXB0QnVpbGRlci5hcHBlbmQoW05TU3RyaW5nIHN0cmluZ1dpdGhDb250ZW50c09mRmlsZTpb
YnVuZGxlIHBhdGhGb3JSZXNvdXJjZTpAIm1lZGlhQ29udHJvbHNMb2NhbGl6ZWRTdHJpbmdzIiBv
ZlR5cGU6QCJqcyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF0pOwor
ICAgICAgICBzY3JpcHRCdWlsZGVyLmFwcGVuZChbTlNTdHJpbmcgc3RyaW5nV2l0aENvbnRlbnRz
T2ZGaWxlOltidW5kbGUgcGF0aEZvclJlc291cmNlOkAibWVkaWFDb250cm9sc0FwcGxlIiBvZlR5
cGU6QCJqcyJdIGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF0pOworCisg
ICAgICAgIG1fbGVnYWN5TWVkaWFDb250cm9sc1NjcmlwdCA9IHNjcmlwdEJ1aWxkZXIudG9TdHJp
bmcoKTsKICAgICB9Ci0gICAgcmV0dXJuIG1fbWVkaWFDb250cm9sc1NjcmlwdDsKKyAgICByZXR1
cm4gbV9sZWdhY3lNZWRpYUNvbnRyb2xzU2NyaXB0OwogI2Vsc2UKICAgICByZXR1cm4gZW1wdHlT
dHJpbmcoKTsKICNlbmRpZgo=
</data>
<flag name="review"
          id="318764"
          type_id="1"
          status="+"
          setter="graouts"
    />
          </attachment>
      

    </bug>

</bugzilla>