<?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>205440</bug_id>
          
          <creation_ts>2019-12-19 00:09:41 -0800</creation_ts>
          <short_desc>DOMPromise::whenPromiseIsSettled is asserting in service worker</short_desc>
          <delta_ts>2019-12-20 05:16:35 -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>Service Workers</component>
          <version>WebKit Nightly 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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1600183</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-12-19 00:09:41 -0800</bug_when>
    <thetext>DOMPromise::whenPromiseIsSettled is asserting in service worker

ASSERTION FAILED: !scope.exception() || !hasProperty
/Volumes/Data/slave/ios-simulator-13-debug/build/WebKitBuild/Debug-iphonesimulator/JavaScriptCore.framework/PrivateHeaders/JSObject.h(1471) : JSC::JSValue JSC::JSObject::get(JSC::JSGlobalObject *, JSC::PropertyName) const
1   0x40e414579 WTFCrash
2   0x4130c551b WTFCrashWithInfo(int, char const*, char const*, int)
3   0x4132f2856 JSC::JSObject::get(JSC::JSGlobalObject*, JSC::PropertyName) const
4   0x414f7f12a WebCore::DOMPromise::whenPromiseIsSettled(WebCore::JSDOMGlobalObject*, JSC::JSObject*, WTF::Function&lt;void ()&gt;&amp;&amp;)
5   0x414f7ef97 WebCore::DOMPromise::whenSettled(std::__1::function&lt;void ()&gt;&amp;&amp;)
6   0x4172d84a8 WebCore::FetchEvent::respondWith(WTF::Ref&lt;WebCore::DOMPromise, WTF::DumbPtrTraits&lt;WebCore::DOMPromise&gt; &gt;&amp;&amp;)
7   0x4139dee86 WebCore::jsFetchEventPrototypeFunctionRespondWithBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSFetchEvent*, JSC::ThrowScope&amp;)
8   0x41396cd0f long long WebCore::IDLOperation&lt;WebCore::JSFetchEvent&gt;::call&lt;&amp;(WebCore::jsFetchEventPrototypeFunctionRespondWithBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSFetchEvent*, JSC::ThrowScope&amp;)), (WebCore::CastedThisErrorBehavior)0&gt;(JSC::JSGlobalObject&amp;, JSC::CallFrame&amp;, char const*)
9   0x41396c9f4 WebCore::jsFetchEventPrototypeFunctionRespondWith(JSC::JSGlobalObject*, JSC::CallFrame*)
10  0x33f2966012ab
11  0x40e7abcb7 llint_entry
12  0x40e78eee3 vmEntryToJavaScript
13  0x40f1d9627 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
14  0x40f1d9c6e JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)
15  0x40f4e59ec JSC::call(JSC::JSGlobalObject*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)
16  0x40f4e5ada JSC::call(JSC::JSGlobalObject*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
17  0x40f4e5dce JSC::profiledCall(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
18  0x414f6ed28 WebCore::JSExecState::profiledCall(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
19  0x414f8b3ac WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&amp;, WebCore::Event&amp;)
20  0x4155f9dfc WebCore::EventTarget::innerInvokeEventListeners(WebCore::Event&amp;, WTF::Vector&lt;WTF::RefPtr&lt;WebCore::RegisteredEventListener, WTF::DumbPtrTraits&lt;WebCore::RegisteredEventListener&gt; &gt;, 1ul, WTF::CrashOnOverflow, 16ul&gt;, WebCore::EventTarget::EventInvokePhase)
21  0x4155f5fa2 WebCore::EventTarget::fireEventListeners(WebCore::Event&amp;, WebCore::EventTarget::EventInvokePhase)
22  0x4155f99dd WebCore::EventTarget::dispatchEvent(WebCore::Event&amp;)
23  0x41735a2ee WebCore::ServiceWorkerFetch::dispatchFetchEvent(WTF::Ref&lt;WebCore::ServiceWorkerFetch::Client, WTF::DumbPtrTraits&lt;WebCore::ServiceWorkerFetch::Client&gt; &gt;&amp;&amp;, WebCore::ServiceWorkerGlobalScope&amp;, WTF::Optional&lt;WebCore::ServiceWorkerClientIdentifier&gt;, WebCore::ResourceRequest&amp;&amp;, WTF::String&amp;&amp;, WebCore::FetchOptions&amp;&amp;)
24  0x41738a63a WebCore::ServiceWorkerThread::queueTaskToFireFetchEvent(WTF::Ref&lt;WebCore::ServiceWorkerFetch::Client, WTF::DumbPtrTraits&lt;WebCore::ServiceWorkerFetch::Client&gt; &gt;&amp;&amp;, WTF::Optional&lt;WebCore::ServiceWorkerClientIdentifier&gt;&amp;&amp;, WebCore::ResourceRequest&amp;&amp;, WTF::String&amp;&amp;, WebCore::FetchOptions&amp;&amp;)::$_24::operator()()
25  0x41738a259 WTF::Detail::CallableWrapper&lt;WebCore::ServiceWorkerThread::queueTaskToFireFetchEvent(WTF::Ref&lt;WebCore::ServiceWorkerFetch::Client, WTF::DumbPtrTraits&lt;WebCore::ServiceWorkerFetch::Client&gt; &gt;&amp;&amp;, WTF::Optional&lt;WebCore::ServiceWorkerClientIdentifier&gt;&amp;&amp;, WebCore::ResourceRequest&amp;&amp;, WTF::String&amp;&amp;, WebCore::FetchOptions&amp;&amp;)::$_24, void&gt;::call()
26  0x4130d962a WTF::Function&lt;void ()&gt;::operator()() const
27  0x4155eb0e9 WebCore::EventLoopFunctionDispatchTask::execute()
28  0x4155e5b6a WebCore::EventLoop::run()
29  0x4172c0df1 WebCore::WorkerEventLoop::scheduleToRun()::$_1::operator()(WebCore::ScriptExecutionContext&amp;) const
30  0x4172c0b61 WTF::Detail::CallableWrapper&lt;WebCore::WorkerEventLoop::scheduleToRun()::$_1, void, WebCore::ScriptExecutionContext&amp;&gt;::call(WebCore::ScriptExecutionContext&amp;)
31  0x414dfab87 WTF::Function&lt;void (WebCore::ScriptExecutionContext&amp;)&gt;::operator()(WebCore::ScriptExecutionContext&amp;) const</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600189</commentid>
    <comment_count>1</comment_count>
      <attachid>386080</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-12-19 00:47:15 -0800</bug_when>
    <thetext>Created attachment 386080
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600355</commentid>
    <comment_count>2</comment_count>
      <attachid>386080</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-12-19 10:15:05 -0800</bug_when>
    <thetext>Comment on attachment 386080
Patch

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

&gt; Source/WebCore/ChangeLog:7
&gt; +

Can you please explain what your change does and why?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600358</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-12-19 10:17:14 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #2)
&gt; Comment on attachment 386080 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=386080&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:7
&gt; &gt; +
&gt; 
&gt; Can you please explain what your change does and why?

OK, will add something like the following to the change log:
The promise.get(@then) is sometimes throwing an exception probably due to service worker being stopped. We need to catch the JS exception and exit early if the getter fails.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600673</commentid>
    <comment_count>4</comment_count>
      <attachid>386197</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-12-20 03:47:16 -0800</bug_when>
    <thetext>Created attachment 386197
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600694</commentid>
    <comment_count>5</comment_count>
      <attachid>386197</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-20 05:15:32 -0800</bug_when>
    <thetext>Comment on attachment 386197
Patch for landing

Clearing flags on attachment: 386197

Committed r253813: &lt;https://trac.webkit.org/changeset/253813&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600695</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-20 05:15:33 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600697</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-20 05:16:35 -0800</bug_when>
    <thetext>&lt;rdar://problem/58110810&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386080</attachid>
            <date>2019-12-19 00:47:15 -0800</date>
            <delta_ts>2019-12-20 03:47:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205440-20191219094714.patch</filename>
            <type>text/plain</type>
            <size>3089</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNjc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTZiZDk1ZWU3YjMwMzc5
ZWMwNTA3YmI4ZjZlOTc1MzljZDdlMDQ4Yy4uN2ZkYTQ3MTdlNjAxOTM3ZDNlYjcyZTIxNDliMGM1
YTUzN2ZlOTE3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTEyLTE5ICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBET01Qcm9taXNlOjp3aGVu
UHJvbWlzZUlzU2V0dGxlZCBpcyBhc3NlcnRpbmcgaW4gc2VydmljZSB3b3JrZXIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTQ0MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3Rp
bmcgc2VydmljZSB3b3JrZXIgdGVzdHMgaW4gZGVidWcgbW9kZS4KKworICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTRE9NUHJvbWlzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01Qcm9taXNlOjp3
aGVuUHJvbWlzZUlzU2V0dGxlZCk6CisKIDIwMTktMTItMTggIHlvdWVubiBmYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBBdWRpbyBDYXB0dXJlIGlu
IEdQVVByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
UHJvbWlzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21pc2UuY3Bw
CmluZGV4IDlhMzhmZDIzODI2OWY3OWJiYzBlYmRjNjMxMzc5Njk1ZWNiZDFiY2EuLjcwM2YzN2Yz
MmVlYjMwY2FjMWQ3ZDY1MmRhZjg2MGEyOWM2NWQyNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01Qcm9taXNlLmNwcApAQCAtMzgsMjAgKzM4LDYgQEAgdXNpbmcgbmFtZXNw
YWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgaW5saW5lIEpTQzo6SlNW
YWx1ZSBjYWxsRnVuY3Rpb24oSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVj
dCwgSlNDOjpKU1ZhbHVlIGpzRnVuY3Rpb24sIEpTQzo6SlNWYWx1ZSB0aGlzVmFsdWUsIGNvbnN0
IEpTQzo6QXJnTGlzdCYgYXJndW1lbnRzKQotewotICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxP
YmplY3Qudm0oKTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0g
ICAgSlNDOjpDYWxsRGF0YSBjYWxsRGF0YTsKLSAgICBhdXRvIGNhbGxUeXBlID0gSlNDOjpnZXRD
YWxsRGF0YSh2bSwganNGdW5jdGlvbiwgY2FsbERhdGEpOwotICAgIEFTU0VSVChjYWxsVHlwZSAh
PSBKU0M6OkNhbGxUeXBlOjpOb25lKTsKLSAgICBhdXRvIHJlc3VsdCA9IGNhbGwoJmxleGljYWxH
bG9iYWxPYmplY3QsIGpzRnVuY3Rpb24sIGNhbGxUeXBlLCBjYWxsRGF0YSwgdGhpc1ZhbHVlLCBh
cmd1bWVudHMpOwotCi0gICAgRVhDRVBUSU9OX0FTU0VSVF9VTlVTRUQoc2NvcGUsICFzY29wZS5l
eGNlcHRpb24oKSB8fCBpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24obGV4aWNhbEdsb2Jh
bE9iamVjdC52bSgpLCBzY29wZS5leGNlcHRpb24oKSkpOwotCi0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQogdm9pZCBET01Qcm9taXNlOjp3aGVuU2V0dGxlZChzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4m
JiBjYWxsYmFjaykKIHsKICAgICB3aGVuUHJvbWlzZUlzU2V0dGxlZChnbG9iYWxPYmplY3QoKSwg
cHJvbWlzZSgpLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CkBAIC02NywxNCArNTMsMjYgQEAgdm9pZCBE
T01Qcm9taXNlOjp3aGVuUHJvbWlzZUlzU2V0dGxlZChKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0M6OkpTT2IKICAgICAgICAgcmV0dXJuIEpTQzo6SlNWYWx1ZTo6ZW5jb2RlKEpT
Qzo6anNVbmRlZmluZWQoKSk7CiAgICAgfSk7CiAKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7CiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcml2YXRlTmFtZSA9
IHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnRoZW5Qcml2YXRlTmFtZSgpOwogICAg
IGF1dG8gdGhlbkZ1bmN0aW9uID0gcHJvbWlzZS0+Z2V0KCZsZXhpY2FsR2xvYmFsT2JqZWN0LCBw
cml2YXRlTmFtZSk7CisKKyAgICBFWENFUFRJT05fQVNTRVJUKCFzY29wZS5leGNlcHRpb24oKSB8
fCBpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24obGV4aWNhbEdsb2JhbE9iamVjdC52bSgp
LCBzY29wZS5leGNlcHRpb24oKSkpOworICAgIGlmIChzY29wZS5leGNlcHRpb24oKSkKKyAgICAg
ICAgcmV0dXJuOworCiAgICAgQVNTRVJUKHRoZW5GdW5jdGlvbi5pc0Z1bmN0aW9uKHZtKSk7CiAK
ICAgICBKU0M6Ok1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3VtZW50czsKICAgICBhcmd1bWVudHMu
YXBwZW5kKGhhbmRsZXIpOwogICAgIGFyZ3VtZW50cy5hcHBlbmQoaGFuZGxlcik7Ci0gICAgY2Fs
bEZ1bmN0aW9uKGxleGljYWxHbG9iYWxPYmplY3QsIHRoZW5GdW5jdGlvbiwgcHJvbWlzZSwgYXJn
dW1lbnRzKTsKKworICAgIEpTQzo6Q2FsbERhdGEgY2FsbERhdGE7CisgICAgYXV0byBjYWxsVHlw
ZSA9IEpTQzo6Z2V0Q2FsbERhdGEodm0sIHRoZW5GdW5jdGlvbiwgY2FsbERhdGEpOworICAgIEFT
U0VSVChjYWxsVHlwZSAhPSBKU0M6OkNhbGxUeXBlOjpOb25lKTsKKyAgICBjYWxsKCZsZXhpY2Fs
R2xvYmFsT2JqZWN0LCB0aGVuRnVuY3Rpb24sIGNhbGxUeXBlLCBjYWxsRGF0YSwgcHJvbWlzZSwg
YXJndW1lbnRzKTsKKworICAgIEVYQ0VQVElPTl9BU1NFUlQoIXNjb3BlLmV4Y2VwdGlvbigpIHx8
IGlzVGVybWluYXRlZEV4ZWN1dGlvbkV4Y2VwdGlvbihsZXhpY2FsR2xvYmFsT2JqZWN0LnZtKCks
IHNjb3BlLmV4Y2VwdGlvbigpKSk7CiB9CiAKIEpTQzo6SlNWYWx1ZSBET01Qcm9taXNlOjpyZXN1
bHQoKSBjb25zdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386197</attachid>
            <date>2019-12-20 03:47:16 -0800</date>
            <delta_ts>2019-12-20 05:15:32 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-205440-20191220124715.patch</filename>
            <type>text/plain</type>
            <size>3305</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzODExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODE3YWRkN2RiNjkzNmMw
OTM4MTI4MThhNmI4ZWZhZTEyNDgzMjM4Zi4uYzZlYTNmYzA4ZmVhOWFhZDBjNTE4YTVhYjlmNzI0
NjkxZGUwN2Q4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE5LTEyLTIwICB5b3Vl
bm4gZmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBET01Qcm9taXNlOjp3aGVu
UHJvbWlzZUlzU2V0dGxlZCBpcyBhc3NlcnRpbmcgaW4gc2VydmljZSB3b3JrZXIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTQ0MAorCisgICAgICAg
IFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgIFRoZSBwcm9taXNlLmdldChAdGhl
bikgaXMgc29tZXRpbWVzIHRocm93aW5nIGFuIGV4Y2VwdGlvbiBwcm9iYWJseSBkdWUgdG8gc2Vy
dmljZSB3b3JrZXIgYmVpbmcgc3RvcHBlZC4KKyAgICAgICAgV2UgbmVlZCB0byBjYXRjaCB0aGUg
SlMgZXhjZXB0aW9uIGFuZCBleGl0IGVhcmx5IGlmIHRoZSBnZXR0ZXIgZmFpbHMuCisgICAgICAg
IENvdmVyZWQgYnkgZXhpc3Rpbmcgc2VydmljZSB3b3JrZXIgdGVzdHMgaW4gZGVidWcgbW9kZS4K
KworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpET01Qcm9taXNlOjp3aGVuUHJvbWlzZUlzU2V0dGxlZCk6CisKIDIwMTktMTItMjAgIEpp
ZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5dIElt
cGxlbWVudCBjb2RlcnMgZm9yIENUQVAgQ2xpZW50UElOIHJlcXVlc3RzIGFuZCByZXNwb25zZXMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUHJvbWlzZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVByb21pc2UuY3BwCmluZGV4IDlhMzhm
ZDIzODI2OWY3OWJiYzBlYmRjNjMxMzc5Njk1ZWNiZDFiY2EuLjcwM2YzN2YzMmVlYjMwY2FjMWQ3
ZDY1MmRhZjg2MGEyOWM2NWQyNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NUHJvbWlzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01Qcm9taXNlLmNwcApAQCAtMzgsMjAgKzM4LDYgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgaW5saW5lIEpTQzo6SlNWYWx1ZSBjYWxsRnVu
Y3Rpb24oSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpKU1Zh
bHVlIGpzRnVuY3Rpb24sIEpTQzo6SlNWYWx1ZSB0aGlzVmFsdWUsIGNvbnN0IEpTQzo6QXJnTGlz
dCYgYXJndW1lbnRzKQotewotICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3Qudm0oKTsK
LSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgSlNDOjpDYWxs
RGF0YSBjYWxsRGF0YTsKLSAgICBhdXRvIGNhbGxUeXBlID0gSlNDOjpnZXRDYWxsRGF0YSh2bSwg
anNGdW5jdGlvbiwgY2FsbERhdGEpOwotICAgIEFTU0VSVChjYWxsVHlwZSAhPSBKU0M6OkNhbGxU
eXBlOjpOb25lKTsKLSAgICBhdXRvIHJlc3VsdCA9IGNhbGwoJmxleGljYWxHbG9iYWxPYmplY3Qs
IGpzRnVuY3Rpb24sIGNhbGxUeXBlLCBjYWxsRGF0YSwgdGhpc1ZhbHVlLCBhcmd1bWVudHMpOwot
Ci0gICAgRVhDRVBUSU9OX0FTU0VSVF9VTlVTRUQoc2NvcGUsICFzY29wZS5leGNlcHRpb24oKSB8
fCBpc1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24obGV4aWNhbEdsb2JhbE9iamVjdC52bSgp
LCBzY29wZS5leGNlcHRpb24oKSkpOwotCi0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQogdm9pZCBE
T01Qcm9taXNlOjp3aGVuU2V0dGxlZChzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4mJiBjYWxsYmFjaykK
IHsKICAgICB3aGVuUHJvbWlzZUlzU2V0dGxlZChnbG9iYWxPYmplY3QoKSwgcHJvbWlzZSgpLCBX
VEZNb3ZlKGNhbGxiYWNrKSk7CkBAIC02NywxNCArNTMsMjYgQEAgdm9pZCBET01Qcm9taXNlOjp3
aGVuUHJvbWlzZUlzU2V0dGxlZChKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6
OkpTT2IKICAgICAgICAgcmV0dXJuIEpTQzo6SlNWYWx1ZTo6ZW5jb2RlKEpTQzo6anNVbmRlZmlu
ZWQoKSk7CiAgICAgfSk7CiAKKyAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7CiAgICAgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcml2YXRlTmFtZSA9IHZtLnByb3BlcnR5
TmFtZXMtPmJ1aWx0aW5OYW1lcygpLnRoZW5Qcml2YXRlTmFtZSgpOwogICAgIGF1dG8gdGhlbkZ1
bmN0aW9uID0gcHJvbWlzZS0+Z2V0KCZsZXhpY2FsR2xvYmFsT2JqZWN0LCBwcml2YXRlTmFtZSk7
CisKKyAgICBFWENFUFRJT05fQVNTRVJUKCFzY29wZS5leGNlcHRpb24oKSB8fCBpc1Rlcm1pbmF0
ZWRFeGVjdXRpb25FeGNlcHRpb24obGV4aWNhbEdsb2JhbE9iamVjdC52bSgpLCBzY29wZS5leGNl
cHRpb24oKSkpOworICAgIGlmIChzY29wZS5leGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuOwor
CiAgICAgQVNTRVJUKHRoZW5GdW5jdGlvbi5pc0Z1bmN0aW9uKHZtKSk7CiAKICAgICBKU0M6Ok1h
cmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3VtZW50czsKICAgICBhcmd1bWVudHMuYXBwZW5kKGhhbmRs
ZXIpOwogICAgIGFyZ3VtZW50cy5hcHBlbmQoaGFuZGxlcik7Ci0gICAgY2FsbEZ1bmN0aW9uKGxl
eGljYWxHbG9iYWxPYmplY3QsIHRoZW5GdW5jdGlvbiwgcHJvbWlzZSwgYXJndW1lbnRzKTsKKwor
ICAgIEpTQzo6Q2FsbERhdGEgY2FsbERhdGE7CisgICAgYXV0byBjYWxsVHlwZSA9IEpTQzo6Z2V0
Q2FsbERhdGEodm0sIHRoZW5GdW5jdGlvbiwgY2FsbERhdGEpOworICAgIEFTU0VSVChjYWxsVHlw
ZSAhPSBKU0M6OkNhbGxUeXBlOjpOb25lKTsKKyAgICBjYWxsKCZsZXhpY2FsR2xvYmFsT2JqZWN0
LCB0aGVuRnVuY3Rpb24sIGNhbGxUeXBlLCBjYWxsRGF0YSwgcHJvbWlzZSwgYXJndW1lbnRzKTsK
KworICAgIEVYQ0VQVElPTl9BU1NFUlQoIXNjb3BlLmV4Y2VwdGlvbigpIHx8IGlzVGVybWluYXRl
ZEV4ZWN1dGlvbkV4Y2VwdGlvbihsZXhpY2FsR2xvYmFsT2JqZWN0LnZtKCksIHNjb3BlLmV4Y2Vw
dGlvbigpKSk7CiB9CiAKIEpTQzo6SlNWYWx1ZSBET01Qcm9taXNlOjpyZXN1bHQoKSBjb25zdAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>