<?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>152825</bug_id>
          
          <creation_ts>2016-01-06 19:57:44 -0800</creation_ts>
          <short_desc>Web Inspector: CRASH Attempting to pause on CSP violation not inside of script</short_desc>
          <delta_ts>2016-01-07 11:23:54 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>bburg</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ggaren</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mattbaker</cc>
    
    <cc>msaboff</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>saam</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1153332</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-01-06 19:57:44 -0800</bug_when>
    <thetext>* SUMMARY
CRASH Attempting to pause on CSP violation not inside of script

* TEST
&lt;meta http-equiv=&quot;Content-Security-Policy&quot; content=&quot;script-src &apos;none&apos;&quot;&gt;
&lt;script&gt;alert(&quot;test&quot;);&lt;/script&gt;

* STEPS TO REPRODUCE
1. Inspect test page
2. Enable Debugger &quot;Break on All Exceptions&quot; breakpoint
3. Reload
  =&gt; CRASH/ASSERT

* ASSERT

void Debugger::breakProgram()
{
    …
    m_pauseOnNextStatement = true;
    setSteppingMode(SteppingModeEnabled);
    m_currentCallFrame = m_vm.topCallFrame;
    ASSERT(m_currentCallFrame); // &lt;---
    pauseIfNeeded(m_currentCallFrame);
}


Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 WTFCrash + 39 (Assertions.cpp:321)
1 JSC::Debugger::breakProgram() + 139 (Debugger.cpp:552)
2 Inspector::InspectorDebuggerAgent::breakProgram
3 Inspector::InspectorDebuggerAgent::scriptExecutionBlockedByCSP
4 WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSPImpl
5 WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSP
6 WebCore::ContentSecurityPolicy::reportBlockedScriptExecutionToInspector
7 WebCore::CSPDirectiveList::checkInlineAndReportViolation
8 WebCore::CSPDirectiveList::allowInlineScript
9 bool WebCore::isAllowedByAllWithContext
10 WebCore::ContentSecurityPolicy::allowInlineScript
11 WebCore::ScriptElement::executeScript
12 WebCore::ScriptElement::prepareScript
13 WebCore::HTMLScriptRunner::runScript
14 WebCore::HTMLScriptRunner::execute
15 WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153338</commentid>
    <comment_count>1</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-01-06 20:04:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/24021276&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153339</commentid>
    <comment_count>2</comment_count>
      <attachid>268438</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-01-06 20:05:12 -0800</bug_when>
    <thetext>Created attachment 268438
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153361</commentid>
    <comment_count>3</comment_count>
      <attachid>268438</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-01-06 21:11:43 -0800</bug_when>
    <thetext>Comment on attachment 268438
[PATCH] Proposed Fix

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

&gt; LayoutTests/ChangeLog:4
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=152825

Please add the radar URL, &lt;rdar://problem/24021276&gt;, under this line.

&gt; LayoutTests/inspector/debugger/csp-exceptions.html:5
&gt; +&lt;script type=&quot;text/javascript&quot; src=&quot;../../http/tests/inspector/resources/inspector-test.js&quot;&gt;&lt;/script&gt;

This is OK as-is. The presence of the type attribute in this context is unnecessary as it defaults to &quot;text/javascript&quot; given that this is a HTML5 document by &lt;https://html.spec.whatwg.org/multipage/scripting.html#attr-script-type&gt; (6 January 2016).

&gt; LayoutTests/inspector/debugger/csp-exceptions.html:10
&gt; +function triggerCSPExceptionInsideScript() {

Nit: The placement of the opening curly brace for this function differs from the placement of the opening curly brace for function test (line 21). I suggest that we follow the WebKit Code Style Guideline and place the opening curly brace on its own line. Regardless, we should pick one style convention for writing a named function and stick with it throughout this document.

&gt; LayoutTests/inspector/debugger/csp-exceptions.html:14
&gt; +function triggerCSPExceptionOutsideScript() {

Ditto.

&gt; LayoutTests/inspector/debugger/resources/csp-exception-iframe.html:1
&gt; +&lt;meta http-equiv=&quot;Content-Security-Policy&quot; content=&quot;script-src &apos;none&apos;&quot;&gt;

Please add &lt;!DOCTYPE html&gt; to the top of this file to specify that its conforms to the HTML5 standard. The markup of this file is only well formed with respect to the HTML5 standard. Specifically, this document takes advantage of the optional tags feature of the HTML5 standard to omit the &lt;html&gt;, &lt;/html&gt;, &lt;head&gt;, &lt;/head&gt;, &lt;body&gt;, and &lt;/body&gt; tags.

&gt; Source/JavaScriptCore/ChangeLog:4
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=152825

Please add the radar URL, &lt;rdar://problem/24021276&gt;, under this line.

&gt; Source/WebInspectorUI/ChangeLog:4
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=152825

Please add the radar URL, &lt;rdar://problem/24021276&gt;, under this line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153457</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-01-07 10:49:48 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 268438 [details]
&gt; [PATCH] Proposed Fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=268438&amp;action=review
&gt; 
&gt; &gt; LayoutTests/ChangeLog:4
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=152825
&gt; 
&gt; Please add the radar URL, &lt;rdar://problem/24021276&gt;, under this line.
&gt; 
&gt; &gt; LayoutTests/inspector/debugger/csp-exceptions.html:5
&gt; &gt; +&lt;script type=&quot;text/javascript&quot; src=&quot;../../http/tests/inspector/resources/inspector-test.js&quot;&gt;&lt;/script&gt;
&gt; 
&gt; This is OK as-is. The presence of the type attribute in this context is
&gt; unnecessary as it defaults to &quot;text/javascript&quot; given that this is a HTML5
&gt; document by
&gt; &lt;https://html.spec.whatwg.org/multipage/scripting.html#attr-script-type&gt; (6
&gt; January 2016).
&gt; 
&gt; &gt; LayoutTests/inspector/debugger/csp-exceptions.html:10
&gt; &gt; +function triggerCSPExceptionInsideScript() {
&gt; 
&gt; Nit: The placement of the opening curly brace for this function differs from
&gt; the placement of the opening curly brace for function test (line 21). I
&gt; suggest that we follow the WebKit Code Style Guideline and place the opening
&gt; curly brace on its own line. Regardless, we should pick one style convention
&gt; for writing a named function and stick with it throughout this document.

I have been using this style for inspector tests for a while. Code that runs on the inspected page being very concise, code that runs in the inspector (the `test` function) matching the Web Inspector style.

&gt; &gt; Source/JavaScriptCore/ChangeLog:4
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=152825
&gt; 
&gt; Please add the radar URL, &lt;rdar://problem/24021276&gt;, under this line.

I&apos;ve seen others do this. When do you consider it worthwhile to do this?

Essentially every inspector bug has a radar. Given that this isn&apos;t automated by any tools it would mean manually editing each ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153460</commentid>
    <comment_count>5</comment_count>
      <attachid>268438</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-01-07 10:56:19 -0800</bug_when>
    <thetext>Comment on attachment 268438
[PATCH] Proposed Fix

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

&gt;&gt;&gt; LayoutTests/ChangeLog:4
&gt;&gt;&gt; +        https://bugs.webkit.org/show_bug.cgi?id=152825
&gt;&gt; 
&gt;&gt; Please add the radar URL, &lt;rdar://problem/24021276&gt;, under this line.
&gt; 
&gt; I have been using this style for inspector tests for a while. Code that runs on the inspected page being very concise, code that runs in the inspector (the `test` function) matching the Web Inspector style.

I always add the Radar when I have one, because it makes life better when reviewing changes in Trac. I am in full agreement with Dan on this one! :-)

&gt;&gt;&gt; Source/JavaScriptCore/ChangeLog:4
&gt;&gt;&gt; +        https://bugs.webkit.org/show_bug.cgi?id=152825
&gt;&gt; 
&gt;&gt; Please add the radar URL, &lt;rdar://problem/24021276&gt;, under this line.
&gt; 
&gt; I&apos;ve seen others do this. When do you consider it worthwhile to do this?
&gt; 
&gt; Essentially every inspector bug has a radar. Given that this isn&apos;t automated by any tools it would mean manually editing each ChangeLog.

I always add the Radar when I have one, because it makes life better when reviewing changes in Trac. I am in full agreement with Dan on this one! :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153474</commentid>
    <comment_count>6</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-01-07 11:23:54 -0800</bug_when>
    <thetext>&lt;http://trac.webkit.org/changeset/194704&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268438</attachid>
            <date>2016-01-06 20:05:12 -0800</date>
            <delta_ts>2016-01-06 21:11:43 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>csp-crash.patch</filename>
            <type>text/plain</type>
            <size>11562</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5MjkwNjdkLi5iYWYxMDA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjIgQEAKIDIwMTYtMDEt
MDYgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAorICAgICAgICBXZWIg
SW5zcGVjdG9yOiBDUkFTSCBBdHRlbXB0aW5nIHRvIHBhdXNlIG9uIENTUCB2aW9sYXRpb24gbm90
IGluc2lkZSBvZiBzY3JpcHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE1MjgyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0
LmpzOgorICAgICAgICAoVGVzdFBhZ2UucmVwb3J0VW5jYXVnaHRFeGNlcHRpb24pOgorICAgICAg
ICBBbGxvdyBhIHRlc3QgdG8gY29udGludWUgYWZ0ZXIgdW5jYXVnaHQgZXhjZXB0aW9ucy4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9jc3AtZXhjZXB0aW9ucy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9jc3AtZXhjZXB0aW9ucy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIvcmVzb3VyY2VzL2NzcC1leGNl
cHRpb24taWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICBUZXN0IGEgQ1NQIGV4Y2VwdGlvbiB0
aGF0IGNhdXNlcyBhIHBhdXNlIGFuZCBvbmUgb3V0c2lkZSBvZgorICAgICAgICBzY3JpcHQgdGhh
dCBkb2VzIG5vdCBwYXVzZSAoYW5kIGRvZXMgbm90IGNyYXNoKS4KKworMjAxNi0wMS0wNiAgSm9z
ZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFNjb3BlIGNoYWluIHNob3dzIHRvbyBtYW55IHNjb3BlcyBmb3IgZnVuY3Rpb25zIChgbGV0
YCBhbmQgYHZhcmAgaW4gdGhlIHNhbWUgZnVuY3Rpb24gYXJlIHR3byBzY29wZXMpCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTIzNDkKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rv
ci10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2lu
c3BlY3Rvci10ZXN0LmpzCmluZGV4IGNjMzU1Y2QuLmIyYjk4NzQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcwor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9y
LXRlc3QuanMKQEAgLTEzOSw2ICsxMzksNyBAQCBUZXN0UGFnZS5hZGRSZXN1bHQgPSBmdW5jdGlv
bih0ZXh0KQogICAgIHRoaXMuX3Jlc3VsdEVsZW1lbnQuYXBwZW5kKHRleHQsIGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImJyIikpOwogfQogCitUZXN0UGFnZS5hbGxvd1VuY2F1Z2h0RXhjZXB0aW9u
cyA9IGZhbHNlOwogVGVzdFBhZ2UubmVlZFRvU2FuaXRpemVVbmNhdWdodEV4Y2VwdGlvblVSTHMg
PSBmYWxzZTsKIAogVGVzdFBhZ2UucmVwb3J0VW5jYXVnaHRFeGNlcHRpb24gPSBmdW5jdGlvbiht
ZXNzYWdlLCB1cmwsIGxpbmVOdW1iZXIpCkBAIC0xNTUsNyArMTU2LDkgQEAgVGVzdFBhZ2UucmVw
b3J0VW5jYXVnaHRFeGNlcHRpb24gPSBmdW5jdGlvbihtZXNzYWdlLCB1cmwsIGxpbmVOdW1iZXIp
CiAKICAgICBsZXQgcmVzdWx0ID0gYFVuY2F1Z2h0IGV4Y2VwdGlvbiBpbiB0ZXN0IHBhZ2U6ICR7
bWVzc2FnZX0gWyR7dXJsfToke2xpbmVOdW1iZXJ9XWA7CiAgICAgVGVzdFBhZ2UuYWRkUmVzdWx0
KHJlc3VsdCk7Ci0gICAgVGVzdFBhZ2UuY29tcGxldGVUZXN0KCk7CisKKyAgICBpZiAoIVRlc3RQ
YWdlLmFsbG93VW5jYXVnaHRFeGNlcHRpb25zKQorICAgICAgICBUZXN0UGFnZS5jb21wbGV0ZVRl
c3QoKTsKIH0KIAogLy8gQ2F0Y2ggc3ludGF4IGVycm9ycywgdHlwZSBlcnJvcnMsIGFuZCBvdGhl
ciBleGNlcHRpb25zLiBSdW4gdGhpcyBiZWZvcmUgbG9hZGluZyBvdGhlciBmaWxlcy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9jc3AtZXhjZXB0aW9ucy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvY3NwLWV4Y2VwdGlvbnMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0Mzc0NTQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvY3NwLWV4
Y2VwdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxMTogRXZhbEVycm9yOiBSZWZ1c2VkIHRvIGV2YWx1YXRlIGEgc3RyaW5nIGFzIEphdmFT
Y3JpcHQgYmVjYXVzZSAndW5zYWZlLWV2YWwnIGlzIG5vdCBhbiBhbGxvd2VkIHNvdXJjZSBvZiBz
Y3JpcHQgaW4gdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6
ICJzY3JpcHQtc3JjICdzZWxmJyAndW5zYWZlLWlubGluZSciLgorCitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMjogUmVmdXNlZCB0byBleGVjdXRlIGlubGluZSBzY3JpcHQgYmVjYXVzZSBpdCB2aW9s
YXRlcyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogInNj
cmlwdC1zcmMgJ25vbmUnIi4KKworVGVzdCBmb3IgdGhlIENTUCBleGNlcHRpb24gaGFuZGxpbmcg
d2hlbiBwYXVzZSBvbiBhbGwgZXhjZXB0aW9ucyBpcyBlbmFibGVkLgorCisKKz09IFJ1bm5pbmcg
dGVzdCBzdWl0ZTogUGF1c2VPbkNTUEV4Y2VwdGlvbkRvZXNOb3RDcmFzaAorLS0gUnVubmluZyB0
ZXN0IGNhc2U6IFRyaWdnZXJDU1BFeGNlcHRpb25JbnNpZGVPZlNjcmlwdAorUEFTUzogQ1NQIEV4
Y2VwdGlvbiBjYXVzZWQgYnkgc2NyaXB0IGV2YWx1YXRpb24gc2hvdWxkIHBhdXNlLgorVW5jYXVn
aHQgZXhjZXB0aW9uIGluIHRlc3QgcGFnZTogRXZhbEVycm9yOiBSZWZ1c2VkIHRvIGV2YWx1YXRl
IGEgc3RyaW5nIGFzIEphdmFTY3JpcHQgYmVjYXVzZSAndW5zYWZlLWV2YWwnIGlzIG5vdCBhbiBh
bGxvd2VkIHNvdXJjZSBvZiBzY3JpcHQgaW4gdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5
IFBvbGljeSBkaXJlY3RpdmU6ICJzY3JpcHQtc3JjICdzZWxmJyAndW5zYWZlLWlubGluZSciLgor
IFtjc3AtZXhjZXB0aW9ucy5odG1sOjExXQorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVHJpZ2dl
ckNTUEV4Y2VwdGlvbk91dHNpZGVPZlNjcmlwdAorUEFTUzogQ1NQIEV4Y2VwdGlvbiBjYXVzZWQg
b3V0c2lkZSBvZiBzY3JpcHQgZXZhbHVhdGlvbiBzaG91bGQgbm90IHBhdXNlLgorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvY3NwLWV4Y2VwdGlvbnMuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9jc3AtZXhjZXB0aW9ucy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1NDA4NmMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvY3NwLWV4Y2VwdGlvbnMuaHRtbApAQCAt
MCwwICsxLDY1IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBodHRw
LWVxdWl2PSJDb250ZW50LVNlY3VyaXR5LVBvbGljeSIgY29udGVudD0ic2NyaXB0LXNyYyAnc2Vs
ZicgJ3Vuc2FmZS1pbmxpbmUnIj4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0PgorVGVzdFBhZ2UuYWxsb3dVbmNhdWdodEV4Y2VwdGlvbnMgPSB0
cnVlOworVGVzdFBhZ2UubmVlZFRvU2FuaXRpemVVbmNhdWdodEV4Y2VwdGlvblVSTHMgPSB0cnVl
OworCitmdW5jdGlvbiB0cmlnZ2VyQ1NQRXhjZXB0aW9uSW5zaWRlU2NyaXB0KCkgeworICAgIGV2
YWwoImNvbnNvbGUubG9nKCdDU1Agc2hvdWxkIHByZXZlbnQgdGhpcycpIik7Cit9CisKK2Z1bmN0
aW9uIHRyaWdnZXJDU1BFeGNlcHRpb25PdXRzaWRlU2NyaXB0KCkgeworICAgIGxldCBpZnJhbWUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgICBpZnJhbWUuc3JjID0gInJl
c291cmNlcy9jc3AtZXhjZXB0aW9uLWlmcmFtZS5odG1sIjsKKyAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGlmcmFtZSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGxldCBzdWl0
ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiUGF1c2VPbkNTUEV4Y2VwdGlvbkRv
ZXNOb3RDcmFzaCIpOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiAi
VHJpZ2dlckNTUEV4Y2VwdGlvbkluc2lkZU9mU2NyaXB0IiwKKyAgICAgICAgZGVzY3JpcHRpb246
ICJUcmlnZ2VyIGEgQ1NQIEV4Y2VwdGlvbiBpbnNpZGUgb2Ygc2NyaXB0IHNob3VsZCBwYXVzZS4i
LAorICAgICAgICB0ZXN0OiAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJzZXRUaW1lb3V0KHRyaWdnZXJDU1BFeGNlcHRpb25J
bnNpZGVTY3JpcHQpIik7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5hZ2Vy
LnNpbmdsZUZpcmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIuRXZl
bnQuUGF1c2VkLCAoZXZlbnQpID0+IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LnBh
c3MoIkNTUCBFeGNlcHRpb24gY2F1c2VkIGJ5IHNjcmlwdCBldmFsdWF0aW9uIHNob3VsZCBwYXVz
ZS4iKTsKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5hZ2VyLnJlc3Vt
ZSgpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJN
YW5hZ2VyLnNpbmdsZUZpcmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFn
ZXIuRXZlbnQuUmVzdW1lZCwgKGV2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgcmVzb2x2ZSgp
OworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLmFkZFRl
c3RDYXNlKHsKKyAgICAgICAgbmFtZTogIlRyaWdnZXJDU1BFeGNlcHRpb25PdXRzaWRlT2ZTY3Jp
cHQiLAorICAgICAgICBkZXNjcmlwdGlvbjogIlRyaWdnZXIgYSBDU1AgRXhjZXB0aW9uIG91dHNp
ZGUgb2Ygc2NyaXB0IHNob3VsZCBub3QgcGF1c2Ugb3IgY3Jhc2guIiwKKyAgICAgICAgdGVzdDog
KHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZSgic2V0VGltZW91dCh0cmlnZ2VyQ1NQRXhjZXB0aW9uT3V0c2lkZVNjcmlwdCkiKTsK
KyAgICAgICAgICAgIGxldCB0ZW1wUGF1c2VGYWlsTGlzdGVuZXIgPSBXZWJJbnNwZWN0b3IuZGVi
dWdnZXJNYW5hZ2VyLnNpbmdsZUZpcmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dl
ck1hbmFnZXIuRXZlbnQuUGF1c2VkLCAoZXZlbnQpID0+IHsKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmZhaWwoIkNTUCBFeGNlcHRpb24gY2F1c2VkIG91dHNpZGUgb2Ygc2NyaXB0IGV2
YWx1YXRpb24gc2hvdWxkIG5vdCBwYXVzZSwgYnV0IGRpZC4iKTsKKyAgICAgICAgICAgICAgICBX
ZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5hZ2VyLnJlc3VtZSgpOworICAgICAgICAgICAgICAgIHJl
amVjdCgpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IubG9nTWFu
YWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5Mb2dNYW5hZ2VyLkV2ZW50Lk1lc3Nh
Z2VBZGRlZCwgKGV2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVn
Z2VyTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFn
ZXIuRXZlbnQuUGF1c2VkLCB0ZW1wUGF1c2VGYWlsTGlzdGVuZXIsIG51bGwpOworICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QucGFzcygiQ1NQIEV4Y2VwdGlvbiBjYXVzZWQgb3V0c2lkZSBv
ZiBzY3JpcHQgZXZhbHVhdGlvbiBzaG91bGQgbm90IHBhdXNlLiIpOworICAgICAgICAgICAgICAg
IHJlc29sdmUoKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBE
ZWJ1Z2dlckFnZW50LnNldFBhdXNlT25FeGNlcHRpb25zKCJhbGwiKTsKKyAgICBzdWl0ZS5ydW5U
ZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgorPHA+VGVzdCBmb3IgdGhlIENTUCBleGNlcHRpb24gaGFuZGxpbmcgd2hl
biBwYXVzZSBvbiBhbGwgZXhjZXB0aW9ucyBpcyBlbmFibGVkLjwvcD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZXMv
Y3NwLWV4Y2VwdGlvbi1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9yZXNvdXJjZXMvY3NwLWV4Y2VwdGlvbi1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi41YTYzNmFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNlcy9jc3AtZXhjZXB0aW9uLWlmcmFtZS5odG1sCkBA
IC0wLDAgKzEsMiBAQAorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TZWN1cml0eS1Qb2xpY3ki
IGNvbnRlbnQ9InNjcmlwdC1zcmMgJ25vbmUnIj4KKzxzY3JpcHQ+Y29uc29sZS5sb2coIkNTUCBz
aG91bGQgcHJldmVudCB0aGlzIik7PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9jbGllbnQtYmxvY2tlZC1sb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9jbGllbnQtYmxvY2tlZC1sb2FkLmh0bWwKaW5kZXggM2MyMTU1YS4u
YTM4NGE1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvY2xpZW50
LWJsb2NrZWQtbG9hZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2Ns
aWVudC1ibG9ja2VkLWxvYWQuaHRtbApAQCAtMjUsNyArMjUsNyBAQCBmdW5jdGlvbiB0ZXN0KCkK
ICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVzb3VyY2UgaW5zdGFu
Y2VvZiBXZWJJbnNwZWN0b3IuUmVzb3VyY2UsICJSZXNvdXJjZSBzaG91bGQgYmUgY3JlYXRlZC4i
KTsKICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVzb3VyY2UudXJs
ID09PSAiIiwgIlJlcXVlc3QgdXJsIHNob3VsZCBiZSByZXdyaXR0ZW4gdG8gdGhlIG51bGwgc3Ry
aW5nLiIpOwogICAgICAgICAgICAgICAgIHJlc291cmNlLnNpbmdsZUZpcmVFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5SZXNvdXJjZS5FdmVudC5Mb2FkaW5nRGlkRmFpbCwgKGV2ZW50KSA9PiB7
Ci0gICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdCh0cnVlLCAiUmVz
b3VyY2UgbG9hZCBzaG91bGQgZmFpbC4iKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5wYXNzKCJSZXNvdXJjZSBsb2FkIHNob3VsZCBmYWlsLiIpOwogICAgICAgICAgICAgICAg
ICAgICByZXNvbHZlKCk7CiAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9KTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm90b2NvbC9pbnNwZWN0b3ItYmFja2Vu
ZC1pbnZvY2F0aW9uLXJldHVybi12YWx1ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3By
b3RvY29sL2luc3BlY3Rvci1iYWNrZW5kLWludm9jYXRpb24tcmV0dXJuLXZhbHVlLmh0bWwKaW5k
ZXggM2NmODM3MS4uMDc4OTgzMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3By
b3RvY29sL2luc3BlY3Rvci1iYWNrZW5kLWludm9jYXRpb24tcmV0dXJuLXZhbHVlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb3RvY29sL2luc3BlY3Rvci1iYWNrZW5kLWludm9j
YXRpb24tcmV0dXJuLXZhbHVlLmh0bWwKQEAgLTUsNyArNSw2IEBACiA8c2NyaXB0PgogZnVuY3Rp
b24gdGVzdCgpCiB7Ci0KICAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5j
U3VpdGUoIlByb3RvY29sLkJhY2tlbmRJbnZvY2F0aW9uUmV0dXJuVmFsdWVzIik7CiAgICAgbGV0
IGR1bW15Q2FsbGJhY2sgPSAoKSA9PiB7fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzI3M2U5OC4uZTE5NjhiNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTYtMDEtMDYgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBDUkFTSCBBdHRlbXB0aW5nIHRvIHBhdXNlIG9uIENTUCB2
aW9sYXRpb24gbm90IGluc2lkZSBvZiBzY3JpcHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MjgyNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogZGVidWdnZXIvRGVidWdnZXIuY3BwOgorICAgICAgICAo
SlNDOjpEZWJ1Z2dlcjo6YnJlYWtQcm9ncmFtKToKKyAgICAgICAgV2UgY2Fubm90IHBhdXNlIGlm
IHdlIGFyZSBub3QgZXZhbHVhdGluZyBKYXZhU2NyaXB0LCBzbyBiYWlsLgorCiAyMDE2LTAxLTA2
ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIx
OTQ2MTMpOiBKSVRNdWxHZW5lcmF0b3IgbmVlZHMgYSBzY3JhdGNoIEdQUiBvbiAzMi1iaXQgdG9v
LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlci5jcHAKaW5kZXggNDJl
ZmJmYS4uZWUwNzAwNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2Vy
L0RlYnVnZ2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdn
ZXIuY3BwCkBAIC01NDYsMTAgKzU0NiwxMiBAQCB2b2lkIERlYnVnZ2VyOjpicmVha1Byb2dyYW0o
KQogICAgIGlmIChtX2lzUGF1c2VkKQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoIW1fdm0u
dG9wQ2FsbEZyYW1lKQorICAgICAgICByZXR1cm47CisKICAgICBtX3BhdXNlT25OZXh0U3RhdGVt
ZW50ID0gdHJ1ZTsKICAgICBzZXRTdGVwcGluZ01vZGUoU3RlcHBpbmdNb2RlRW5hYmxlZCk7CiAg
ICAgbV9jdXJyZW50Q2FsbEZyYW1lID0gbV92bS50b3BDYWxsRnJhbWU7Ci0gICAgQVNTRVJUKG1f
Y3VycmVudENhbGxGcmFtZSk7CiAgICAgcGF1c2VJZk5lZWRlZChtX2N1cnJlbnRDYWxsRnJhbWUp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA1OTBiYzkxLi5jMDlkOGZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNi0wMS0wNiAgSm9zZXBo
IFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IENSQVNIIEF0dGVtcHRpbmcgdG8gcGF1c2Ugb24gQ1NQIHZpb2xhdGlvbiBub3QgaW5zaWRlIG9m
IHNjcmlwdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTUyODI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1Rlc3QvVGVzdEhhcm5lc3MuanM6CisgICAgICAgIChUZXN0SGFybmVz
cy5wcm90b3R5cGUuZXhwZWN0VGhhdCk6CisgICAgICAgIChUZXN0SGFybmVzcy5wcm90b3R5cGUu
cGFzcyk6CisgICAgICAgIChUZXN0SGFybmVzcy5wcm90b3R5cGUuZmFpbCk6CisgICAgICAgIEFk
ZCBhIHNpbXBsZSB3YXkgdG8gb3V0cHV0IGEgc3RhbmRhcmQgcGFzcy9mYWlsIG1lc3NhZ2UuIFRo
ZXNlIGFyZQorICAgICAgICBvZnRlbiBuaWNlciB0aGFuIGV4cGVjdFRoYXQodHJ1ZSwgLi4uKSBv
ciBhc3NlcnQoZmFsc2UsIC4uLikuCisKIDIwMTYtMDEtMDcgIEpvc2VwaCBQZWNvcmFybyAgPHBl
Y29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBET01Db250ZW50TG9h
ZGVkIGxhYmVsIGluIHRoZSBUaW1lbGluZSB0YWIgc2hvdWxkIGJlICJET00gQ29udGVudCBMb2Fk
ZWQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0
L1Rlc3RIYXJuZXNzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVz
dC9UZXN0SGFybmVzcy5qcwppbmRleCAzYjZhMzMyLi4zOThkOGNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0L1Rlc3RIYXJuZXNzLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QvVGVzdEhhcm5lc3MuanMK
QEAgLTg4LDkgKzg4LDIyIEBAIFRlc3RIYXJuZXNzID0gY2xhc3MgVGVzdEhhcm5lc3MgZXh0ZW5k
cyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAKICAgICBleHBlY3RUaGF0KGNvbmRpdGlvbiwgbWVzc2Fn
ZSkKICAgICB7Ci0gICAgICAgIGxldCBwcmVmaXggPSBjb25kaXRpb24gPyAiUEFTUyIgOiAiRkFJ
TCI7CisgICAgICAgIGlmIChjb25kaXRpb24pCisgICAgICAgICAgICB0aGlzLnBhc3MobWVzc2Fn
ZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRoaXMuZmFpbChtZXNzYWdlKTsKKyAgICB9
CisKKyAgICBwYXNzKG1lc3NhZ2UpCisgICAgewogICAgICAgICBsZXQgc3RyaW5naWZpZWRNZXNz
YWdlID0gVGVzdEhhcm5lc3MubWVzc2FnZUFzU3RyaW5nKG1lc3NhZ2UpOwotICAgICAgICB0aGlz
LmxvZyhgJHtwcmVmaXh9OiAke3N0cmluZ2lmaWVkTWVzc2FnZX1gKTsKKyAgICAgICAgdGhpcy5s
b2coIlBBU1M6ICIgKyBzdHJpbmdpZmllZE1lc3NhZ2UpOworICAgIH0KKworICAgIGZhaWwobWVz
c2FnZSkKKyAgICB7CisgICAgICAgIGxldCBzdHJpbmdpZmllZE1lc3NhZ2UgPSBUZXN0SGFybmVz
cy5tZXNzYWdlQXNTdHJpbmcobWVzc2FnZSk7CisgICAgICAgIHRoaXMubG9nKCJGQUlMOiAiICsg
c3RyaW5naWZpZWRNZXNzYWdlKTsKICAgICB9CiAKICAgICAvLyBQcm90ZWN0ZWQK
</data>
<flag name="review"
          id="293387"
          type_id="1"
          status="+"
          setter="timothy"
    />
    <flag name="commit-queue"
          id="293388"
          type_id="3"
          status="-"
          setter="dbates"
    />
          </attachment>
      

    </bug>

</bugzilla>