<?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>180045</bug_id>
          
          <creation_ts>2017-11-27 10:48:47 -0800</creation_ts>
          <short_desc>Flaky crash in WebCore::DOMGuardedObject::clear() during service worker tests</short_desc>
          <delta_ts>2017-11-29 21:48:33 -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 Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=178345</see_also>
          <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="Chris Dumez">cdumez</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <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>1375006</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-27 10:48:47 -0800</bug_when>
    <thetext>Flaky crash in WebCore::DOMGuardedObject::clear() during service worker tests:
Thread 7 Crashed:: WebCore: Worker
0   com.apple.JavaScriptCore      	0x0000000121066234 WTFCrash + 36 (Assertions.cpp:270)
1   com.apple.WebCore             	0x0000000113600c18 WebCore::DOMGuardedObject::clear() + 104 (JSDOMGuardedObject.cpp:50)
2   com.apple.WebCore             	0x0000000113600d78 WebCore::DOMGuardedObject::contextDestroyed() + 40 (JSDOMGuardedObject.cpp:62)
3   com.apple.WebCore             	0x0000000113bf6008 WebCore::ScriptExecutionContext::~ScriptExecutionContext() + 184 (ScriptExecutionContext.cpp:124)
4   com.apple.WebCore             	0x0000000114f04081 WebCore::WorkerGlobalScope::~WorkerGlobalScope() + 977 (WorkerGlobalScope.cpp:96)
5   com.apple.WebCore             	0x0000000114f50662 WebCore::ServiceWorkerGlobalScope::~ServiceWorkerGlobalScope() + 98 (ServiceWorkerGlobalScope.cpp:43)
6   com.apple.WebCore             	0x0000000114f50685 WebCore::ServiceWorkerGlobalScope::~ServiceWorkerGlobalScope() + 21 (ServiceWorkerGlobalScope.cpp:43)
7   com.apple.WebCore             	0x0000000114f506c9 WebCore::ServiceWorkerGlobalScope::~ServiceWorkerGlobalScope() + 25 (ServiceWorkerGlobalScope.cpp:43)
8   com.apple.WebCore             	0x0000000112582081 WTF::RefCounted&lt;WebCore::WorkerGlobalScope&gt;::deref() const + 81 (RefCounted.h:145)
9   com.apple.WebCore             	0x0000000113035347 void WTF::derefIfNotNull&lt;WebCore::WorkerGlobalScope&gt;(WebCore::WorkerGlobalScope*) + 55 (RefPtr.h:46)
10  com.apple.WebCore             	0x0000000113510d8b WTF::RefPtr&lt;WebCore::WorkerGlobalScope&gt;::operator=(std::nullptr_t) + 91 (RefPtr.h:152)
11  com.apple.WebCore             	0x0000000114f1f475 WebCore::WorkerThread::workerThread() + 1989 (WorkerThread.cpp:232)
12  com.apple.WebCore             	0x0000000114f25e28 WebCore::WorkerThread::start(WTF::Function&lt;void (WTF::String const&amp;)&gt;&amp;&amp;)::$_12::operator()() const + 24 (WorkerThread.cpp:145)
13  com.apple.WebCore             	0x0000000114f25de9 WTF::Function&lt;void ()&gt;::CallableWrapper&lt;WebCore::WorkerThread::start(WTF::Function&lt;void (WTF::String const&amp;)&gt;&amp;&amp;)::$_12&gt;::call() + 25 (Function.h:101)
14  com.apple.JavaScriptCore      	0x00000001210a17ab WTF::Function&lt;void ()&gt;::operator()() const + 139 (Function.h:56)
15  com.apple.JavaScriptCore      	0x00000001210ef6ef WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 351 (Threading.cpp:129)
16  com.apple.JavaScriptCore      	0x00000001210f4db5 WTF::wtfThreadEntryPoint(void*) + 21 (ThreadingPthreads.cpp:223)
17  libsystem_pthread.dylib       	0x00007fff8dd8699d _pthread_body + 131
18  libsystem_pthread.dylib       	0x00007fff8dd8691a _pthread_start + 168
19  libsystem_pthread.dylib       	0x00007fff8dd84351 thread_start + 13

See https://build.webkit.org/results/Apple%20El%20Capitan%20Debug%20WK2%20(Tests)/r225150%20(4315)/com.apple.WebKit.WebContent.Development-27977-crash-log.txt

The symptom is that a lot of SW tests time out during a layout test run because the SW context process has crashed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375014</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-27 10:56:21 -0800</bug_when>
    <thetext>Assertion in DOMGuardedObject::clear() is:
    ASSERT(!m_guarded || m_globalObject);

I am not familiar with this code, not sure why this is bad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375016</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-27 10:56:58 -0800</bug_when>
    <thetext>Seems to happen on Service worker termination, when we destroy the ServiceWorkerGlobalScope object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375141</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-27 14:55:36 -0800</bug_when>
    <thetext>We believe this is likely the promise for a fetch() in a SW that stays alive longer than the ServiceWorkerGlobalScope object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375147</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-27 15:00:25 -0800</bug_when>
    <thetext>well, I guess it could be the promises for DOMCache API as well :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375163</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-27 15:14:30 -0800</bug_when>
    <thetext>One possibility might be that we should clean the WorkerCacheStorageConnection callbacks.
I will take a look and try to reproduce the crash with regular workers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375420</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-11-28 11:02:24 -0800</bug_when>
    <thetext>Duplicate of bug 178345?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375440</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-28 11:44:01 -0800</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #6)
&gt; Duplicate of bug 178345?

bug 178345 is interesting because it is slightly different. In particular, it occurs when destroying a DedicatedWorkerGlobalScope, not a ServiceWorkerGlobalScope.
This is likely the same underlying bug though. I guess this answers Youenn&apos;s question about this being specific to service workers or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375609</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-11-28 17:05:56 -0800</bug_when>
    <thetext>I can reproduce 100% with an ASan build:

run-webkit-tests --no-retry --no-sample --repeat 2 http/tests/workers/service/basic-unregister-then-register-again-reuse.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375611</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-28 17:10:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/35737288&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375618</commentid>
    <comment_count>10</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-28 17:26:44 -0800</bug_when>
    <thetext>We discussed this a bit with Chris.
One possibility is that DOMGuardedObjects are cleared too late in the game for Workers.
We might need to clear them explicitly as part of stopping workers.

I&apos;ll try to upload a patch in that sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375636</commentid>
    <comment_count>11</comment_count>
      <attachid>327812</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-28 18:09:30 -0800</bug_when>
    <thetext>Created attachment 327812
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375646</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-11-28 18:29:33 -0800</bug_when>
    <thetext>Also reproduces with http/tests/workers/service/service-worker-cache-api.https.html.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375841</commentid>
    <comment_count>13</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-29 09:06:29 -0800</bug_when>
    <thetext>With the patch, I am no longer experiencing any crash on service worker tests with ASAN build.

I am still not sure why the same kind of issues would not happen in regular environment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375852</commentid>
    <comment_count>14</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-29 09:10:41 -0800</bug_when>
    <thetext>Chris suggested to clear this in DOMGlobalObject destructor, which would fix my concern related to window environment as well.
Will give it a try.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375917</commentid>
    <comment_count>15</comment_count>
      <attachid>327876</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-29 11:02:37 -0800</bug_when>
    <thetext>Created attachment 327876
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1375925</commentid>
    <comment_count>16</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-29 11:08:23 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #15)
&gt; Created attachment 327876 [details]
&gt; Patch

Moved the clearing of dom guarded objects just before we remove the strong reference to the worker global object from worker script controller.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376003</commentid>
    <comment_count>17</comment_count>
      <attachid>327876</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-29 13:39:59 -0800</bug_when>
    <thetext>Comment on attachment 327876
Patch

Clearing flags on attachment: 327876

Committed r225291: &lt;https://trac.webkit.org/changeset/225291&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376004</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-29 13:40:01 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376205</commentid>
    <comment_count>19</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-11-29 21:48:33 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #13)
&gt; With the patch, I am no longer experiencing any crash on service worker
&gt; tests with ASAN build.

Confirmed, I also cannot reproduce any more. I guess it remains to be seen if the same crash can happen for a different reason.

&gt; I am still not sure why the same kind of issues would not happen in regular
&gt; environment.

I believe it does happen - the original report is about a non-ASan build.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327812</attachid>
            <date>2017-11-28 18:09:30 -0800</date>
            <delta_ts>2017-11-29 11:02:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180045-20171128180929.patch</filename>
            <type>text/plain</type>
            <size>6319</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1MTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDc5MDYzOWI1MTA1OTY5
MDJlNjJkOTRiNzZlNjBhNTdiMGQ4MWM2YS4uMzk0ZDgyZWYwMjJmN2MyN2I5MTUxNDdkMTdkNzY0
NzczZDI0ZmViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE3LTExLTI4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBGbGFreSBjcmFzaCBpbiBX
ZWJDb3JlOjpET01HdWFyZGVkT2JqZWN0OjpjbGVhcigpIGR1cmluZyBzZXJ2aWNlIHdvcmtlciB0
ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgw
MDQ1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNTczNzI4OD4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYW51YWxseSB0ZXN0ZWQgYnkgcnVubmlu
ZyBjb25jdXJyZW50bHkgc2VydmljZSB3b3JrZXIgdGVzdHMgdXNpbmcgRmV0Y2hFdmVudHMgd2hp
Y2ggc3RvcmUgcHJvbWlzZSByZWZlcmVuY2VzLgorCisgICAgICAgIEJlZm9yZSB0aGUgcGF0Y2gs
IG9uIHdvcmtlcnMsIGNsZWFyaW5nIG9mIERPTUd1YXJkZWRPYmplY3RzIGhhcHBlbnMgYXQgdGhl
IHRpbWUgV29ya2VyR2xvYmFsU2NvcGUgaXMgZGVzdHJveWVkLgorICAgICAgICBUaGlzIGlzIHRv
byBsYXRlIGFzIGl0IGlzIGV4cGVjdGVkIHRoYXQgdGhlIEpTRE9NR2xvYmFsT2JqZWN0IGlzIHN0
aWxsIGFsaXZlLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhIGNsZWFyRE9NR3VhcmRlZE9i
amVjdHMgbWV0aG9kIG9uIFdvcmtlckdsb2JhbFNjb3BlIGFuZCBKU1dvcmtlckdsb2JhbFNjb3Bl
QmFzZS4KKyAgICAgICAgSXQgaXMgY2FsbGVkIHdoZW4gc3RvcHBpbmcgYSBXb3JrZXJUaHJlYWQs
IGp1c3QgYWZ0ZXIgc3RvcHBpbmcgYWN0aXZlIERPTSBvYmplY3RzLgorICAgICAgICBBdCB0aGF0
IHRpbWUsIGl0IHNob3VsZCBiZSBzYWZlIHRvIGNsZWFyIHRoZSBET00gZ3VhcmRlZCBvYmplY3Rz
IHNpbmNlIG5vIEpTIGV4ZWN1dGlvbiBpcyBleHBlY3RlZC4KKworICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTRE9NR3VhcmRlZE9iamVjdC5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV29ya2Vy
R2xvYmFsU2NvcGVCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTV29ya2VyR2xvYmFsU2Nv
cGVCYXNlOjpjbGVhckRPTUd1YXJkZWRPYmplY3RzKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U1dvcmtlckdsb2JhbFNjb3BlQmFzZS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFs
U2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OmNsZWFyRE9N
R3VhcmRlZE9iamVjdHMpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaDoK
KyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXJUaHJlYWQ6OnN0b3ApOgorCiAyMDE3LTExLTI3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWdpc3RlciBEb2N1bWVudHMgYXMgU2VydmljZVdvcmtl
ciBjbGllbnRzIHRvIHRoZSBTdG9yYWdlUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01HdWFyZGVkT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUd1YXJkZWRPYmplY3QuaAppbmRleCBiZTFmYWY5YjQxNDYwNmU4NGE4ZmEz
YWU3OTk3Y2U4NTBkYjNmNWI3Li5iOGFiMGViOGQ2OWVjNzcxMGRlYWVmNWE0N2Y5NmZkYzA3NWZi
OGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUd1YXJkZWRP
YmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUd1YXJkZWRPYmpl
Y3QuaApAQCAtNDUsMTAgKzQ1LDExIEBAIHB1YmxpYzoKICAgICBKU0M6OkpTVmFsdWUgZ3VhcmRl
ZE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZ3VhcmRlZC5nZXQoKTsgfQogICAgIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QoKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbE9iamVjdC5n
ZXQoKTsgfQogCisgICAgdm9pZCBjbGVhcigpOworCiBwcm90ZWN0ZWQ6CiAgICAgRE9NR3VhcmRl
ZE9iamVjdChKU0RPTUdsb2JhbE9iamVjdCYsIEpTQzo6SlNDZWxsJik7CiAKLSAgICB2b2lkIGNs
ZWFyKCk7CiAgICAgdm9pZCBjb250ZXh0RGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBp
c0VtcHR5KCkgeyByZXR1cm4gIW1fZ3VhcmRlZDsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAKaW5kZXggMGM1ZWZl
MGNhNDZjOTVhMGFmNDE1Yjk0MGQ1YTEzZDc0MTM2MzBjZS4uMmRjNjBmM2Y4MGJjMGViYzhjZDgw
MjY1NjkzMGNiMjY3NThiMTRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcApAQCAtNzksNiArNzksMTMgQEAgdm9p
ZCBKU1dvcmtlckdsb2JhbFNjb3BlQmFzZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU1Byb3h5
KiBwcm94eSkKICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkpOwogfQogCit2b2lkIEpT
V29ya2VyR2xvYmFsU2NvcGVCYXNlOjpjbGVhckRPTUd1YXJkZWRPYmplY3RzKCkKK3sKKyAgICBh
dXRvIGd1YXJkZWRPYmplY3RzID0gbV9ndWFyZGVkT2JqZWN0czsKKyAgICBmb3IgKGF1dG8mIGd1
YXJkZWQgOiBndWFyZGVkT2JqZWN0cykKKyAgICAgICAgZ3VhcmRlZC0+Y2xlYXIoKTsKK30KKwog
dm9pZCBKU1dvcmtlckdsb2JhbFNjb3BlQmFzZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGws
IFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogewogICAgIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlKiB0
aGlzT2JqZWN0ID0ganNDYXN0PEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlKj4oY2VsbCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFz
ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2Uu
aAppbmRleCBhOWU1NmVlYjkwM2Y0NjJjOWQ2NmM5NTVjZWI1MzliZGExNjY5ODhiLi4zMjhhMTlj
MmNiZTU5MzMyNjQ4ZGJiNmE0Y2FiNzI4NDIzNzc0Mjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmgKQEAgLTY3LDYgKzY3
LDggQEAgcHVibGljOgogICAgIHN0YXRpYyBKU0M6OlJ1bnRpbWVGbGFncyBqYXZhU2NyaXB0UnVu
dGltZUZsYWdzKGNvbnN0IEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKICAgICBzdGF0aWMgdm9pZCBx
dWV1ZVRhc2tUb0V2ZW50TG9vcChKU0M6OkpTR2xvYmFsT2JqZWN0JiwgUmVmPEpTQzo6TWljcm90
YXNrPiYmKTsKIAorICAgIHZvaWQgY2xlYXJET01HdWFyZGVkT2JqZWN0cygpOworCiBwcm90ZWN0
ZWQ6CiAgICAgSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UoSlNDOjpWTSYsIEpTQzo6U3RydWN0dXJl
KiwgUmVmUHRyPFdvcmtlckdsb2JhbFNjb3BlPiYmKTsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KEpTQzo6Vk0mLCBKU0M6OkpTUHJveHkqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggODg2MWViODFkNTZlZjk4YTgzMzFlMjg0NGNmMjAwYTk4
Zjk4ZjE1YS4uMzI4NmRhMGQ1ZGEyZDg3NThjNjg5YjdlMmI3ZmVkODUzMWZhMjk4MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTMzLDYgKzMz
LDcgQEAKICNpbmNsdWRlICJJREJDb25uZWN0aW9uUHJveHkuaCIKICNpbmNsdWRlICJJbWFnZUJp
dG1hcE9wdGlvbnMuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNp
bmNsdWRlICJKU1dvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIK
ICNpbmNsdWRlICJTY2hlZHVsZWRBY3Rpb24uaCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2Rl
LmgiCkBAIC0xMDgsNiArMTA5LDE2IEBAIHZvaWQgV29ya2VyR2xvYmFsU2NvcGU6OnJlbW92ZUFs
bEV2ZW50TGlzdGVuZXJzKCkKICAgICBtX3BlcmZvcm1hbmNlLT5yZW1vdmVBbGxPYnNlcnZlcnMo
KTsKIH0KIAordm9pZCBXb3JrZXJHbG9iYWxTY29wZTo6Y2xlYXJET01HdWFyZGVkT2JqZWN0cygp
Cit7CisgICAgYXV0byogc2NyaXB0ID0gdGhpcy0+c2NyaXB0KCk7CisgICAgaWYgKCFzY3JpcHQp
CisgICAgICAgIHJldHVybjsKKworICAgIGlmIChhdXRvKiBjb250ZXh0V3JhcHBlciA9IHNjcmlw
dC0+d29ya2VyR2xvYmFsU2NvcGVXcmFwcGVyKCkpCisgICAgICAgIGNvbnRleHRXcmFwcGVyLT5j
bGVhckRPTUd1YXJkZWRPYmplY3RzKCk7Cit9CisKIGJvb2wgV29ya2VyR2xvYmFsU2NvcGU6Omlz
U2VjdXJlQ29udGV4dCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHNlY3VyaXR5T3JpZ2luKCkgJiYg
c2VjdXJpdHlPcmlnaW4oKS0+aXNQb3RlbnRpYWxseVRydXN0d29ydGh5KCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXggNmUzZmFjMjAwYTUzY2Q5OGZk
MTgwZjdhNmQ5NzVkMWQ2NjZjY2U1YS4uMjAyOWE1ZjgyODYyNjI2OTBmZmVlYjE0NmNkMDNlY2Nk
M2M4ODE0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaApA
QCAtMTIxLDYgKzEyMSw4IEBAIHB1YmxpYzoKIAogICAgIHVuc2lnbmVkIGxvbmcgY3JlYXRlVW5p
cXVlSWRlbnRpZmllcigpIHsgcmV0dXJuIG1fdW5pcXVlSWRlbnRpZmllcisrOyB9CiAKKyAgICB2
b2lkIGNsZWFyRE9NR3VhcmRlZE9iamVjdHMoKTsKKwogcHJvdGVjdGVkOgogICAgIFdvcmtlckds
b2JhbFNjb3BlKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIFdvcmtlclRocmVhZCYsIGJvb2wgc2hvdWxk
QnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+
JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29u
bmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqLCBQQUw6OlNlc3Npb25JRCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCA1ZTBlNDYyOGQ5ZDA3ZmJiNzVi
MmQyNTY4ZmE1M2I3YTNmZDVkOGM2Li5jMjhkMGE2YTk0OGZjOGUwNmJlZDk4NzE1NDgxMDNhMzUw
MjQxMzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0yNzks
NiArMjc5LDcgQEAgdm9pZCBXb3JrZXJUaHJlYWQ6OnN0b3AoV1RGOjpGdW5jdGlvbjx2b2lkKCk+
JiYgc3RvcHBlZENhbGxiYWNrKQogI2VuZGlmCiAKICAgICAgICAgICAgIHdvcmtlckdsb2JhbFNj
b3BlLnN0b3BBY3RpdmVET01PYmplY3RzKCk7CisgICAgICAgICAgICB3b3JrZXJHbG9iYWxTY29w
ZS5jbGVhckRPTUd1YXJkZWRPYmplY3RzKCk7CiAKICAgICAgICAgICAgIHdvcmtlckdsb2JhbFNj
b3BlLmluc3BlY3RvckNvbnRyb2xsZXIoKS53b3JrZXJUZXJtaW5hdGluZygpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327876</attachid>
            <date>2017-11-29 11:02:37 -0800</date>
            <delta_ts>2017-11-29 13:39:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180045-20171129110236.patch</filename>
            <type>text/plain</type>
            <size>4335</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1MjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTZiMDg0MTNkMmMzNTFm
YjUzZjdiYjNiMmQ1M2M3MzI1ZTZjYzM0Mi4uNWFmZTYyMzVlZWZlZjNmNWFiNmNmNTJlYjA4ZTk3
ZGFkNTkxN2FkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE3LTExLTI5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBGbGFreSBjcmFzaCBpbiBX
ZWJDb3JlOjpET01HdWFyZGVkT2JqZWN0OjpjbGVhcigpIGR1cmluZyBzZXJ2aWNlIHdvcmtlciB0
ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgw
MDQ1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNTczNzI4OD4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYW51YWxseSB0ZXN0ZWQgYnkgcnVubmlu
ZyBjb25jdXJyZW50bHkgc2VydmljZSB3b3JrZXIgdGVzdHMgdXNpbmcgRmV0Y2hFdmVudHMgd2hp
Y2ggc3RvcmUgcHJvbWlzZSByZWZlcmVuY2VzLgorCisgICAgICAgIEJlZm9yZSB0aGUgcGF0Y2gs
IG9uIHdvcmtlcnMsIGNsZWFyaW5nIG9mIERPTUd1YXJkZWRPYmplY3RzIGhhcHBlbnMgYXQgdGhl
IHRpbWUgV29ya2VyR2xvYmFsU2NvcGUgaXMgZGVzdHJveWVkLgorICAgICAgICBUaGlzIGlzIHRv
byBsYXRlIGFzIGl0IGlzIGV4cGVjdGVkIHRoYXQgdGhlIEpTRE9NR2xvYmFsT2JqZWN0IGlzIHN0
aWxsIGFsaXZlLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBhIGNsZWFyRE9NR3VhcmRlZE9i
amVjdHMgbWV0aG9kIG9uIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlLgorICAgICAgICBJdCBpcyBj
YWxsZWQgd2hlbiBzdG9wcGluZyBhIFdvcmtlclRocmVhZCwganVzdCBiZWZvcmUgcmVsZWFzaW5n
IHRoZSBzdHJvbmcgcmVmZXJlbmNlIHRvIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlLgorCisgICAg
ICAgICogYmluZGluZ3MvanMvSlNET01HdWFyZGVkT2JqZWN0Lmg6CisgICAgICAgICogYmluZGlu
Z3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNX
b3JrZXJHbG9iYWxTY29wZUJhc2U6OmNsZWFyRE9NR3VhcmRlZE9iamVjdHMpOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmg6CisgICAgICAgICogYmluZGlu
Z3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHA6CisKIDIwMTctMTEtMjkgIFphbiBEb2Jl
cnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDb29yZEdyYXBoaWNzXSBS
ZW5hbWUgQ29vcmRpbmF0ZWRCdWZmZXIgdG8gTmljb3NpYTo6QnVmZmVyCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUd1YXJkZWRPYmplY3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR3VhcmRlZE9iamVjdC5oCmluZGV4IGJlMWZhZjliNDE0
NjA2ZTg0YThmYTNhZTc5OTdjZTg1MGRiM2Y1YjcuLmI4YWIwZWI4ZDY5ZWM3NzEwZGVhZWY1YTQ3
Zjk2ZmRjMDc1ZmI4ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NR3VhcmRlZE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
R3VhcmRlZE9iamVjdC5oCkBAIC00NSwxMCArNDUsMTEgQEAgcHVibGljOgogICAgIEpTQzo6SlNW
YWx1ZSBndWFyZGVkT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gbV9ndWFyZGVkLmdldCgpOyB9CiAg
ICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xv
YmFsT2JqZWN0LmdldCgpOyB9CiAKKyAgICB2b2lkIGNsZWFyKCk7CisKIHByb3RlY3RlZDoKICAg
ICBET01HdWFyZGVkT2JqZWN0KEpTRE9NR2xvYmFsT2JqZWN0JiwgSlNDOjpKU0NlbGwmKTsKIAot
ICAgIHZvaWQgY2xlYXIoKTsKICAgICB2b2lkIGNvbnRleHREZXN0cm95ZWQoKSBvdmVycmlkZTsK
ICAgICBib29sIGlzRW1wdHkoKSB7IHJldHVybiAhbV9ndWFyZGVkOyB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcApp
bmRleCAwYzVlZmUwY2E0NmM5NWEwYWY0MTViOTQwZDVhMTNkNzQxMzYzMGNlLi4yZGM2MGYzZjgw
YmMwZWJjOGNkODAyNjU2OTMwY2IyNjc1OGIxNGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuY3BwCkBAIC03OSw2ICs3
OSwxMyBAQCB2b2lkIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlOjpmaW5pc2hDcmVhdGlvbihWTSYg
dm0sIEpTUHJveHkqIHByb3h5KQogICAgIEFTU0VSVChpbmhlcml0cyh2bSwgaW5mbygpKSk7CiB9
CiAKK3ZvaWQgSlNXb3JrZXJHbG9iYWxTY29wZUJhc2U6OmNsZWFyRE9NR3VhcmRlZE9iamVjdHMo
KQoreworICAgIGF1dG8gZ3VhcmRlZE9iamVjdHMgPSBtX2d1YXJkZWRPYmplY3RzOworICAgIGZv
ciAoYXV0byYgZ3VhcmRlZCA6IGd1YXJkZWRPYmplY3RzKQorICAgICAgICBndWFyZGVkLT5jbGVh
cigpOworfQorCiB2b2lkIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlOjp2aXNpdENoaWxkcmVuKEpT
Q2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiB7CiAgICAgSlNXb3JrZXJHbG9iYWxT
Y29wZUJhc2UqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNXb3JrZXJHbG9iYWxTY29wZUJhc2UqPihj
ZWxsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xv
YmFsU2NvcGVCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2Jh
bFNjb3BlQmFzZS5oCmluZGV4IGE5ZTU2ZWViOTAzZjQ2MmM5ZDY2Yzk1NWNlYjUzOWJkYTE2Njk4
OGIuLjMyOGExOWMyY2JlNTkzMzI2NDhkYmI2YTRjYWI3Mjg0MjM3NzQyOTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuaApA
QCAtNjcsNiArNjcsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEpTQzo6UnVudGltZUZsYWdzIGph
dmFTY3JpcHRSdW50aW1lRmxhZ3MoY29uc3QgSlNDOjpKU0dsb2JhbE9iamVjdCopOwogICAgIHN0
YXRpYyB2b2lkIHF1ZXVlVGFza1RvRXZlbnRMb29wKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBSZWY8
SlNDOjpNaWNyb3Rhc2s+JiYpOwogCisgICAgdm9pZCBjbGVhckRPTUd1YXJkZWRPYmplY3RzKCk7
CisKIHByb3RlY3RlZDoKICAgICBKU1dvcmtlckdsb2JhbFNjb3BlQmFzZShKU0M6OlZNJiwgSlND
OjpTdHJ1Y3R1cmUqLCBSZWZQdHI8V29ya2VyR2xvYmFsU2NvcGU+JiYpOwogICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oSlNDOjpWTSYsIEpTQzo6SlNQcm94eSopOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCBjMDJh
YTEyOWVhY2M3MzEyZDQzMWI5NDYwOTgyNzZhODNhMDg1ODlkLi4yMDlkOWFiMjE1MWVjZDI2YmZj
NjkzZjRjZTAxMWIxMzQzOWIwOWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcApAQCAtNjEsNiArNjEsNyBAQCBXb3Jr
ZXJTY3JpcHRDb250cm9sbGVyOjp+V29ya2VyU2NyaXB0Q29udHJvbGxlcigpCiB7CiAgICAgSlNM
b2NrSG9sZGVyIGxvY2sodm0oKSk7CiAgICAgaWYgKG1fd29ya2VyR2xvYmFsU2NvcGVXcmFwcGVy
KSB7CisgICAgICAgIG1fd29ya2VyR2xvYmFsU2NvcGVXcmFwcGVyLT5jbGVhckRPTUd1YXJkZWRP
YmplY3RzKCk7CiAgICAgICAgIG1fd29ya2VyR2xvYmFsU2NvcGVXcmFwcGVyLT5zZXRDb25zb2xl
Q2xpZW50KG51bGxwdHIpOwogICAgICAgICBtX2NvbnNvbGVDbGllbnQgPSBudWxscHRyOwogICAg
IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>