<?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>154183</bug_id>
          
          <creation_ts>2016-02-12 12:22:40 -0800</creation_ts>
          <short_desc>WebView public APIs should have thread violation checks.</short_desc>
          <delta_ts>2016-02-13 09:41:15 -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>WebKit API</component>
          <version>WebKit Local 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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>154204</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>sam</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1164259</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-02-12 12:22:40 -0800</bug_when>
    <thetext>This will help clients of the API detect the violations sooner rather than having to debug mysterious crashes / failures later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164270</commentid>
    <comment_count>1</comment_count>
      <attachid>271202</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-02-12 12:30:10 -0800</bug_when>
    <thetext>Created attachment 271202
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164405</commentid>
    <comment_count>2</comment_count>
      <attachid>271202</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-02-12 15:49:41 -0800</bug_when>
    <thetext>Comment on attachment 271202
proposed patch.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164419</commentid>
    <comment_count>3</comment_count>
      <attachid>271202</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-12 16:22:55 -0800</bug_when>
    <thetext>Comment on attachment 271202
proposed patch.

Clearing flags on attachment: 271202

Committed r196527: &lt;http://trac.webkit.org/changeset/196527&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164420</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-12 16:22:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164424</commentid>
    <comment_count>5</comment_count>
      <attachid>271202</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-02-12 16:26:57 -0800</bug_when>
    <thetext>Comment on attachment 271202
proposed patch.

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

&gt; Source/WebKit/mac/WebView/WebView.mm:5846
&gt; +    WebCoreThreadViolationCheckRoundTwo();

This should have added a WebCoreThreadViolationCheckRoundThree and corresponding ThreadViolationRoundThree along with tagging the WebKit version these were added with a new WebKitLinkedOnOrAfter check in -[WebFrameView initWithFrame:]. Not doing this is a binary compatibility risk, since old app who might be calling these APIs on other threads will start getting exceptions, when they might have worked fine before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164425</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-02-12 16:28:28 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 271202 [details]
&gt; proposed patch.
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=271202&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/mac/WebView/WebView.mm:5846
&gt; &gt; +    WebCoreThreadViolationCheckRoundTwo();
&gt; 
&gt; This should have added a WebCoreThreadViolationCheckRoundThree and
&gt; corresponding ThreadViolationRoundThree along with tagging the WebKit
&gt; version these were added with a new WebKitLinkedOnOrAfter check in
&gt; -[WebFrameView initWithFrame:]. Not doing this is a binary compatibility
&gt; risk, since old app who might be calling these APIs on other threads will
&gt; start getting exceptions, when they might have worked fine before.

I&apos;ll roll out and redo as Round 3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164436</commentid>
    <comment_count>7</comment_count>
      <attachid>271249</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-02-12 16:58:05 -0800</bug_when>
    <thetext>Created attachment 271249
proposed patch 2: revised to use WebCoreThreadViolationCheckRoundThree().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164437</commentid>
    <comment_count>8</comment_count>
      <attachid>271249</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-02-12 17:02:01 -0800</bug_when>
    <thetext>Comment on attachment 271249
proposed patch 2: revised to use WebCoreThreadViolationCheckRoundThree().

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

You are missing a call to setDefaultThreadViolationBehavior in -[WebFrameView initWithFrame:].

&gt; Source/WebCore/platform/mac/ThreadCheck.mm:39
&gt; +static ThreadViolationBehavior threadViolationBehavior[MaximumThreadViolationRound] =
&gt; +    { RaiseExceptionOnThreadViolation, RaiseExceptionOnThreadViolation, RaiseExceptionOnThreadViolation };

I would not have put this on a newline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164452</commentid>
    <comment_count>9</comment_count>
      <attachid>271253</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-02-12 17:27:52 -0800</bug_when>
    <thetext>Created attachment 271253
proposed patch 3: address Tim&apos;s feedback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164533</commentid>
    <comment_count>10</comment_count>
      <attachid>271253</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-13 09:41:12 -0800</bug_when>
    <thetext>Comment on attachment 271253
proposed patch 3: address Tim&apos;s feedback.

Clearing flags on attachment: 271253

Committed r196551: &lt;http://trac.webkit.org/changeset/196551&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164534</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-13 09:41:15 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271202</attachid>
            <date>2016-02-12 12:30:10 -0800</date>
            <delta_ts>2016-02-12 16:58:05 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-154183.patch</filename>
            <type>text/plain</type>
            <size>5219</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NjQ5NSkKKysrIFNvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUxIEBACisyMDE2LTAyLTEy
ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgdGhyZWFkIHZp
b2xhdGlvbiBjaGVja3MgdG8gV2ViVmlldyBwdWJsaWMgQVBJcy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDE4MworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgd2lsbCBoZWxwIGNsaWVudHMgb2Yg
dGhlIEFQSSBkZXRlY3QgdGhlIHZpb2xhdGlvbnMgc29vbmVyIHJhdGhlciB0aGFuCisgICAgICAg
IGhhdmluZyB0byBkZWJ1ZyBteXN0ZXJpb3VzIGNyYXNoZXMgLyBmYWlsdXJlcyBsYXRlci4KKwor
ICAgICAgICBUbyB0aGF0IGVuZCwgSSd2ZSBhZGRlZCB0aHJlYWQgdmlvbGF0aW9uIGNoZWNrcyB0
byB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucworICAgICAgICBiZWNhdXNlIC4uLgorCisgICAgICAg
ICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IHNldEN1c3RvbVRleHRF
bmNvZGluZ05hbWU6XSk6CisgICAgICAgIC0gVXNlcyB0aGUgRnJhbWVMb2FkZXIgKHdoaWNoIGlz
IGZvciB0aGUgbWFpbiB0aHJlYWQgb25seSkuCisKKyAgICAgICAgKC1bV2ViVmlldyBzdHJpbmdC
eUV2YWx1YXRpbmdKYXZhU2NyaXB0RnJvbVN0cmluZzpdKToKKyAgICAgICAgLSBJbnZva2VzIEph
dmFTY3JpcHQgKHdoaWNoIGlzIGZvciB0aGUgbWFpbiB0aHJlYWQgb25seSkuCisKKyAgICAgICAg
KC1bV2ViVmlldyB3aW5kb3dTY3JpcHRPYmplY3RdKToKKyAgICAgICAgLSBJbnZva2VzIFNjcmlw
dENvbnRyb2xsZXI6OndpbmRvd1NjcmlwdE9iamVjdCgpIHdoaWNoIHJlcXVpcmVzIHRoZSBKU0xv
Y2suCisKKyAgICAgICAgKC1bV2ViVmlldyBzZXRHcm91cE5hbWU6XSk6CisgICAgICAgIC0gTWFu
aXB1bGF0ZXMgdGhlIFBhZ2VHcm91cCBhbmQgUGFnZSAod2hpY2ggaXMgZm9yIHRoZSBtYWluIHRo
cmVhZCBvbmx5KS4KKworICAgICAgICAoLVtXZWJWaWV3IHNldE1haW5GcmFtZVVSTDpdKToKKyAg
ICAgICAgLSBVc2VzIHRoZSBGcmFtZUxvYWRlciAod2hpY2ggaXMgZm9yIHRoZSBtYWluIHRocmVh
ZCBvbmx5KS4KKworICAgICAgICAoLVtXZWJWaWV3IG1haW5GcmFtZVRpdGxlXSk6CisgICAgICAg
IC0gVXNlcyB0aGUgRnJhbWVMb2FkZXI6OmRvY3VtZW50TG9hZGVyKCkgKHZpYSBbV2ViRnJhbWUg
X2RhdGFTb3VyY2VdKSB3aGljaAorICAgICAgICAgIGlzIFJlZlB0ciwgYW5kIHRoZXJlZm9yZSBu
b3Qgc2FmZSBmb3Igb3RoZXIgdGhyZWFkcyB0byBhY2Nlc3MuCisKKyAgICAgICAgKC1bV2ViVmll
dyBtYWluRnJhbWVJY29uXSk6CisgICAgICAgIC0gVXNlcyB0aGUgRnJhbWVMb2FkZXI6OmRvY3Vt
ZW50TG9hZGVyKCkgKHZpYSBbV2ViRnJhbWUgX2RhdGFTb3VyY2VdKSB3aGljaAorICAgICAgICAg
IGlzIFJlZlB0ciwgYW5kIHRoZXJlZm9yZSBub3Qgc2FmZSBmb3Igb3RoZXIgdGhyZWFkcyB0byBh
Y2Nlc3MuCisgICAgICAgIC0gVXNlcyBbV2ViSWNvbkRhdGFiYXNlIHNoYXJlZEljb25EYXRhYmFz
ZV0gd2hpY2ggZG9lcyBhIHNpbmdsZXRvbgorICAgICAgICAgIGluc3RhbnRpYXRpb24gYnV0IGlz
IG5vdCBwcm90ZWN0ZWQgYnkgYSBsb2NrLgorCisgICAgICAgICgtW1dlYlZpZXcgc2V0RHJhd3NC
YWNrZ3JvdW5kOl0pOgorICAgICAgICAtIFBvdGVudGlhbGx5IG1hbmlwdWxhdGVzIGEgUmVuZGVy
VmlldyAodmlhIEZyYW1lVmlldzo6c2V0QmFzZUJhY2tncm91bmRDb2xvciwKKyAgICAgICAgICB2
aWEgW1dlYkZyYW1lIF91cGRhdGVCYWNrZ3JvdW5kQW5kVXBkYXRlc1doaWxlT2Zmc2NyZWVuXSks
IGFuZCBSZW5kZXJWaWV3CisgICAgICAgICAgaXMgZm9yIG1haW4gdGhyZWFkIG9ubHkgdXNlLgor
CisgICAgICAgICgtW1dlYlZpZXcgc2V0U2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW46XSk6Cisg
ICAgICAgIC0gVXNlcyBbV2ViRnJhbWUgX3VwZGF0ZUJhY2tncm91bmRBbmRVcGRhdGVzV2hpbGVP
ZmZzY3JlZW5dLiAgSGVuY2UsIGZvciB0aGUKKyAgICAgICAgICBtYWluIHRocmVhZCBvbmx5Lgor
CiAyMDE2LTAyLTEyICBTdWtvbHNhayBTYWtzaHV3b25nICA8c3Vrb2xzYWtAZ21haWwuY29tPgog
CiAgICAgICAgIFVwZGF0ZSBJQ1UgaGVhZGVyIGZpbGVzIHRvIHZlcnNpb24gNTIKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJldmlzaW9uIDE5NjQ5NSkKKysrIFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtNTg0Myw2
ICs1ODQzLDggQEAgLSAoQk9PTClzdXBwb3J0c1RleHRFbmNvZGluZwogCiAtICh2b2lkKXNldEN1
c3RvbVRleHRFbmNvZGluZ05hbWU6KE5TU3RyaW5nICopZW5jb2RpbmcKIHsKKyAgICBXZWJDb3Jl
VGhyZWFkVmlvbGF0aW9uQ2hlY2tSb3VuZFR3bygpOworCiAgICAgTlNTdHJpbmcgKm9sZEVuY29k
aW5nID0gW3NlbGYgY3VzdG9tVGV4dEVuY29kaW5nTmFtZV07CiAgICAgaWYgKGVuY29kaW5nID09
IG9sZEVuY29kaW5nIHx8IFtlbmNvZGluZyBpc0VxdWFsVG9TdHJpbmc6b2xkRW5jb2RpbmddKQog
ICAgICAgICByZXR1cm47CkBAIC01ODY3LDYgKzU4NjksOCBAQCAtIChOU1N0cmluZyAqKWN1c3Rv
bVRleHRFbmNvZGluZ05hbWUKIAogLSAoTlNTdHJpbmcgKilzdHJpbmdCeUV2YWx1YXRpbmdKYXZh
U2NyaXB0RnJvbVN0cmluZzooTlNTdHJpbmcgKilzY3JpcHQKIHsKKyAgICBXZWJDb3JlVGhyZWFk
VmlvbGF0aW9uQ2hlY2tSb3VuZFR3bygpOworCiAjaWYgIVBMQVRGT1JNKElPUykKICAgICAvLyBS
ZXR1cm4gc3RhdGVtZW50cyBhcmUgb25seSB2YWxpZCBpbiBhIGZ1bmN0aW9uIGJ1dCBzb21lIGFw
cGxpY2F0aW9ucyBwYXNzIGluIHNjcmlwdHMKICAgICAvLyBwcmVmaXhlZCB3aXRoIHJldHVybiAo
PHJkYXI6Ly9wcm9ibGVtcy81MTAzNzIwJjQ2MTY4NjA+KSBzaW5jZSBvbGRlciBXZWJLaXQgdmVy
c2lvbnMKQEAgLTU4ODksNiArNTg5Myw4IEBAIC0gKE5TU3RyaW5nICopc3RyaW5nQnlFdmFsdWF0
aW5nSmF2YVNjcmkKIAogLSAoV2ViU2NyaXB0T2JqZWN0ICopd2luZG93U2NyaXB0T2JqZWN0CiB7
CisgICAgV2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRUd28oKTsKKwogICAgIEZyYW1l
KiBjb3JlRnJhbWUgPSBbc2VsZiBfbWFpbkNvcmVGcmFtZV07CiAgICAgaWYgKCFjb3JlRnJhbWUp
CiAgICAgICAgIHJldHVybiBuaWw7CkBAIC02MTU0LDYgKzYxNjAsOCBAQCArICh2b2lkKXJlZ2lz
dGVyVmlld0NsYXNzOihDbGFzcyl2aWV3Q2xhCiAKIC0gKHZvaWQpc2V0R3JvdXBOYW1lOihOU1N0
cmluZyAqKWdyb3VwTmFtZQogeworICAgIFdlYkNvcmVUaHJlYWRWaW9sYXRpb25DaGVja1JvdW5k
VHdvKCk7CisKICAgICBpZiAoX3ByaXZhdGUtPmdyb3VwKQogICAgICAgICBfcHJpdmF0ZS0+Z3Jv
dXAtPnJlbW92ZVdlYlZpZXcoc2VsZik7CiAKQEAgLTYyNDQsNiArNjI1Miw4IEBAIC0gKHZvaWQp
cmVtb3ZlRHJhZ0NhcmV0CiAKIC0gKHZvaWQpc2V0TWFpbkZyYW1lVVJMOihOU1N0cmluZyAqKVVS
TFN0cmluZwogeworICAgIFdlYkNvcmVUaHJlYWRWaW9sYXRpb25DaGVja1JvdW5kVHdvKCk7CisK
ICAgICBOU1VSTCAqdXJsOwogICAgIGlmIChbVVJMU3RyaW5nIGhhc1ByZWZpeDpAIi8iXSkKICAg
ICAgICAgdXJsID0gW05TVVJMIGZpbGVVUkxXaXRoUGF0aDpVUkxTdHJpbmddOwpAQCAtNjI3MCw2
ICs2MjgwLDggQEAgLSAoQk9PTClpc0xvYWRpbmcKIAogLSAoTlNTdHJpbmcgKiltYWluRnJhbWVU
aXRsZQogeworICAgIFdlYkNvcmVUaHJlYWRWaW9sYXRpb25DaGVja1JvdW5kVHdvKCk7CisKICAg
ICBOU1N0cmluZyAqbWFpbkZyYW1lVGl0bGUgPSBbW1tzZWxmIG1haW5GcmFtZV0gX2RhdGFTb3Vy
Y2VdIHBhZ2VUaXRsZV07CiAgICAgcmV0dXJuIChtYWluRnJhbWVUaXRsZSAhPSBuaWwpID8gbWFp
bkZyYW1lVGl0bGUgOiAoTlNTdHJpbmcgKilAIiI7CiB9CkBAIC02Mjc3LDYgKzYyODksOCBAQCAt
IChOU1N0cmluZyAqKW1haW5GcmFtZVRpdGxlCiAjaWYgIVBMQVRGT1JNKElPUykKIC0gKE5TSW1h
Z2UgKiltYWluRnJhbWVJY29uCiB7CisgICAgV2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91
bmRUd28oKTsKKwogICAgIHJldHVybiBbW1dlYkljb25EYXRhYmFzZSBzaGFyZWRJY29uRGF0YWJh
c2VdIGljb25Gb3JVUkw6W1tbW3NlbGYgbWFpbkZyYW1lXSBfZGF0YVNvdXJjZV0gX1VSTF0gX3dl
Yl9vcmlnaW5hbERhdGFBc1N0cmluZ10gd2l0aFNpemU6V2ViSWNvblNtYWxsU2l6ZV07CiB9CiAj
ZWxzZQpAQCAtNjMwMyw2ICs2MzE3LDggQEAgLSAoRE9NRG9jdW1lbnQgKiltYWluRnJhbWVEb2N1
bWVudAogCiAtICh2b2lkKXNldERyYXdzQmFja2dyb3VuZDooQk9PTClkcmF3c0JhY2tncm91bmQK
IHsKKyAgICBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tSb3VuZFR3bygpOworCiAgICAgaWYg
KF9wcml2YXRlLT5kcmF3c0JhY2tncm91bmQgPT0gZHJhd3NCYWNrZ3JvdW5kKQogICAgICAgICBy
ZXR1cm47CiAgICAgX3ByaXZhdGUtPmRyYXdzQmFja2dyb3VuZCA9IGRyYXdzQmFja2dyb3VuZDsK
QEAgLTYzMTgsNiArNjMzNCw4IEBAIC0gKEJPT0wpZHJhd3NCYWNrZ3JvdW5kCiAKIC0gKHZvaWQp
c2V0U2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW46KEJPT0wpdXBkYXRlV2hpbGVPZmZzY3JlZW4K
IHsKKyAgICBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tSb3VuZFR3bygpOworCiAgICAgaWYg
KF9wcml2YXRlLT5zaG91bGRVcGRhdGVXaGlsZU9mZnNjcmVlbiA9PSB1cGRhdGVXaGlsZU9mZnNj
cmVlbikKICAgICAgICAgcmV0dXJuOwogICAgIF9wcml2YXRlLT5zaG91bGRVcGRhdGVXaGlsZU9m
ZnNjcmVlbiA9IHVwZGF0ZVdoaWxlT2Zmc2NyZWVuOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271249</attachid>
            <date>2016-02-12 16:58:05 -0800</date>
            <delta_ts>2016-02-12 17:27:52 -0800</delta_ts>
            <desc>proposed patch 2: revised to use WebCoreThreadViolationCheckRoundThree().</desc>
            <filename>bug-154183b.patch</filename>
            <type>text/plain</type>
            <size>6781</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NjUzNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE2LTAyLTEyICBNYXJrIExh
bSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgdGhyZWFkIHZpb2xhdGlvbiBj
aGVja3MgdG8gV2ViVmlldyBwdWJsaWMgQVBJcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDE4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gIEp1c3QgYWRkaW5nIGEgbmV3IHRo
cmVhZCB2aW9sYXRpb24gcm91bmQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9UaHJlYWRDaGVjay5o
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9UaHJlYWRDaGVjay5tbToKKyAgICAgICAgLSBBZGRp
bmcgV2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRUaHJlZSgpLgorCiAyMDE2LTAyLTEy
ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFJlc2V0IHJl
c3VsdHMgZm9yIGJpbmRpbmdzIHRlc3RzIGFmdGVyIHIxOTY1MjAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1RocmVhZENoZWNrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGhyZWFkQ2hlY2suaAkocmV2aXNpb24gMTk2NTM0KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVGhyZWFkQ2hlY2suaAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgZW51bSBUaHJlYWRWaW9sYXRpb25Sb3VuZCB7CiAg
ICAgICAgIFRocmVhZFZpb2xhdGlvblJvdW5kT25lID0gMCwKICAgICAgICAgVGhyZWFkVmlvbGF0
aW9uUm91bmRUd28sCisgICAgICAgIFRocmVhZFZpb2xhdGlvblJvdW5kVGhyZWUsCiAgICAgICAg
IE1heGltdW1UaHJlYWRWaW9sYXRpb25Sb3VuZAogICAgIH07CiAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBzZXREZWZhdWx0VGhyZWFkVmlvbGF0aW9uQmVoYXZpb3IoVGhyZWFkVmlvbGF0aW9uQmVo
YXZpb3IsIFRocmVhZFZpb2xhdGlvblJvdW5kKTsKQEAgLTQ3LDkgKzQ4LDExIEBAIGV4dGVybiAi
QyIgdm9pZCBXZWJDb3JlUmVwb3J0VGhyZWFkVmlvbGEKIAogI2RlZmluZSBXZWJDb3JlVGhyZWFk
VmlvbGF0aW9uQ2hlY2tSb3VuZE9uZSgpIDo6V2ViQ29yZTo6cmVwb3J0VGhyZWFkVmlvbGF0aW9u
KFdURl9QUkVUVFlfRlVOQ1RJT04sIFdlYkNvcmU6OlRocmVhZFZpb2xhdGlvblJvdW5kT25lKQog
I2RlZmluZSBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tSb3VuZFR3bygpIDo6V2ViQ29yZTo6
cmVwb3J0VGhyZWFkVmlvbGF0aW9uKFdURl9QUkVUVFlfRlVOQ1RJT04sIFdlYkNvcmU6OlRocmVh
ZFZpb2xhdGlvblJvdW5kVHdvKQorI2RlZmluZSBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tS
b3VuZFRocmVlKCkgOjpXZWJDb3JlOjpyZXBvcnRUaHJlYWRWaW9sYXRpb24oV1RGX1BSRVRUWV9G
VU5DVElPTiwgV2ViQ29yZTo6VGhyZWFkVmlvbGF0aW9uUm91bmRUaHJlZSkKICNlbHNlCiAjZGVm
aW5lIFdlYkNvcmVUaHJlYWRWaW9sYXRpb25DaGVja1JvdW5kT25lKCkgZG8geyB9IHdoaWxlICgw
KQogI2RlZmluZSBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tSb3VuZFR3bygpIGRvIHsgfSB3
aGlsZSAoMCkKKyNkZWZpbmUgV2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRUaHJlZSgp
IGRvIHsgfSB3aGlsZSAoMCkKICNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAKICNlbmRpZgpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1RocmVhZENoZWNrLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9UaHJlYWRDaGVjay5tbQkocmV2aXNpb24g
MTk2NTM0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1RocmVhZENoZWNrLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3Rh
dGljIGJvb2wgZGlkUmVhZFRocmVhZFZpb2xhdGlvbkJlaGF2aW9yRnJvbVVzZXJEZWZhdWx0cyA9
IGZhbHNlOwogc3RhdGljIGJvb2wgdGhyZWFkVmlvbGF0aW9uQmVoYXZpb3JJc0RlZmF1bHQgPSB0
cnVlOwotc3RhdGljIFRocmVhZFZpb2xhdGlvbkJlaGF2aW9yIHRocmVhZFZpb2xhdGlvbkJlaGF2
aW9yW01heGltdW1UaHJlYWRWaW9sYXRpb25Sb3VuZF0gPSB7IFJhaXNlRXhjZXB0aW9uT25UaHJl
YWRWaW9sYXRpb24sIFJhaXNlRXhjZXB0aW9uT25UaHJlYWRWaW9sYXRpb24gfTsKK3N0YXRpYyBU
aHJlYWRWaW9sYXRpb25CZWhhdmlvciB0aHJlYWRWaW9sYXRpb25CZWhhdmlvcltNYXhpbXVtVGhy
ZWFkVmlvbGF0aW9uUm91bmRdID0KKyAgICB7IFJhaXNlRXhjZXB0aW9uT25UaHJlYWRWaW9sYXRp
b24sIFJhaXNlRXhjZXB0aW9uT25UaHJlYWRWaW9sYXRpb24sIFJhaXNlRXhjZXB0aW9uT25UaHJl
YWRWaW9sYXRpb24gfTsKIAogc3RhdGljIHZvaWQgcmVhZFRocmVhZFZpb2xhdGlvbkJlaGF2aW9y
RnJvbVVzZXJEZWZhdWx0cygpCiB7CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxOTY1
MzQpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwyNCBAQAorMjAxNi0wMi0xMiAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CisK
KyAgICAgICAgQWRkIHRocmVhZCB2aW9sYXRpb24gY2hlY2tzIHRvIFdlYlZpZXcgcHVibGljIEFQ
SXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQx
ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZS1s
YW5kaW5nIHIxOTY1Mjcgd2l0aCBhIG5ld2x5IGFkZGVkIFdlYkNvcmVUaHJlYWRWaW9sYXRpb25D
aGVja1JvdW5kVGhyZWUoKS4KKyAgICAgICAgUHJldmlvdXNseSB3YXMgdXNpbmcgV2ViQ29yZVRo
cmVhZFZpb2xhdGlvbkNoZWNrUm91bmRUd28oKS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmll
dy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBzZXRDdXN0b21UZXh0RW5jb2RpbmdOYW1lOl0pOgor
ICAgICAgICAoLVtXZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHRGcm9tU3RyaW5n
Ol0pOgorICAgICAgICAoLVtXZWJWaWV3IHdpbmRvd1NjcmlwdE9iamVjdF0pOgorICAgICAgICAo
LVtXZWJWaWV3IHNldEdyb3VwTmFtZTpdKToKKyAgICAgICAgKC1bV2ViVmlldyBzZXRNYWluRnJh
bWVVUkw6XSk6CisgICAgICAgICgtW1dlYlZpZXcgbWFpbkZyYW1lVGl0bGVdKToKKyAgICAgICAg
KC1bV2ViVmlldyBtYWluRnJhbWVJY29uXSk6CisgICAgICAgICgtW1dlYlZpZXcgc2V0RHJhd3NC
YWNrZ3JvdW5kOl0pOgorICAgICAgICAoLVtXZWJWaWV3IHNldFNob3VsZFVwZGF0ZVdoaWxlT2Zm
c2NyZWVuOl0pOgorCiAyMDE2LTAyLTEyICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTk2NTI3LgpJbmRl
eDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gMTk2NTM0KQorKysg
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC01
ODQzLDYgKzU4NDMsOCBAQCAtIChCT09MKXN1cHBvcnRzVGV4dEVuY29kaW5nCiAKIC0gKHZvaWQp
c2V0Q3VzdG9tVGV4dEVuY29kaW5nTmFtZTooTlNTdHJpbmcgKillbmNvZGluZwogeworICAgIFdl
YkNvcmVUaHJlYWRWaW9sYXRpb25DaGVja1JvdW5kVGhyZWUoKTsKKwogICAgIE5TU3RyaW5nICpv
bGRFbmNvZGluZyA9IFtzZWxmIGN1c3RvbVRleHRFbmNvZGluZ05hbWVdOwogICAgIGlmIChlbmNv
ZGluZyA9PSBvbGRFbmNvZGluZyB8fCBbZW5jb2RpbmcgaXNFcXVhbFRvU3RyaW5nOm9sZEVuY29k
aW5nXSkKICAgICAgICAgcmV0dXJuOwpAQCAtNTg2Nyw2ICs1ODY5LDggQEAgLSAoTlNTdHJpbmcg
KiljdXN0b21UZXh0RW5jb2RpbmdOYW1lCiAKIC0gKE5TU3RyaW5nICopc3RyaW5nQnlFdmFsdWF0
aW5nSmF2YVNjcmlwdEZyb21TdHJpbmc6KE5TU3RyaW5nICopc2NyaXB0CiB7CisgICAgV2ViQ29y
ZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRUaHJlZSgpOworCiAjaWYgIVBMQVRGT1JNKElPUykK
ICAgICAvLyBSZXR1cm4gc3RhdGVtZW50cyBhcmUgb25seSB2YWxpZCBpbiBhIGZ1bmN0aW9uIGJ1
dCBzb21lIGFwcGxpY2F0aW9ucyBwYXNzIGluIHNjcmlwdHMKICAgICAvLyBwcmVmaXhlZCB3aXRo
IHJldHVybiAoPHJkYXI6Ly9wcm9ibGVtcy81MTAzNzIwJjQ2MTY4NjA+KSBzaW5jZSBvbGRlciBX
ZWJLaXQgdmVyc2lvbnMKQEAgLTU4ODksNiArNTg5Myw4IEBAIC0gKE5TU3RyaW5nICopc3RyaW5n
QnlFdmFsdWF0aW5nSmF2YVNjcmkKIAogLSAoV2ViU2NyaXB0T2JqZWN0ICopd2luZG93U2NyaXB0
T2JqZWN0CiB7CisgICAgV2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRUaHJlZSgpOwor
CiAgICAgRnJhbWUqIGNvcmVGcmFtZSA9IFtzZWxmIF9tYWluQ29yZUZyYW1lXTsKICAgICBpZiAo
IWNvcmVGcmFtZSkKICAgICAgICAgcmV0dXJuIG5pbDsKQEAgLTYxNTQsNiArNjE2MCw4IEBAICsg
KHZvaWQpcmVnaXN0ZXJWaWV3Q2xhc3M6KENsYXNzKXZpZXdDbGEKIAogLSAodm9pZClzZXRHcm91
cE5hbWU6KE5TU3RyaW5nICopZ3JvdXBOYW1lCiB7CisgICAgV2ViQ29yZVRocmVhZFZpb2xhdGlv
bkNoZWNrUm91bmRUaHJlZSgpOworCiAgICAgaWYgKF9wcml2YXRlLT5ncm91cCkKICAgICAgICAg
X3ByaXZhdGUtPmdyb3VwLT5yZW1vdmVXZWJWaWV3KHNlbGYpOwogCkBAIC02MjQ0LDYgKzYyNTIs
OCBAQCAtICh2b2lkKXJlbW92ZURyYWdDYXJldAogCiAtICh2b2lkKXNldE1haW5GcmFtZVVSTDoo
TlNTdHJpbmcgKilVUkxTdHJpbmcKIHsKKyAgICBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tS
b3VuZFRocmVlKCk7CisKICAgICBOU1VSTCAqdXJsOwogICAgIGlmIChbVVJMU3RyaW5nIGhhc1By
ZWZpeDpAIi8iXSkKICAgICAgICAgdXJsID0gW05TVVJMIGZpbGVVUkxXaXRoUGF0aDpVUkxTdHJp
bmddOwpAQCAtNjI3MCw2ICs2MjgwLDggQEAgLSAoQk9PTClpc0xvYWRpbmcKIAogLSAoTlNTdHJp
bmcgKiltYWluRnJhbWVUaXRsZQogeworICAgIFdlYkNvcmVUaHJlYWRWaW9sYXRpb25DaGVja1Jv
dW5kVGhyZWUoKTsKKwogICAgIE5TU3RyaW5nICptYWluRnJhbWVUaXRsZSA9IFtbW3NlbGYgbWFp
bkZyYW1lXSBfZGF0YVNvdXJjZV0gcGFnZVRpdGxlXTsKICAgICByZXR1cm4gKG1haW5GcmFtZVRp
dGxlICE9IG5pbCkgPyBtYWluRnJhbWVUaXRsZSA6IChOU1N0cmluZyAqKUAiIjsKIH0KQEAgLTYy
NzcsNiArNjI4OSw4IEBAIC0gKE5TU3RyaW5nICopbWFpbkZyYW1lVGl0bGUKICNpZiAhUExBVEZP
Uk0oSU9TKQogLSAoTlNJbWFnZSAqKW1haW5GcmFtZUljb24KIHsKKyAgICBXZWJDb3JlVGhyZWFk
VmlvbGF0aW9uQ2hlY2tSb3VuZFRocmVlKCk7CisKICAgICByZXR1cm4gW1tXZWJJY29uRGF0YWJh
c2Ugc2hhcmVkSWNvbkRhdGFiYXNlXSBpY29uRm9yVVJMOltbW1tzZWxmIG1haW5GcmFtZV0gX2Rh
dGFTb3VyY2VdIF9VUkxdIF93ZWJfb3JpZ2luYWxEYXRhQXNTdHJpbmddIHdpdGhTaXplOldlYklj
b25TbWFsbFNpemVdOwogfQogI2Vsc2UKQEAgLTYzMDMsNiArNjMxNyw4IEBAIC0gKERPTURvY3Vt
ZW50ICopbWFpbkZyYW1lRG9jdW1lbnQKIAogLSAodm9pZClzZXREcmF3c0JhY2tncm91bmQ6KEJP
T0wpZHJhd3NCYWNrZ3JvdW5kCiB7CisgICAgV2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91
bmRUaHJlZSgpOworCiAgICAgaWYgKF9wcml2YXRlLT5kcmF3c0JhY2tncm91bmQgPT0gZHJhd3NC
YWNrZ3JvdW5kKQogICAgICAgICByZXR1cm47CiAgICAgX3ByaXZhdGUtPmRyYXdzQmFja2dyb3Vu
ZCA9IGRyYXdzQmFja2dyb3VuZDsKQEAgLTYzMTgsNiArNjMzNCw4IEBAIC0gKEJPT0wpZHJhd3NC
YWNrZ3JvdW5kCiAKIC0gKHZvaWQpc2V0U2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW46KEJPT0wp
dXBkYXRlV2hpbGVPZmZzY3JlZW4KIHsKKyAgICBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tS
b3VuZFRocmVlKCk7CisKICAgICBpZiAoX3ByaXZhdGUtPnNob3VsZFVwZGF0ZVdoaWxlT2Zmc2Ny
ZWVuID09IHVwZGF0ZVdoaWxlT2Zmc2NyZWVuKQogICAgICAgICByZXR1cm47CiAgICAgX3ByaXZh
dGUtPnNob3VsZFVwZGF0ZVdoaWxlT2Zmc2NyZWVuID0gdXBkYXRlV2hpbGVPZmZzY3JlZW47Cg==
</data>
<flag name="review"
          id="296071"
          type_id="1"
          status="-"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271253</attachid>
            <date>2016-02-12 17:27:52 -0800</date>
            <delta_ts>2016-02-13 09:41:12 -0800</delta_ts>
            <desc>proposed patch 3: address Tim&apos;s feedback.</desc>
            <filename>bug-154183b.patch</filename>
            <type>text/plain</type>
            <size>8671</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NjUzNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE2LTAyLTEyICBNYXJrIExh
bSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgdGhyZWFkIHZpb2xhdGlvbiBj
aGVja3MgdG8gV2ViVmlldyBwdWJsaWMgQVBJcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDE4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gIEp1c3QgYWRkaW5nIGEgbmV3IHRo
cmVhZCB2aW9sYXRpb24gcm91bmQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9UaHJlYWRDaGVjay5o
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9UaHJlYWRDaGVjay5tbToKKyAgICAgICAgLSBBZGRp
bmcgV2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRUaHJlZSgpLgorCiAyMDE2LTAyLTEy
ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFJlc2V0IHJl
c3VsdHMgZm9yIGJpbmRpbmdzIHRlc3RzIGFmdGVyIHIxOTY1MjAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1RocmVhZENoZWNrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGhyZWFkQ2hlY2suaAkocmV2aXNpb24gMTk2NTM0KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVGhyZWFkQ2hlY2suaAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgZW51bSBUaHJlYWRWaW9sYXRpb25Sb3VuZCB7CiAg
ICAgICAgIFRocmVhZFZpb2xhdGlvblJvdW5kT25lID0gMCwKICAgICAgICAgVGhyZWFkVmlvbGF0
aW9uUm91bmRUd28sCisgICAgICAgIFRocmVhZFZpb2xhdGlvblJvdW5kVGhyZWUsCiAgICAgICAg
IE1heGltdW1UaHJlYWRWaW9sYXRpb25Sb3VuZAogICAgIH07CiAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBzZXREZWZhdWx0VGhyZWFkVmlvbGF0aW9uQmVoYXZpb3IoVGhyZWFkVmlvbGF0aW9uQmVo
YXZpb3IsIFRocmVhZFZpb2xhdGlvblJvdW5kKTsKQEAgLTQ3LDkgKzQ4LDExIEBAIGV4dGVybiAi
QyIgdm9pZCBXZWJDb3JlUmVwb3J0VGhyZWFkVmlvbGEKIAogI2RlZmluZSBXZWJDb3JlVGhyZWFk
VmlvbGF0aW9uQ2hlY2tSb3VuZE9uZSgpIDo6V2ViQ29yZTo6cmVwb3J0VGhyZWFkVmlvbGF0aW9u
KFdURl9QUkVUVFlfRlVOQ1RJT04sIFdlYkNvcmU6OlRocmVhZFZpb2xhdGlvblJvdW5kT25lKQog
I2RlZmluZSBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tSb3VuZFR3bygpIDo6V2ViQ29yZTo6
cmVwb3J0VGhyZWFkVmlvbGF0aW9uKFdURl9QUkVUVFlfRlVOQ1RJT04sIFdlYkNvcmU6OlRocmVh
ZFZpb2xhdGlvblJvdW5kVHdvKQorI2RlZmluZSBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tS
b3VuZFRocmVlKCkgOjpXZWJDb3JlOjpyZXBvcnRUaHJlYWRWaW9sYXRpb24oV1RGX1BSRVRUWV9G
VU5DVElPTiwgV2ViQ29yZTo6VGhyZWFkVmlvbGF0aW9uUm91bmRUaHJlZSkKICNlbHNlCiAjZGVm
aW5lIFdlYkNvcmVUaHJlYWRWaW9sYXRpb25DaGVja1JvdW5kT25lKCkgZG8geyB9IHdoaWxlICgw
KQogI2RlZmluZSBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tSb3VuZFR3bygpIGRvIHsgfSB3
aGlsZSAoMCkKKyNkZWZpbmUgV2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRUaHJlZSgp
IGRvIHsgfSB3aGlsZSAoMCkKICNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAKICNlbmRpZgpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1RocmVhZENoZWNrLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9UaHJlYWRDaGVjay5tbQkocmV2aXNpb24g
MTk2NTM0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1RocmVhZENoZWNrLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3Rh
dGljIGJvb2wgZGlkUmVhZFRocmVhZFZpb2xhdGlvbkJlaGF2aW9yRnJvbVVzZXJEZWZhdWx0cyA9
IGZhbHNlOwogc3RhdGljIGJvb2wgdGhyZWFkVmlvbGF0aW9uQmVoYXZpb3JJc0RlZmF1bHQgPSB0
cnVlOwotc3RhdGljIFRocmVhZFZpb2xhdGlvbkJlaGF2aW9yIHRocmVhZFZpb2xhdGlvbkJlaGF2
aW9yW01heGltdW1UaHJlYWRWaW9sYXRpb25Sb3VuZF0gPSB7IFJhaXNlRXhjZXB0aW9uT25UaHJl
YWRWaW9sYXRpb24sIFJhaXNlRXhjZXB0aW9uT25UaHJlYWRWaW9sYXRpb24gfTsKK3N0YXRpYyBU
aHJlYWRWaW9sYXRpb25CZWhhdmlvciB0aHJlYWRWaW9sYXRpb25CZWhhdmlvcltNYXhpbXVtVGhy
ZWFkVmlvbGF0aW9uUm91bmRdID0geyBSYWlzZUV4Y2VwdGlvbk9uVGhyZWFkVmlvbGF0aW9uLCBS
YWlzZUV4Y2VwdGlvbk9uVGhyZWFkVmlvbGF0aW9uLCBSYWlzZUV4Y2VwdGlvbk9uVGhyZWFkVmlv
bGF0aW9uIH07CiAKIHN0YXRpYyB2b2lkIHJlYWRUaHJlYWRWaW9sYXRpb25CZWhhdmlvckZyb21V
c2VyRGVmYXVsdHMoKQogewpJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMTk2NTM2KQor
KysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MjcgQEAKKzIwMTYtMDItMTIgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgorCisgICAg
ICAgIEFkZCB0aHJlYWQgdmlvbGF0aW9uIGNoZWNrcyB0byBXZWJWaWV3IHB1YmxpYyBBUElzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0MTgzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmUtbGFuZGlu
ZyByMTk2NTI3IHdpdGggYSBuZXdseSBhZGRlZCBXZWJDb3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tS
b3VuZFRocmVlKCkuCisgICAgICAgIFByZXZpb3VzbHkgd2FzIHVzaW5nIFdlYkNvcmVUaHJlYWRW
aW9sYXRpb25DaGVja1JvdW5kVHdvKCkuCisKKyAgICAgICAgKiBNaXNjL1dlYktpdFZlcnNpb25D
aGVja3MuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYkZyYW1lVmlldy5tbToKKyAgICAgICAgKC1b
V2ViRnJhbWVWaWV3IGluaXRXaXRoRnJhbWU6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3
Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IHNldEN1c3RvbVRleHRFbmNvZGluZ05hbWU6XSk6Cisg
ICAgICAgICgtW1dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdEZyb21TdHJpbmc6
XSk6CisgICAgICAgICgtW1dlYlZpZXcgd2luZG93U2NyaXB0T2JqZWN0XSk6CisgICAgICAgICgt
W1dlYlZpZXcgc2V0R3JvdXBOYW1lOl0pOgorICAgICAgICAoLVtXZWJWaWV3IHNldE1haW5GcmFt
ZVVSTDpdKToKKyAgICAgICAgKC1bV2ViVmlldyBtYWluRnJhbWVUaXRsZV0pOgorICAgICAgICAo
LVtXZWJWaWV3IG1haW5GcmFtZUljb25dKToKKyAgICAgICAgKC1bV2ViVmlldyBzZXREcmF3c0Jh
Y2tncm91bmQ6XSk6CisgICAgICAgICgtW1dlYlZpZXcgc2V0U2hvdWxkVXBkYXRlV2hpbGVPZmZz
Y3JlZW46XSk6CisKIDIwMTYtMDItMTIgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxOTY1MjcuCkluZGV4
OiBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdFZlcnNpb25DaGVja3MuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdFZlcnNpb25DaGVja3MuaAkocmV2aXNp
b24gMTk2NTM0KQorKysgU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUxLDcgQEAKICNkZWZpbmUgV0VCS0lUX0ZJUlNU
X1ZFUlNJT05fV0lUSF9NT1JFX1NUUklDVF9MT0NBTF9SRVNPVVJDRV9TRUNVUklUWV9SRVNUUklD
VElPTiAweDAyMTAwMjAwIC8vIDUyOC4yLjAKICNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05f
V0lUSE9VVF9XRUJWSUVXX0lOSVRfVEhSRUFEX1dPUktBUk9VTkQgMHgwMjEwMDcwMCAvLyA1Mjgu
Ny4wCiAjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfUk9VTkRfVFdPX01BSU5fVEhS
RUFEX0VYQ0VQVElPTlMgMHgwMjEyMDQwMCAvLyA1MzAuNC4wCisjZGVmaW5lIFdFQktJVF9GSVJT
VF9WRVJTSU9OX1dJVEhfUk9VTkRfVEhSRUVfTUFJTl9USFJFQURfRVhDRVBUSU9OUyAweDAyNUEw
MTEzIC8vIDYwMi4xLjE5CiAjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhPVVRfQlVN
UEVSQ0FSX0JBQ0tfRk9SV0FSRF9RVUlSSyAweDAyMTIwNzAwIC8vIDUzMC43LjAKICNkZWZpbmUg
V0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSE9VVF9DT05URU5UX1NOSUZGSU5HX0ZPUl9GSUxFX1VS
TFMgMHgwMjEyMEEwMCAvLyA1MzAuMTAuMAogI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9X
SVRIT1VUX0xJTktfRUxFTUVOVF9URVhUX0NTU19RVUlSSyAweDAyMTMwMjAwIC8vIDUzMS4yLjAK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVWaWV3Lm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWVWaWV3Lm1tCShyZXZpc2lv
biAxOTY1MzQpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lVmlldy5tbQko
d29ya2luZyBjb3B5KQpAQCAtMzgxLDYgKzM4MSwxMCBAQCAtIChpZClpbml0V2l0aEZyYW1lOihO
U1JlY3QpZnJhbWUKICAgICAgICAgYm9vbCB0aHJvd0V4Y2VwdGlvbnNGb3JSb3VuZFR3byA9IFdl
YktpdExpbmtlZE9uT3JBZnRlcihXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX1JPVU5EX1RXT19N
QUlOX1RIUkVBRF9FWENFUFRJT05TKTsKICAgICAgICAgaWYgKCF0aHJvd0V4Y2VwdGlvbnNGb3JS
b3VuZFR3bykKICAgICAgICAgICAgIHNldERlZmF1bHRUaHJlYWRWaW9sYXRpb25CZWhhdmlvcihM
b2dPbkZpcnN0VGhyZWFkVmlvbGF0aW9uLCBUaHJlYWRWaW9sYXRpb25Sb3VuZFR3byk7CisKKyAg
ICAgICAgYm9vbCB0aHJvd0V4Y2VwdGlvbnNGb3JSb3VuZFRocmVlID0gV2ViS2l0TGlua2VkT25P
ckFmdGVyKFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfUk9VTkRfVEhSRUVfTUFJTl9USFJFQURf
RVhDRVBUSU9OUyk7CisgICAgICAgIGlmICghdGhyb3dFeGNlcHRpb25zRm9yUm91bmRUaHJlZSkK
KyAgICAgICAgICAgIHNldERlZmF1bHRUaHJlYWRWaW9sYXRpb25CZWhhdmlvcihMb2dPbkZpcnN0
VGhyZWFkVmlvbGF0aW9uLCBUaHJlYWRWaW9sYXRpb25Sb3VuZFRocmVlKTsKICNlbmRpZgogICAg
IH0KIApJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gMTk2
NTM0KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNv
cHkpCkBAIC01ODQzLDYgKzU4NDMsOCBAQCAtIChCT09MKXN1cHBvcnRzVGV4dEVuY29kaW5nCiAK
IC0gKHZvaWQpc2V0Q3VzdG9tVGV4dEVuY29kaW5nTmFtZTooTlNTdHJpbmcgKillbmNvZGluZwog
eworICAgIFdlYkNvcmVUaHJlYWRWaW9sYXRpb25DaGVja1JvdW5kVGhyZWUoKTsKKwogICAgIE5T
U3RyaW5nICpvbGRFbmNvZGluZyA9IFtzZWxmIGN1c3RvbVRleHRFbmNvZGluZ05hbWVdOwogICAg
IGlmIChlbmNvZGluZyA9PSBvbGRFbmNvZGluZyB8fCBbZW5jb2RpbmcgaXNFcXVhbFRvU3RyaW5n
Om9sZEVuY29kaW5nXSkKICAgICAgICAgcmV0dXJuOwpAQCAtNTg2Nyw2ICs1ODY5LDggQEAgLSAo
TlNTdHJpbmcgKiljdXN0b21UZXh0RW5jb2RpbmdOYW1lCiAKIC0gKE5TU3RyaW5nICopc3RyaW5n
QnlFdmFsdWF0aW5nSmF2YVNjcmlwdEZyb21TdHJpbmc6KE5TU3RyaW5nICopc2NyaXB0CiB7Cisg
ICAgV2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRUaHJlZSgpOworCiAjaWYgIVBMQVRG
T1JNKElPUykKICAgICAvLyBSZXR1cm4gc3RhdGVtZW50cyBhcmUgb25seSB2YWxpZCBpbiBhIGZ1
bmN0aW9uIGJ1dCBzb21lIGFwcGxpY2F0aW9ucyBwYXNzIGluIHNjcmlwdHMKICAgICAvLyBwcmVm
aXhlZCB3aXRoIHJldHVybiAoPHJkYXI6Ly9wcm9ibGVtcy81MTAzNzIwJjQ2MTY4NjA+KSBzaW5j
ZSBvbGRlciBXZWJLaXQgdmVyc2lvbnMKQEAgLTU4ODksNiArNTg5Myw4IEBAIC0gKE5TU3RyaW5n
ICopc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmkKIAogLSAoV2ViU2NyaXB0T2JqZWN0ICopd2lu
ZG93U2NyaXB0T2JqZWN0CiB7CisgICAgV2ViQ29yZVRocmVhZFZpb2xhdGlvbkNoZWNrUm91bmRU
aHJlZSgpOworCiAgICAgRnJhbWUqIGNvcmVGcmFtZSA9IFtzZWxmIF9tYWluQ29yZUZyYW1lXTsK
ICAgICBpZiAoIWNvcmVGcmFtZSkKICAgICAgICAgcmV0dXJuIG5pbDsKQEAgLTYxNTQsNiArNjE2
MCw4IEBAICsgKHZvaWQpcmVnaXN0ZXJWaWV3Q2xhc3M6KENsYXNzKXZpZXdDbGEKIAogLSAodm9p
ZClzZXRHcm91cE5hbWU6KE5TU3RyaW5nICopZ3JvdXBOYW1lCiB7CisgICAgV2ViQ29yZVRocmVh
ZFZpb2xhdGlvbkNoZWNrUm91bmRUaHJlZSgpOworCiAgICAgaWYgKF9wcml2YXRlLT5ncm91cCkK
ICAgICAgICAgX3ByaXZhdGUtPmdyb3VwLT5yZW1vdmVXZWJWaWV3KHNlbGYpOwogCkBAIC02MjQ0
LDYgKzYyNTIsOCBAQCAtICh2b2lkKXJlbW92ZURyYWdDYXJldAogCiAtICh2b2lkKXNldE1haW5G
cmFtZVVSTDooTlNTdHJpbmcgKilVUkxTdHJpbmcKIHsKKyAgICBXZWJDb3JlVGhyZWFkVmlvbGF0
aW9uQ2hlY2tSb3VuZFRocmVlKCk7CisKICAgICBOU1VSTCAqdXJsOwogICAgIGlmIChbVVJMU3Ry
aW5nIGhhc1ByZWZpeDpAIi8iXSkKICAgICAgICAgdXJsID0gW05TVVJMIGZpbGVVUkxXaXRoUGF0
aDpVUkxTdHJpbmddOwpAQCAtNjI3MCw2ICs2MjgwLDggQEAgLSAoQk9PTClpc0xvYWRpbmcKIAog
LSAoTlNTdHJpbmcgKiltYWluRnJhbWVUaXRsZQogeworICAgIFdlYkNvcmVUaHJlYWRWaW9sYXRp
b25DaGVja1JvdW5kVGhyZWUoKTsKKwogICAgIE5TU3RyaW5nICptYWluRnJhbWVUaXRsZSA9IFtb
W3NlbGYgbWFpbkZyYW1lXSBfZGF0YVNvdXJjZV0gcGFnZVRpdGxlXTsKICAgICByZXR1cm4gKG1h
aW5GcmFtZVRpdGxlICE9IG5pbCkgPyBtYWluRnJhbWVUaXRsZSA6IChOU1N0cmluZyAqKUAiIjsK
IH0KQEAgLTYyNzcsNiArNjI4OSw4IEBAIC0gKE5TU3RyaW5nICopbWFpbkZyYW1lVGl0bGUKICNp
ZiAhUExBVEZPUk0oSU9TKQogLSAoTlNJbWFnZSAqKW1haW5GcmFtZUljb24KIHsKKyAgICBXZWJD
b3JlVGhyZWFkVmlvbGF0aW9uQ2hlY2tSb3VuZFRocmVlKCk7CisKICAgICByZXR1cm4gW1tXZWJJ
Y29uRGF0YWJhc2Ugc2hhcmVkSWNvbkRhdGFiYXNlXSBpY29uRm9yVVJMOltbW1tzZWxmIG1haW5G
cmFtZV0gX2RhdGFTb3VyY2VdIF9VUkxdIF93ZWJfb3JpZ2luYWxEYXRhQXNTdHJpbmddIHdpdGhT
aXplOldlYkljb25TbWFsbFNpemVdOwogfQogI2Vsc2UKQEAgLTYzMDMsNiArNjMxNyw4IEBAIC0g
KERPTURvY3VtZW50ICopbWFpbkZyYW1lRG9jdW1lbnQKIAogLSAodm9pZClzZXREcmF3c0JhY2tn
cm91bmQ6KEJPT0wpZHJhd3NCYWNrZ3JvdW5kCiB7CisgICAgV2ViQ29yZVRocmVhZFZpb2xhdGlv
bkNoZWNrUm91bmRUaHJlZSgpOworCiAgICAgaWYgKF9wcml2YXRlLT5kcmF3c0JhY2tncm91bmQg
PT0gZHJhd3NCYWNrZ3JvdW5kKQogICAgICAgICByZXR1cm47CiAgICAgX3ByaXZhdGUtPmRyYXdz
QmFja2dyb3VuZCA9IGRyYXdzQmFja2dyb3VuZDsKQEAgLTYzMTgsNiArNjMzNCw4IEBAIC0gKEJP
T0wpZHJhd3NCYWNrZ3JvdW5kCiAKIC0gKHZvaWQpc2V0U2hvdWxkVXBkYXRlV2hpbGVPZmZzY3Jl
ZW46KEJPT0wpdXBkYXRlV2hpbGVPZmZzY3JlZW4KIHsKKyAgICBXZWJDb3JlVGhyZWFkVmlvbGF0
aW9uQ2hlY2tSb3VuZFRocmVlKCk7CisKICAgICBpZiAoX3ByaXZhdGUtPnNob3VsZFVwZGF0ZVdo
aWxlT2Zmc2NyZWVuID09IHVwZGF0ZVdoaWxlT2Zmc2NyZWVuKQogICAgICAgICByZXR1cm47CiAg
ICAgX3ByaXZhdGUtPnNob3VsZFVwZGF0ZVdoaWxlT2Zmc2NyZWVuID0gdXBkYXRlV2hpbGVPZmZz
Y3JlZW47Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>