<?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>170395</bug_id>
          
          <creation_ts>2017-04-02 11:34:41 -0700</creation_ts>
          <short_desc>[Debug] ASSERT(!throwScope.exception()) on imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status-worker.html</short_desc>
          <delta_ts>2017-04-06 19:45:50 -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>JavaScriptCore</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1293546</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-04-02 11:34:41 -0700</bug_when>
    <thetext>imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.html very frequently asserts:

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=imported%2Fw3c%2Fweb-platform-tests%2Ffetch%2Fapi%2Fcors%2Fcors-preflight-status.html

Thread 24 Crashed:: WebCore: Worker
0   com.apple.JavaScriptCore      	0x0000000111327457 WTFCrash + 39 (Assertions.cpp:323)
1   com.apple.JavaScriptCore      	0x00000001109d968d JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 205 (Interpreter.cpp:897)
2   com.apple.JavaScriptCore      	0x000000011013879e JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 190 (CallData.cpp:39)
3   com.apple.WebCore             	0x00000001199ecc9f WebCore::DeferredPromise::callFunction(JSC::ExecState&amp;, JSC::JSValue, JSC::JSValue) + 287 (JSDOMPromise.cpp:59)
4   com.apple.WebCore             	0x0000000119440d15 WebCore::DeferredPromise::reject(JSC::ExecState&amp;, JSC::JSValue) + 85 (JSDOMPromise.h:127)
5   com.apple.WebCore             	0x00000001199ed16f WebCore::DeferredPromise::reject(int, WTF::String const&amp;) + 287 (JSDOMPromise.cpp:109)
6   com.apple.WebCore             	0x0000000119031cd7 void WebCore::DOMPromiseBase::reject&lt;WebCore::$_0&gt;(WebCore::$_0&amp;&amp;) + 71 (JSDOMPromise.h:167)
7   com.apple.WebCore             	0x0000000119031b38 WebCore::FetchResponse::BodyLoader::didFail() + 264 (FetchResponse.cpp:141)
8   com.apple.WebCore             	0x000000011902d269 WebCore::FetchLoader::didFail(WebCore::ResourceError const&amp;) + 41 (FetchLoader.cpp:152)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1293547</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-04-02 11:35:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/31394017&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1293549</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-04-02 11:50:42 -0700</bug_when>
    <thetext>First occurrence on 2017-03-09.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1293550</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-04-02 11:56:03 -0700</bug_when>
    <thetext>Marked as flaky assert in r214727.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294040</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-04-04 09:02:18 -0700</bug_when>
    <thetext>I doubt this is imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status.html since there is no worker here.
Might be LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status-worker.html if it is run just before cors-preflight-status.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294041</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-04-04 09:04:09 -0700</bug_when>
    <thetext>From https://build.webkit.org/builders/Apple%20Sierra%20Debug%20WK1%20(Tests)/builds/334/steps/layout-test/logs/stdio

18:20:23.064 25505 worker/2 imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status-worker.html output stderr lines:
18:20:23.064 25505   ASSERTION FAILED: !throwScope.exception()
18:20:23.064 25505   /Volumes/Data/slave/sierra-debug/build/Source/JavaScriptCore/interpreter/Interpreter.cpp(897) : JSC::JSValue JSC::Interpreter::executeCall(CallFrame *, JSC::JSObject *, JSC::CallType, const JSC::CallData &amp;, JSC::JSValue, const JSC::ArgList &amp;)
18:20:23.064 25505   1   0x1061bc8bd WTFCrash
18:20:23.064 25505   2   0x105ab271b JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)
18:20:23.064 25505   3   0x10528d5b8 JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)
18:20:23.064 25505   4   0x10528d86a JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)
18:20:23.064 25505   5   0x105be9ea8 JSC::JSJobMicrotask::run(JSC::ExecState*)
18:20:23.064 25505   6   0x10ef0d834 WebCore::JSGlobalObjectCallback::call()
18:20:23.064 25505   7   0x10ef0d671 WebCore::JSGlobalObjectTask::JSGlobalObjectTask(WebCore::JSDOMGlobalObject*, WTF::Ref&lt;JSC::Microtask&gt;&amp;&amp;)::$_0::operator()(WebCore::ScriptExecutionContext&amp;) const
18:20:23.065 25505   8   0x10ef0d514 WTF::Function&lt;void (WebCore::ScriptExecutionContext&amp;)&gt;::CallableWrapper&lt;WebCore::JSGlobalObjectTask::JSGlobalObjectTask(WebCore::JSDOMGlobalObject*, WTF::Ref&lt;JSC::Microtask&gt;&amp;&amp;)::$_0&gt;::call(WebCore::ScriptExecutionContext&amp;)
18:20:23.065 25505 worker/2 imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-status-worker.html passed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294045</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-04-04 09:22:41 -0700</bug_when>
    <thetext>executeCall is hitting a throwScope.exception() in executeCall.
In DeferredPromise::reject, we create a DOM exception which might generate such thing.
It might be that the creation of the exception is not happening correctly when we are closing abruptly the Worker.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294047</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-04-04 09:25:27 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #6)
&gt; executeCall is hitting a throwScope.exception() in executeCall.
&gt; In DeferredPromise::reject, we create a DOM exception which might generate
&gt; such thing.
&gt; It might be that the creation of the exception is not happening correctly
&gt; when we are closing abruptly the Worker.

Shouldn&apos;t DeferredPromise::reject() catch all exceptions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294055</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-04-04 10:12:20 -0700</bug_when>
    <thetext>(In reply to Mark Lam from comment #7)
&gt; (In reply to youenn fablet from comment #6)
&gt; &gt; executeCall is hitting a throwScope.exception() in executeCall.
&gt; &gt; In DeferredPromise::reject, we create a DOM exception which might generate
&gt; &gt; such thing.
&gt; &gt; It might be that the creation of the exception is not happening correctly
&gt; &gt; when we are closing abruptly the Worker.
&gt; 
&gt; Shouldn&apos;t DeferredPromise::reject() catch all exceptions?

We could make DeferredPromise::reject() exit early (and not call executeCall) when creation of the JSValue is not going right and is making throwScope.exception() to be true.
I would think that this is only happening in the context of Workers though.
We added several tweaks specific to Workers (see createDeferredPromise for instance).

In Window environment, we should then just ASSERT() while in Worker environment we should return early.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294084</commentid>
    <comment_count>9</comment_count>
      <attachid>306182</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-04-04 11:35:33 -0700</bug_when>
    <thetext>Created attachment 306182
Adding early assertions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294118</commentid>
    <comment_count>10</comment_count>
      <attachid>306186</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-04-04 12:38:10 -0700</bug_when>
    <thetext>Created attachment 306186
Adding early assertions - fixing release builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294119</commentid>
    <comment_count>11</comment_count>
      <attachid>306186</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-04-04 12:39:43 -0700</bug_when>
    <thetext>Comment on attachment 306186
Adding early assertions - fixing release builds

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294161</commentid>
    <comment_count>12</comment_count>
      <attachid>306186</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-04 14:11:41 -0700</bug_when>
    <thetext>Comment on attachment 306186
Adding early assertions - fixing release builds

Clearing flags on attachment: 306186

Committed r214897: &lt;http://trac.webkit.org/changeset/214897&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294162</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-04 14:11:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294281</commentid>
    <comment_count>14</comment_count>
      <attachid>306186</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-04-04 17:00:04 -0700</bug_when>
    <thetext>Comment on attachment 306186
Adding early assertions - fixing release builds

How does this patch solve the original problem, that there was a pending JS exception when we called into the JS reject handler?

I don&apos;t see any code in this patch to handle or clear the exception -- only code to assert that there was no exception.

Put another way, the purpose of a catch scope is provide access to a clearException() function. But this patch never calls clearException(). So why does it declare a catch scope?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294285</commentid>
    <comment_count>15</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-04-04 17:02:28 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #14)
&gt; Comment on attachment 306186 [details]
&gt; Adding early assertions - fixing release builds
&gt; 
&gt; How does this patch solve the original problem, that there was a pending JS
&gt; exception when we called into the JS reject handler?
&gt; 
&gt; I don&apos;t see any code in this patch to handle or clear the exception -- only
&gt; code to assert that there was no exception.
&gt; 
&gt; Put another way, the purpose of a catch scope is provide access to a
&gt; clearException() function. But this patch never calls clearException(). So
&gt; why does it declare a catch scope?

Since this failure is intermittent, Youenn intended to use this patch to test whether the failure came from createDOMException().  Further action depends on what we see from the bots as a result of that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294301</commentid>
    <comment_count>16</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-04-04 17:26:30 -0700</bug_when>
    <thetext>Got it. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294302</commentid>
    <comment_count>17</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-04-04 17:32:12 -0700</bug_when>
    <thetext>Let&apos;s see what happens</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294905</commentid>
    <comment_count>18</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-04-06 09:25:47 -0700</bug_when>
    <thetext>From https://build.webkit.org/results/Apple%20El%20Capitan%20Debug%20WK1%20(Tests)/r214947%20(361)/DumpRenderTree-2305-crash-log.txt
Thread 32 Crashed:: WebCore: Worker
0   com.apple.JavaScriptCore      	0x000000010253b867 WTFCrash + 39 (Assertions.cpp:323)
1   com.apple.WebCore             	0x000000010aba11b8 WebCore::DeferredPromise::reject(int, WTF::String const&amp;) + 424 (JSDOMPromise.cpp:117)
2   com.apple.WebCore             	0x000000010a1e6167 void WebCore::DOMPromiseBase::reject&lt;WebCore::$_0&gt;(WebCore::$_0&amp;&amp;) + 71 (JSDOMPromise.h:167)
3   com.apple.WebCore             	0x000000010a1e5fc8 WebCore::FetchResponse::BodyLoader::didFail() + 264 (FetchResponse.cpp:141)
4   com.apple.WebCore             	0x000000010a1e16f9 WebCore::FetchLoader::didFail(WebCore::ResourceError const&amp;) + 41 (FetchLoader.cpp:152)
5   com.apple.WebCore             	0x000000010c6b1e52 WebCore::ThreadableLoaderClientWrapper::didFail(WebCore::ResourceError const&amp;) + 66 (ThreadableLoaderClientWrapper.h:88)

We are hitting the new assertion.
Same applies to https://build.webkit.org/results/Apple%20iOS%2010%20Simulator%20Debug%20WK2%20(Tests)/r214957%20(404)/com.apple.WebKit.WebContent.Development-16889-crash-log.txt

Assumption is probably correct</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1294906</commentid>
    <comment_count>19</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-04-06 09:28:16 -0700</bug_when>
    <thetext>An older crash from this same test is different, probably also proving that we have issues elsewhere and that the way we stop workers are probably not working well with promises.

Thread 25 Crashed:: WebCore: Worker
0   com.apple.JavaScriptCore      	0x0000000103df2077 WTFCrash + 39 (Assertions.cpp:323)
1   com.apple.JavaScriptCore      	0x00000001036cb63d JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 205 (Interpreter.cpp:897)
2   com.apple.JavaScriptCore      	0x0000000102e8c23e JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 190 (CallData.cpp:39)
3   com.apple.JavaScriptCore      	0x0000000102e8c47a JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 106 (CallData.cpp:59)
4   com.apple.JavaScriptCore      	0x0000000103808e26 JSC::JSJobMicrotask::run(JSC::ExecState*) + 518 (JSJob.cpp:75)
5   com.apple.WebCore             	0x000000010c416222 WebCore::JSGlobalObjectCallback::call() + 418 (JSDOMGlobalObjectTask.cpp:69)
6   com.apple.WebCore             	0x000000010c415421 WebCore::JSGlobalObjectTask::JSGlobalObjectTask(WebCore::JSDOMGlobalObject*, WTF::Ref&lt;JSC::Microtask&gt;&amp;&amp;)::$_0::operator()(WebCore::ScriptExecutionContext&amp;) const + 33 (JSDOMGlobalObjectTask.cpp:90)
7   com.apple.WebCore             	0x000000010c415377 WTF::Function&lt;void (WebCore::ScriptExecutionContext&amp;)&gt;::CallableWrapper&lt;WebCore::JSGlobalObjectTask::JSGlobalObjectTask(WebCore::JSDOMGlobalObject*, WTF::Ref&lt;JSC::Microtask&gt;&amp;&amp;)::$_0&gt;::call(WebCore::ScriptExecutionContext&amp;) + 55 (Function.h:89)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295136</commentid>
    <comment_count>20</comment_count>
      <attachid>306443</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-04-06 17:30:32 -0700</bug_when>
    <thetext>Created attachment 306443
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295137</commentid>
    <comment_count>21</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-04-06 17:35:39 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #20)
&gt; Created attachment 306443 [details]
&gt; Patch

This patch only fixes the low-level issue.
Ideally, we should not need to do that since the early return based on isSuspended() should be the sufficient.
Might be good to add a FIXME maybe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295138</commentid>
    <comment_count>22</comment_count>
      <attachid>306443</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-04-06 17:36:31 -0700</bug_when>
    <thetext>Comment on attachment 306443
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295178</commentid>
    <comment_count>23</comment_count>
      <attachid>306443</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-06 19:45:48 -0700</bug_when>
    <thetext>Comment on attachment 306443
Patch

Clearing flags on attachment: 306443

Committed r215083: &lt;http://trac.webkit.org/changeset/215083&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295179</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-06 19:45:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306182</attachid>
            <date>2017-04-04 11:35:33 -0700</date>
            <delta_ts>2017-04-04 12:38:09 -0700</delta_ts>
            <desc>Adding early assertions</desc>
            <filename>bug-170395-20170404113532.patch</filename>
            <type>text/plain</type>
            <size>2413</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0Nzg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODk0ZDk3YTViZGRkZGIw
NzdiMjU2MDQxZjU4YmI3NTA1OTA0MWNhMC4uZWE3OTJjZWQ2OWI3MGY2OWZlM2M3NzYwZDZiOWI5
YTFiZmUwNjMxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDE3LTA0LTA0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBbRGVidWddIEFTU0VSVCgh
dGhyb3dTY29wZS5leGNlcHRpb24oKSkgb24gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvY29ycy9jb3JzLXByZWZsaWdodC1zdGF0dXMtd29ya2VyLmh0bWwKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDM5NQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMzEzOTQwMTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gY2hhbmdlIG9mIGJlaGF2aW9yLgorCisgICAgICAgICog
YmluZGluZ3MvanMvSlNET01Qcm9taXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlZmVycmVk
UHJvbWlzZTo6cmVqZWN0KTogQWRkaW5nIGVhcmx5IEFTU0VSVCB0aGF0IGNyZWF0aW5nIGFuIGV4
Y2VwdGlvbiBpcyBoYXBwZW5pbmcgY29ycmVjdGx5LgorCisyMDE3LTA0LTA0ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwogICAgICAgICBMYXlvdXRUZXN0IHdlYnJ0Yy9saWJ3
ZWJydGMvZGVzY3JpcHRpb25HZXR0ZXJzLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjk0ODEKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5jcHAKaW5kZXggYjk5ZDc0MmI2M2Fj
NGNiZmVhMDRiNzFiNzIyNDliYTU2MzY5YjllZC4uMmNmYTk5ZTFmY2IxNWI5NThlNjcxY2E1MzA3
MWJlYTg3ZDAzZGMzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01Qcm9taXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21p
c2UuY3BwCkBAIC05NCw3ICs5NCwxMiBAQCB2b2lkIERlZmVycmVkUHJvbWlzZTo6cmVqZWN0KEV4
Y2VwdGlvbiYmIGV4Y2VwdGlvbikKICAgICBBU1NFUlQobV9nbG9iYWxPYmplY3QpOwogICAgIGF1
dG8mIHN0YXRlID0gKm1fZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCk7CiAgICAgSlNDOjpKU0xv
Y2tIb2xkZXIgbG9ja2VyKCZzdGF0ZSk7Ci0gICAgcmVqZWN0KHN0YXRlLCBjcmVhdGVET01FeGNl
cHRpb24oc3RhdGUsIFdURk1vdmUoZXhjZXB0aW9uKSkpOworCisgICAgYXV0byBzY29wZSA9IERF
Q0xBUkVfQ0FUQ0hfU0NPUEUoc3RhdGUudm0oKSk7CisgICAgYXV0byBlcnJvciA9IGNyZWF0ZURP
TUV4Y2VwdGlvbihzdGF0ZSwgV1RGTW92ZShleGNlcHRpb24pKTsKKyAgICBBU1NFUlQoIXNjb3Bl
LmV4Y2VwdGlvbigpKTsKKworICAgIHJlamVjdChzdGF0ZSwgZXJyb3IpOwogfQogCiB2b2lkIERl
ZmVycmVkUHJvbWlzZTo6cmVqZWN0KEV4Y2VwdGlvbkNvZGUgZWMsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSkKQEAgLTEwNCw5ICsxMDksMTQgQEAgdm9pZCBEZWZlcnJlZFByb21pc2U6OnJlamVjdChF
eGNlcHRpb25Db2RlIGVjLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAKICAgICBBU1NFUlQoZGVm
ZXJyZWQoKSk7CiAgICAgQVNTRVJUKG1fZ2xvYmFsT2JqZWN0KTsKLSAgICBKU0M6OkV4ZWNTdGF0
ZSogc3RhdGUgPSBtX2dsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpOwotICAgIEpTQzo6SlNMb2Nr
SG9sZGVyIGxvY2tlcihzdGF0ZSk7Ci0gICAgcmVqZWN0KCpzdGF0ZSwgY3JlYXRlRE9NRXhjZXB0
aW9uKHN0YXRlLCBlYywgbWVzc2FnZSkpOworICAgIGF1dG8mIHN0YXRlID0gKm1fZ2xvYmFsT2Jq
ZWN0LT5nbG9iYWxFeGVjKCk7CisgICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9ja2VyKCZzdGF0ZSk7
CisKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRShzdGF0ZS52bSgpKTsKKyAg
ICBhdXRvIGVycm9yID0gY3JlYXRlRE9NRXhjZXB0aW9uKCZzdGF0ZSwgZWMsIG1lc3NhZ2UpOwor
ICAgIEFTU0VSVCghc2NvcGUuZXhjZXB0aW9uKCkpOworCisgICAgcmVqZWN0KHN0YXRlLCBlcnJv
cik7CiB9CiAKIHZvaWQgRGVmZXJyZWRQcm9taXNlOjpyZWplY3QoY29uc3QgSlNDOjpQcml2YXRl
TmFtZSYgcHJpdmF0ZU5hbWUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306186</attachid>
            <date>2017-04-04 12:38:10 -0700</date>
            <delta_ts>2017-04-06 17:30:30 -0700</delta_ts>
            <desc>Adding early assertions - fixing release builds</desc>
            <filename>bug-170395-20170404123809.patch</filename>
            <type>text/plain</type>
            <size>2441</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0Nzg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODk0ZDk3YTViZGRkZGIw
NzdiMjU2MDQxZjU4YmI3NTA1OTA0MWNhMC4uZWE3OTJjZWQ2OWI3MGY2OWZlM2M3NzYwZDZiOWI5
YTFiZmUwNjMxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDE3LTA0LTA0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBbRGVidWddIEFTU0VSVCgh
dGhyb3dTY29wZS5leGNlcHRpb24oKSkgb24gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvY29ycy9jb3JzLXByZWZsaWdodC1zdGF0dXMtd29ya2VyLmh0bWwKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDM5NQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMzEzOTQwMTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gY2hhbmdlIG9mIGJlaGF2aW9yLgorCisgICAgICAgICog
YmluZGluZ3MvanMvSlNET01Qcm9taXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlZmVycmVk
UHJvbWlzZTo6cmVqZWN0KTogQWRkaW5nIGVhcmx5IEFTU0VSVCB0aGF0IGNyZWF0aW5nIGFuIGV4
Y2VwdGlvbiBpcyBoYXBwZW5pbmcgY29ycmVjdGx5LgorCisyMDE3LTA0LTA0ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwogICAgICAgICBMYXlvdXRUZXN0IHdlYnJ0Yy9saWJ3
ZWJydGMvZGVzY3JpcHRpb25HZXR0ZXJzLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjk0ODEKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Qcm9taXNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5jcHAKaW5kZXggYjk5ZDc0MmI2M2Fj
NGNiZmVhMDRiNzFiNzIyNDliYTU2MzY5YjllZC4uMDczOWI5YmU5NDI1ZDBkMDI1ODgyMjg5NjQx
NTRmYWYzZGQwNjYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01Qcm9taXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21p
c2UuY3BwCkBAIC05NCw3ICs5NCwxMiBAQCB2b2lkIERlZmVycmVkUHJvbWlzZTo6cmVqZWN0KEV4
Y2VwdGlvbiYmIGV4Y2VwdGlvbikKICAgICBBU1NFUlQobV9nbG9iYWxPYmplY3QpOwogICAgIGF1
dG8mIHN0YXRlID0gKm1fZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCk7CiAgICAgSlNDOjpKU0xv
Y2tIb2xkZXIgbG9ja2VyKCZzdGF0ZSk7Ci0gICAgcmVqZWN0KHN0YXRlLCBjcmVhdGVET01FeGNl
cHRpb24oc3RhdGUsIFdURk1vdmUoZXhjZXB0aW9uKSkpOworCisgICAgYXV0byBzY29wZSA9IERF
Q0xBUkVfQ0FUQ0hfU0NPUEUoc3RhdGUudm0oKSk7CisgICAgYXV0byBlcnJvciA9IGNyZWF0ZURP
TUV4Y2VwdGlvbihzdGF0ZSwgV1RGTW92ZShleGNlcHRpb24pKTsKKyAgICBBU1NFUlRfVU5VU0VE
KHNjb3BlLCAhc2NvcGUuZXhjZXB0aW9uKCkpOworCisgICAgcmVqZWN0KHN0YXRlLCBlcnJvcik7
CiB9CiAKIHZvaWQgRGVmZXJyZWRQcm9taXNlOjpyZWplY3QoRXhjZXB0aW9uQ29kZSBlYywgY29u
c3QgU3RyaW5nJiBtZXNzYWdlKQpAQCAtMTA0LDkgKzEwOSwxNCBAQCB2b2lkIERlZmVycmVkUHJv
bWlzZTo6cmVqZWN0KEV4Y2VwdGlvbkNvZGUgZWMsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIAog
ICAgIEFTU0VSVChkZWZlcnJlZCgpKTsKICAgICBBU1NFUlQobV9nbG9iYWxPYmplY3QpOwotICAg
IEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSA9IG1fZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCk7Ci0g
ICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9ja2VyKHN0YXRlKTsKLSAgICByZWplY3QoKnN0YXRlLCBj
cmVhdGVET01FeGNlcHRpb24oc3RhdGUsIGVjLCBtZXNzYWdlKSk7CisgICAgYXV0byYgc3RhdGUg
PSAqbV9nbG9iYWxPYmplY3QtPmdsb2JhbEV4ZWMoKTsKKyAgICBKU0M6OkpTTG9ja0hvbGRlciBs
b2NrZXIoJnN0YXRlKTsKKworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX0NBVENIX1NDT1BFKHN0
YXRlLnZtKCkpOworICAgIGF1dG8gZXJyb3IgPSBjcmVhdGVET01FeGNlcHRpb24oJnN0YXRlLCBl
YywgbWVzc2FnZSk7CisgICAgQVNTRVJUX1VOVVNFRChzY29wZSwgIXNjb3BlLmV4Y2VwdGlvbigp
KTsKKworICAgIHJlamVjdChzdGF0ZSwgZXJyb3IpOwogfQogCiB2b2lkIERlZmVycmVkUHJvbWlz
ZTo6cmVqZWN0KGNvbnN0IEpTQzo6UHJpdmF0ZU5hbWUmIHByaXZhdGVOYW1lKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306443</attachid>
            <date>2017-04-06 17:30:32 -0700</date>
            <delta_ts>2017-04-06 19:45:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170395-20170406173031.patch</filename>
            <type>text/plain</type>
            <size>2305</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0OTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQ5YTEzNWMyNzM1N2M2
NWMzYWE2MTI3YzYzY2I0ZGRkZDM0NDA2OC4uOTQzODY4MGM4YzI4MGY4YjFhMzNkYTkyMzU1ODk3
MDBhODM3MjcyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTA0LTA2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBbRGVidWddIEFTU0VSVCgh
dGhyb3dTY29wZS5leGNlcHRpb24oKSkgb24gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvY29ycy9jb3JzLXByZWZsaWdodC1zdGF0dXMtd29ya2VyLmh0bWwKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDM5NQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMzEzOTQwMTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVByb21pc2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGVmZXJyZWRQcm9taXNlOjpyZWplY3QpOiBFeGl0aW5nIGVhcmx5IGlu
IGNhc2Ugb2Ygc2NvcGUgaGF2aW5nIGFuIGV4Y2VwdGlvbi4KKyAgICAgICAgQWRkaW5nIGFuIGFz
c2VydGlvbiB0byBlbnN1cmUgdGhpcyBpcyBhIHdvcmtlciB0ZXJtaW5hdGlvbiBleGNlcHRpb24u
CisKIDIwMTctMDQtMDUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBGaXggQ01ha2UgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVByb21pc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01Qcm9taXNlLmNwcAppbmRleCAwNzM5YjliZTk0MjVkMGQwMjU4ODIyODk2NDE1NGZh
ZjNkZDA2NjE5Li42Yzk3MTc4OGVhMGY0NTBiYjBlNDI4MTM4MTFjMzdmNzAwZWViNGUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21pc2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5jcHAKQEAgLTk1LDkgKzk1
LDEyIEBAIHZvaWQgRGVmZXJyZWRQcm9taXNlOjpyZWplY3QoRXhjZXB0aW9uJiYgZXhjZXB0aW9u
KQogICAgIGF1dG8mIHN0YXRlID0gKm1fZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCk7CiAgICAg
SlNDOjpKU0xvY2tIb2xkZXIgbG9ja2VyKCZzdGF0ZSk7CiAKLSAgICBhdXRvIHNjb3BlID0gREVD
TEFSRV9DQVRDSF9TQ09QRShzdGF0ZS52bSgpKTsKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRShzdGF0ZS52bSgpKTsKICAgICBhdXRvIGVycm9yID0gY3JlYXRlRE9NRXhjZXB0
aW9uKHN0YXRlLCBXVEZNb3ZlKGV4Y2VwdGlvbikpOwotICAgIEFTU0VSVF9VTlVTRUQoc2NvcGUs
ICFzY29wZS5leGNlcHRpb24oKSk7CisgICAgaWYgKFVOTElLRUxZKHNjb3BlLmV4Y2VwdGlvbigp
KSkgeworICAgICAgICBBU1NFUlQoaXNUZXJtaW5hdGVkRXhlY3V0aW9uRXhjZXB0aW9uKHN0YXRl
LnZtKCksIHNjb3BlLmV4Y2VwdGlvbigpKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAg
ICByZWplY3Qoc3RhdGUsIGVycm9yKTsKIH0KQEAgLTExMiw5ICsxMTUsMTMgQEAgdm9pZCBEZWZl
cnJlZFByb21pc2U6OnJlamVjdChFeGNlcHRpb25Db2RlIGVjLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UpCiAgICAgYXV0byYgc3RhdGUgPSAqbV9nbG9iYWxPYmplY3QtPmdsb2JhbEV4ZWMoKTsKICAg
ICBKU0M6OkpTTG9ja0hvbGRlciBsb2NrZXIoJnN0YXRlKTsKIAotICAgIGF1dG8gc2NvcGUgPSBE
RUNMQVJFX0NBVENIX1NDT1BFKHN0YXRlLnZtKCkpOworICAgIGF1dG8gc2NvcGUgPSBERUNMQVJF
X1RIUk9XX1NDT1BFKHN0YXRlLnZtKCkpOwogICAgIGF1dG8gZXJyb3IgPSBjcmVhdGVET01FeGNl
cHRpb24oJnN0YXRlLCBlYywgbWVzc2FnZSk7Ci0gICAgQVNTRVJUX1VOVVNFRChzY29wZSwgIXNj
b3BlLmV4Y2VwdGlvbigpKTsKKyAgICBpZiAoVU5MSUtFTFkoc2NvcGUuZXhjZXB0aW9uKCkpKSB7
CisgICAgICAgIEFTU0VSVChpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24oc3RhdGUudm0o
KSwgc2NvcGUuZXhjZXB0aW9uKCkpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogCiAgICAg
cmVqZWN0KHN0YXRlLCBlcnJvcik7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>