<?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>209862</bug_id>
          
          <creation_ts>2020-04-01 10:43:22 -0700</creation_ts>
          <short_desc>ASSERTION FAILED: m_wrapper on fast/events/scoped/editing-commands.html</short_desc>
          <delta_ts>2020-05-21 11:03:42 -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>WebCore JavaScript</component>
          <version>Other</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="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>kangil.han</cc>
    
    <cc>rniwa</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1636559</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-04-01 10:43:22 -0700</bug_when>
    <thetext>I get a reproducible assertion failure on fast/events/scoped/editing-commands.html.

run-webkit-tests -v --repeat-each 10 -1 --additional-env-var=JSC_slowPathAllocsBetweenGCs=25 LayoutTests/fast/events/scoped/editing-commands.html

ASSERTION FAILED: m_wrapper
./bindings/js/JSEventListener.h(125) : JSC::JSObject *WebCore::JSEventListener::ensureJSFunction(WebCore::ScriptExecutionContext &amp;) const
1   0x110217779 WTFCrash
2   0x12804603b WTFCrashWithInfo(int, char const*, char const*, int)
3   0x12a24c76f WebCore::JSEventListener::ensureJSFunction(WebCore::ScriptExecutionContext&amp;) const
4   0x12a24badd WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&amp;, WebCore::Event&amp;)
5   0x12a898107 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, WTF::FastMalloc&gt;, WebCore::EventTarget::EventInvokePhase)
6   0x12a894364 WebCore::EventTarget::fireEventListeners(WebCore::Event&amp;, WebCore::EventTarget::EventInvokePhase)
7   0x12a90a5a2 WebCore::Node::handleLocalEvents(WebCore::Event&amp;, WebCore::EventTarget::EventInvokePhase)
8   0x12a882bf1 WebCore::EventContext::handleLocalEvents(WebCore::Event&amp;, WebCore::EventTarget::EventInvokePhase) const
9   0x12a8836bf WebCore::dispatchEventInDOM(WebCore::Event&amp;, WebCore::EventPath const&amp;)
10  0x12a8831f7 WebCore::EventDispatcher::dispatchEvent(WebCore::Node&amp;, WebCore::Event&amp;)
11  0x12a90a5fd WebCore::Node::dispatchEvent(WebCore::Event&amp;)
12  0x12a952b9e WebCore::ScopedEventQueue::dispatchEvent(WebCore::Event&amp;) const
13  0x12a952c25 WebCore::ScopedEventQueue::dispatchAllEvents()
14  0x12a952ddd WebCore::ScopedEventQueue::decrementScopingLevel()
15  0x12a7ba709 WebCore::EventQueueScope::~EventQueueScope()
16  0x12a782d15 WebCore::EventQueueScope::~EventQueueScope()
17  0x12a7a0daa WebCore::Document::execCommand(WTF::String const&amp;, bool, WTF::String const&amp;)
18  0x1288fc9e4 WebCore::jsDocumentPrototypeFunctionExecCommandBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSDocument*, JSC::ThrowScope&amp;)
19  0x128802d72 long long WebCore::IDLOperation&lt;WebCore::JSDocument&gt;::call&lt;&amp;(WebCore::jsDocumentPrototypeFunctionExecCommandBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSDocument*, JSC::ThrowScope&amp;)), (WebCore::CastedThisErrorBehavior)0&gt;(JSC::JSGlobalObject&amp;, JSC::CallFrame&amp;, char const*)
20  0x128802a54 WebCore::jsDocumentPrototypeFunctionExecCommand(JSC::JSGlobalObject*, JSC::CallFrame*)
21  0x4f297d401178
22  0x1107185b9 llint_entry
23  0x1106fb233 vmEntryToJavaScript
24  0x111484957 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
25  0x111483f34 JSC::Interpreter::executeProgram(JSC::SourceCode const&amp;, JSC::JSGlobalObject*, JSC::JSObject*)
26  0x1117ecc9c JSC::evaluate(JSC::JSGlobalObject*, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
27  0x1117ece48 JSC::profiledEvaluate(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
28  0x12a2d0018 WebCore::JSExecState::profiledEvaluate(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
29  0x12a2cfc67 WebCore::ScriptController::evaluateInWorld(WebCore::ScriptSourceCode const&amp;, WebCore::DOMWrapperWorld&amp;)
30  0x12a2cfab9 WebCore::ScriptController::evaluateInWorldIgnoringException(WebCore::ScriptSourceCode const&amp;, WebCore::DOMWrapperWorld&amp;)
31  0x12a2d02f5 WebCore::ScriptController::evaluateIgnoringException(WebCore::ScriptSourceCode const&amp;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636560</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-01 10:43:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/61164607&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636569</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-04-01 11:01:20 -0700</bug_when>
    <thetext>r259292</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654590</commentid>
    <comment_count>3</comment_count>
      <attachid>399876</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-05-20 12:51:24 -0700</bug_when>
    <thetext>Created attachment 399876
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654707</commentid>
    <comment_count>4</comment_count>
      <attachid>399876</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2020-05-20 16:18:54 -0700</bug_when>
    <thetext>Comment on attachment 399876
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        so that it keeps alive alive both the target and its JS wrapper.

double &quot;alive&quot;

&gt; Source/WebCore/dom/ScopedEventQueue.cpp:64
&gt; +    Vector&lt;ScopedEvent&gt; queuedEvents = WTFMove(m_queuedEvents);

Is there a difference between releasing wrapper after all events are dispatched and releasing wrapper after each event is dispatched?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654940</commentid>
    <comment_count>5</comment_count>
      <attachid>399959</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-05-21 09:09:48 -0700</bug_when>
    <thetext>Created attachment 399959
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654961</commentid>
    <comment_count>6</comment_count>
      <attachid>399959</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-21 09:47:34 -0700</bug_when>
    <thetext>Comment on attachment 399959
Patch

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

&gt; Source/WebCore/dom/ScopedEventQueue.cpp:50
&gt; +    ScopedEvent scopedEvent = { WTFMove(event), target };

3 ways to write this:

1: ScopedEvent scopedEvent { WTFMove(event), target };
2: ScopedEvent scopedEvent = { WTFMove(event), target };
3: auto scopedEvent = ScopedEvent { WTFMove(event), target };

Style (1) seems like the most &quot;normal&quot;. Antti convinced me to use style (3) in new WebKit code I am writing.

&gt; Source/WebCore/dom/ScopedEventQueue.cpp:64
&gt; +    Vector&lt;ScopedEvent&gt; queuedEvents = WTFMove(m_queuedEvents);

I suggest using auto here.

&gt; Source/WebCore/dom/ScopedEventQueue.h:59
&gt; +    void dispatchEvent(ScopedEvent&amp;) const;

Why does this take a reference? Is this an in/out in some way?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654964</commentid>
    <comment_count>7</comment_count>
      <attachid>399959</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-05-21 09:50:17 -0700</bug_when>
    <thetext>Comment on attachment 399959
Patch

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

&gt;&gt; Source/WebCore/dom/ScopedEventQueue.cpp:64
&gt;&gt; +    Vector&lt;ScopedEvent&gt; queuedEvents = WTFMove(m_queuedEvents);
&gt; 
&gt; I suggest using auto here.

Technically, based on your recent comments, it is supposed to use std::exchange() instead of WTFMove() too since m_queuedEvents is reused after that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654967</commentid>
    <comment_count>8</comment_count>
      <attachid>399959</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-21 09:52:46 -0700</bug_when>
    <thetext>Comment on attachment 399959
Patch

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

&gt;&gt;&gt; Source/WebCore/dom/ScopedEventQueue.cpp:64
&gt;&gt;&gt; +    Vector&lt;ScopedEvent&gt; queuedEvents = WTFMove(m_queuedEvents);
&gt;&gt; 
&gt;&gt; I suggest using auto here.
&gt; 
&gt; Technically, based on your recent comments, it is supposed to use std::exchange() instead of WTFMove() too since m_queuedEvents is reused after that.

Good point!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654971</commentid>
    <comment_count>9</comment_count>
      <attachid>399961</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-05-21 10:04:16 -0700</bug_when>
    <thetext>Created attachment 399961
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655003</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-21 11:03:41 -0700</bug_when>
    <thetext>Committed r262016: &lt;https://trac.webkit.org/changeset/262016&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399961.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399876</attachid>
            <date>2020-05-20 12:51:24 -0700</date>
            <delta_ts>2020-05-21 09:09:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209862-20200520125123.patch</filename>
            <type>text/plain</type>
            <size>3421</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxOTM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzI4NDM3MmVjOGZjYjU2
YTM2YjdmNzBhYTQ3ZGRjMTk4ZGVkOTI4OC4uOGVjZjg1YTE1N2E4N2JmZDljNjQxZDU2ZGVhMzEw
YjRjNGE0MGJlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA1LTIwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDog
bV93cmFwcGVyIG9uIGZhc3QvZXZlbnRzL3Njb3BlZC9lZGl0aW5nLWNvbW1hbmRzLmh0bWwKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTg2MgorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNjExNjQ2MDc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBzdXJlIFNjb3BlZEV2ZW50UXVldWUga2VlcHMg
aXRzIGV2ZW50IHRhcmdldHMgYWxpdmUgdXNpbmcgYSBHQ1JlYWNoYWJsZVJlZjxOb2RlPgorICAg
ICAgICBzbyB0aGF0IGl0IGtlZXBzIGFsaXZlIGFsaXZlIGJvdGggdGhlIHRhcmdldCBhbmQgaXRz
IEpTIHdyYXBwZXIuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5IGV4aXN0aW5n
IHRlc3QuCisKKyAgICAgICAgKiBkb20vU2NvcGVkRXZlbnRRdWV1ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY29wZWRFdmVudFF1ZXVlOjplbnF1ZXVlRXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6U2NvcGVkRXZlbnRRdWV1ZTo6ZGlzcGF0Y2hFdmVudCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpTY29wZWRFdmVudFF1ZXVlOjpkaXNwYXRjaEFsbEV2ZW50cyk6CisgICAgICAgICogZG9t
L1Njb3BlZEV2ZW50UXVldWUuaDoKKwogMjAyMC0wNS0yMCAgQ2hhbmdTZW9rIE9oICA8Y2hhbmdz
ZW9rQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTW92ZSB0aGUgVGV4dFN0cmVhbSBsb2dnaW5nIGRl
ZmluaXRpb24gaW4gVmlzaWJsZVNlbGVjdGlvbi5jcHAgdG8gdGhlIG91dHNpZGUgb2YgdGhlIFRS
RUVfREVCVUdHSU5HIGd1YXJkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NvcGVk
RXZlbnRRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NvcGVkRXZlbnRRdWV1ZS5jcHAK
aW5kZXggN2E4MzFmMDFmM2JjZWY5OTk4NGM2YWUzMWZmYWE1Y2IyM2VjOGJjZC4uOTI0OTMyZTg3
ZTBkMGM0ZTFlNmUyZDUwODhkMzZlY2U4Y2E5NDFiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL1Njb3BlZEV2ZW50UXVldWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY29w
ZWRFdmVudFF1ZXVlLmNwcApAQCAtNDYsMjAgKzQ2LDIyIEBAIFNjb3BlZEV2ZW50UXVldWUmIFNj
b3BlZEV2ZW50UXVldWU6OnNpbmdsZXRvbigpCiB2b2lkIFNjb3BlZEV2ZW50UXVldWU6OmVucXVl
dWVFdmVudChSZWY8RXZlbnQ+JiYgZXZlbnQpCiB7CiAgICAgQVNTRVJUKGlzPE5vZGU+KGV2ZW50
LT50YXJnZXQoKSkpOworICAgIGF1dG8mIHRhcmdldCA9IGRvd25jYXN0PE5vZGU+KCpldmVudC0+
dGFyZ2V0KCkpOworICAgIFNjb3BlZEV2ZW50IHNjb3BlZEV2ZW50ID0geyBXVEZNb3ZlKGV2ZW50
KSwgdGFyZ2V0IH07CiAgICAgaWYgKG1fc2NvcGluZ0xldmVsKQotICAgICAgICBtX3F1ZXVlZEV2
ZW50cy5hcHBlbmQoV1RGTW92ZShldmVudCkpOworICAgICAgICBtX3F1ZXVlZEV2ZW50cy5hcHBl
bmQoV1RGTW92ZShzY29wZWRFdmVudCkpOwogICAgIGVsc2UKLSAgICAgICAgZGlzcGF0Y2hFdmVu
dChldmVudCk7CisgICAgICAgIGRpc3BhdGNoRXZlbnQoc2NvcGVkRXZlbnQpOwogfQogCi12b2lk
IFNjb3BlZEV2ZW50UXVldWU6OmRpc3BhdGNoRXZlbnQoRXZlbnQmIGV2ZW50KSBjb25zdAordm9p
ZCBTY29wZWRFdmVudFF1ZXVlOjpkaXNwYXRjaEV2ZW50KFNjb3BlZEV2ZW50JiBldmVudCkgY29u
c3QKIHsKLSAgICBkb3duY2FzdDxOb2RlPigqZXZlbnQudGFyZ2V0KCkpLmRpc3BhdGNoRXZlbnQo
ZXZlbnQpOworICAgIGV2ZW50LnRhcmdldC0+ZGlzcGF0Y2hFdmVudChldmVudC5ldmVudCk7CiB9
CiAKIHZvaWQgU2NvcGVkRXZlbnRRdWV1ZTo6ZGlzcGF0Y2hBbGxFdmVudHMoKQogewotICAgIFZl
Y3RvcjxSZWY8RXZlbnQ+PiBxdWV1ZWRFdmVudHMgPSBXVEZNb3ZlKG1fcXVldWVkRXZlbnRzKTsK
KyAgICBWZWN0b3I8U2NvcGVkRXZlbnQ+IHF1ZXVlZEV2ZW50cyA9IFdURk1vdmUobV9xdWV1ZWRF
dmVudHMpOwogICAgIGZvciAoYXV0byYgcXVldWVkRXZlbnQgOiBxdWV1ZWRFdmVudHMpCiAgICAg
ICAgIGRpc3BhdGNoRXZlbnQocXVldWVkRXZlbnQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1Njb3BlZEV2ZW50UXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY29wZWRF
dmVudFF1ZXVlLmgKaW5kZXggM2FiODk5MjhlMmQ0NTk4NDQzMDMzMTYxYWEzNWRkODBjYjE3Y2Zi
Yi4uNDFkYzU3MWIwY2I2ODQ0YTVkZDNmNTNlNTM2OWU4ZTJlNzJkN2RlYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL1Njb3BlZEV2ZW50UXVldWUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NvcGVkRXZlbnRRdWV1ZS5oCkBAIC0zMCw2ICszMCw3IEBACiAKICNwcmFnbWEgb25j
ZQogCisjaW5jbHVkZSAiR0NSZWFjaGFibGVSZWYuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KQEAg
LTUwLDEyICs1MSwxNyBAQCBwcml2YXRlOgogICAgIFNjb3BlZEV2ZW50UXVldWUoKSA9IGRlZmF1
bHQ7CiAgICAgflNjb3BlZEV2ZW50UXVldWUoKSA9IGRlbGV0ZTsKIAotICAgIHZvaWQgZGlzcGF0
Y2hFdmVudChFdmVudCYpIGNvbnN0OworICAgIHN0cnVjdCBTY29wZWRFdmVudCB7CisgICAgICAg
IFJlZjxFdmVudD4gZXZlbnQ7CisgICAgICAgIEdDUmVhY2hhYmxlUmVmPE5vZGU+IHRhcmdldDsK
KyAgICB9OworCisgICAgdm9pZCBkaXNwYXRjaEV2ZW50KFNjb3BlZEV2ZW50JikgY29uc3Q7CiAg
ICAgdm9pZCBkaXNwYXRjaEFsbEV2ZW50cygpOwogICAgIHZvaWQgaW5jcmVtZW50U2NvcGluZ0xl
dmVsKCk7CiAgICAgdm9pZCBkZWNyZW1lbnRTY29waW5nTGV2ZWwoKTsKIAotICAgIFZlY3RvcjxS
ZWY8RXZlbnQ+PiBtX3F1ZXVlZEV2ZW50czsKKyAgICBWZWN0b3I8U2NvcGVkRXZlbnQ+IG1fcXVl
dWVkRXZlbnRzOwogICAgIHVuc2lnbmVkIG1fc2NvcGluZ0xldmVsIHsgMCB9OwogCiAgICAgZnJp
ZW5kIGNsYXNzIFdURjo6TmV2ZXJEZXN0cm95ZWQ8V2ViQ29yZTo6U2NvcGVkRXZlbnRRdWV1ZT47
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399959</attachid>
            <date>2020-05-21 09:09:48 -0700</date>
            <delta_ts>2020-05-21 10:04:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209862-20200521090947.patch</filename>
            <type>text/plain</type>
            <size>3348</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMDA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzg0NGI4OWY3MWU3OGYx
MjA5ZGMxYzgzMmNmYzIxMmQxZDkzNzI0Yi4uYzEwMDVlMTFjYzJjNTNiNmEwNzMwN2Y1N2UwOGY5
NTFhYTJlOGUwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA1LTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDog
bV93cmFwcGVyIG9uIGZhc3QvZXZlbnRzL3Njb3BlZC9lZGl0aW5nLWNvbW1hbmRzLmh0bWwKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTg2MgorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNjExNjQ2MDc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBzdXJlIFNjb3BlZEV2ZW50UXVldWUga2VlcHMg
aXRzIGV2ZW50IHRhcmdldHMgYWxpdmUgdXNpbmcgYSBHQ1JlYWNoYWJsZVJlZjxOb2RlPgorICAg
ICAgICBzbyB0aGF0IGl0IGtlZXBzIGFsaXZlIGJvdGggdGhlIHRhcmdldCBhbmQgaXRzIEpTIHdy
YXBwZXIuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3Qu
CisKKyAgICAgICAgKiBkb20vU2NvcGVkRXZlbnRRdWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY29wZWRFdmVudFF1ZXVlOjplbnF1ZXVlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nv
cGVkRXZlbnRRdWV1ZTo6ZGlzcGF0Y2hFdmVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpT
Y29wZWRFdmVudFF1ZXVlOjpkaXNwYXRjaEFsbEV2ZW50cyk6CisgICAgICAgICogZG9tL1Njb3Bl
ZEV2ZW50UXVldWUuaDoKKwogMjAyMC0wNS0yMSAgRG91ZyBLZWxseSAgPGRvdWdrQGFwcGxlLmNv
bT4KIAogICAgICAgICBEaXNwYXRjaCBwZW5kaW5nIGV2ZW50cyBvbmx5IGZvciBjdXJyZW50IHBh
Z2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY29wZWRFdmVudFF1ZXVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9TY29wZWRFdmVudFF1ZXVlLmNwcAppbmRleCA3YTgzMWYwMWYz
YmNlZjk5OTg0YzZhZTMxZmZhYTVjYjIzZWM4YmNkLi45MjQ5MzJlODdlMGQwYzRlMWU2ZTJkNTA4
OGQzNmVjZThjYTk0MWI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NvcGVkRXZl
bnRRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Njb3BlZEV2ZW50UXVldWUuY3Bw
CkBAIC00NiwyMCArNDYsMjIgQEAgU2NvcGVkRXZlbnRRdWV1ZSYgU2NvcGVkRXZlbnRRdWV1ZTo6
c2luZ2xldG9uKCkKIHZvaWQgU2NvcGVkRXZlbnRRdWV1ZTo6ZW5xdWV1ZUV2ZW50KFJlZjxFdmVu
dD4mJiBldmVudCkKIHsKICAgICBBU1NFUlQoaXM8Tm9kZT4oZXZlbnQtPnRhcmdldCgpKSk7Cisg
ICAgYXV0byYgdGFyZ2V0ID0gZG93bmNhc3Q8Tm9kZT4oKmV2ZW50LT50YXJnZXQoKSk7CisgICAg
U2NvcGVkRXZlbnQgc2NvcGVkRXZlbnQgPSB7IFdURk1vdmUoZXZlbnQpLCB0YXJnZXQgfTsKICAg
ICBpZiAobV9zY29waW5nTGV2ZWwpCi0gICAgICAgIG1fcXVldWVkRXZlbnRzLmFwcGVuZChXVEZN
b3ZlKGV2ZW50KSk7CisgICAgICAgIG1fcXVldWVkRXZlbnRzLmFwcGVuZChXVEZNb3ZlKHNjb3Bl
ZEV2ZW50KSk7CiAgICAgZWxzZQotICAgICAgICBkaXNwYXRjaEV2ZW50KGV2ZW50KTsKKyAgICAg
ICAgZGlzcGF0Y2hFdmVudChzY29wZWRFdmVudCk7CiB9CiAKLXZvaWQgU2NvcGVkRXZlbnRRdWV1
ZTo6ZGlzcGF0Y2hFdmVudChFdmVudCYgZXZlbnQpIGNvbnN0Cit2b2lkIFNjb3BlZEV2ZW50UXVl
dWU6OmRpc3BhdGNoRXZlbnQoU2NvcGVkRXZlbnQmIGV2ZW50KSBjb25zdAogewotICAgIGRvd25j
YXN0PE5vZGU+KCpldmVudC50YXJnZXQoKSkuZGlzcGF0Y2hFdmVudChldmVudCk7CisgICAgZXZl
bnQudGFyZ2V0LT5kaXNwYXRjaEV2ZW50KGV2ZW50LmV2ZW50KTsKIH0KIAogdm9pZCBTY29wZWRF
dmVudFF1ZXVlOjpkaXNwYXRjaEFsbEV2ZW50cygpCiB7Ci0gICAgVmVjdG9yPFJlZjxFdmVudD4+
IHF1ZXVlZEV2ZW50cyA9IFdURk1vdmUobV9xdWV1ZWRFdmVudHMpOworICAgIFZlY3RvcjxTY29w
ZWRFdmVudD4gcXVldWVkRXZlbnRzID0gV1RGTW92ZShtX3F1ZXVlZEV2ZW50cyk7CiAgICAgZm9y
IChhdXRvJiBxdWV1ZWRFdmVudCA6IHF1ZXVlZEV2ZW50cykKICAgICAgICAgZGlzcGF0Y2hFdmVu
dChxdWV1ZWRFdmVudCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NvcGVk
RXZlbnRRdWV1ZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Njb3BlZEV2ZW50UXVldWUuaAppbmRl
eCAzYWI4OTkyOGUyZDQ1OTg0NDMwMzMxNjFhYTM1ZGQ4MGNiMTdjZmJiLi40MWRjNTcxYjBjYjY4
NDRhNWRkM2Y1M2U1MzY5ZThlMmU3MmQ3ZGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NvcGVkRXZlbnRRdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY29wZWRFdmVu
dFF1ZXVlLmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJH
Q1JlYWNoYWJsZVJlZi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgpAQCAtNTAsMTIgKzUxLDE3IEBA
IHByaXZhdGU6CiAgICAgU2NvcGVkRXZlbnRRdWV1ZSgpID0gZGVmYXVsdDsKICAgICB+U2NvcGVk
RXZlbnRRdWV1ZSgpID0gZGVsZXRlOwogCi0gICAgdm9pZCBkaXNwYXRjaEV2ZW50KEV2ZW50Jikg
Y29uc3Q7CisgICAgc3RydWN0IFNjb3BlZEV2ZW50IHsKKyAgICAgICAgUmVmPEV2ZW50PiBldmVu
dDsKKyAgICAgICAgR0NSZWFjaGFibGVSZWY8Tm9kZT4gdGFyZ2V0OworICAgIH07CisKKyAgICB2
b2lkIGRpc3BhdGNoRXZlbnQoU2NvcGVkRXZlbnQmKSBjb25zdDsKICAgICB2b2lkIGRpc3BhdGNo
QWxsRXZlbnRzKCk7CiAgICAgdm9pZCBpbmNyZW1lbnRTY29waW5nTGV2ZWwoKTsKICAgICB2b2lk
IGRlY3JlbWVudFNjb3BpbmdMZXZlbCgpOwogCi0gICAgVmVjdG9yPFJlZjxFdmVudD4+IG1fcXVl
dWVkRXZlbnRzOworICAgIFZlY3RvcjxTY29wZWRFdmVudD4gbV9xdWV1ZWRFdmVudHM7CiAgICAg
dW5zaWduZWQgbV9zY29waW5nTGV2ZWwgeyAwIH07CiAKICAgICBmcmllbmQgY2xhc3MgV1RGOjpO
ZXZlckRlc3Ryb3llZDxXZWJDb3JlOjpTY29wZWRFdmVudFF1ZXVlPjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399961</attachid>
            <date>2020-05-21 10:04:16 -0700</date>
            <delta_ts>2020-05-21 11:03:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209862-20200521100415.patch</filename>
            <type>text/plain</type>
            <size>3353</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzg0NGI4OWY3MWU3OGYx
MjA5ZGMxYzgzMmNmYzIxMmQxZDkzNzI0Yi4uYmI0ZDhkYWIyNDljYjE3NDdiMmI3MDM5M2RhM2I0
NmZiNDY3MmQ4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA1LTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQVNTRVJUSU9OIEZBSUxFRDog
bV93cmFwcGVyIG9uIGZhc3QvZXZlbnRzL3Njb3BlZC9lZGl0aW5nLWNvbW1hbmRzLmh0bWwKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTg2MgorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNjExNjQ2MDc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4gQWRsZXIuCisKKyAgICAgICAgTWFrZSBzdXJlIFNjb3BlZEV2ZW50UXVldWUga2VlcHMgaXRz
IGV2ZW50IHRhcmdldHMgYWxpdmUgdXNpbmcgYSBHQ1JlYWNoYWJsZVJlZjxOb2RlPgorICAgICAg
ICBzbyB0aGF0IGl0IGtlZXBzIGFsaXZlIGJvdGggdGhlIHRhcmdldCBhbmQgaXRzIEpTIHdyYXBw
ZXIuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3QuCisK
KyAgICAgICAgKiBkb20vU2NvcGVkRXZlbnRRdWV1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
Y29wZWRFdmVudFF1ZXVlOjplbnF1ZXVlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6U2NvcGVk
RXZlbnRRdWV1ZTo6ZGlzcGF0Y2hFdmVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTY29w
ZWRFdmVudFF1ZXVlOjpkaXNwYXRjaEFsbEV2ZW50cyk6CisgICAgICAgICogZG9tL1Njb3BlZEV2
ZW50UXVldWUuaDoKKwogMjAyMC0wNS0yMSAgRG91ZyBLZWxseSAgPGRvdWdrQGFwcGxlLmNvbT4K
IAogICAgICAgICBEaXNwYXRjaCBwZW5kaW5nIGV2ZW50cyBvbmx5IGZvciBjdXJyZW50IHBhZ2UK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY29wZWRFdmVudFF1ZXVlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY29wZWRFdmVudFF1ZXVlLmNwcAppbmRleCA3YTgzMWYwMWYzYmNl
Zjk5OTg0YzZhZTMxZmZhYTVjYjIzZWM4YmNkLi43YmI5YjAxN2JmZDZlNjI2NGY0M2FhNGM3MTI3
MDM1ZmJmOTlhMjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NvcGVkRXZlbnRR
dWV1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Njb3BlZEV2ZW50UXVldWUuY3BwCkBA
IC00NiwyMCArNDYsMjIgQEAgU2NvcGVkRXZlbnRRdWV1ZSYgU2NvcGVkRXZlbnRRdWV1ZTo6c2lu
Z2xldG9uKCkKIHZvaWQgU2NvcGVkRXZlbnRRdWV1ZTo6ZW5xdWV1ZUV2ZW50KFJlZjxFdmVudD4m
JiBldmVudCkKIHsKICAgICBBU1NFUlQoaXM8Tm9kZT4oZXZlbnQtPnRhcmdldCgpKSk7CisgICAg
YXV0byYgdGFyZ2V0ID0gZG93bmNhc3Q8Tm9kZT4oKmV2ZW50LT50YXJnZXQoKSk7CisgICAgU2Nv
cGVkRXZlbnQgc2NvcGVkRXZlbnQgPSB7IFdURk1vdmUoZXZlbnQpLCB0YXJnZXQgfTsKICAgICBp
ZiAobV9zY29waW5nTGV2ZWwpCi0gICAgICAgIG1fcXVldWVkRXZlbnRzLmFwcGVuZChXVEZNb3Zl
KGV2ZW50KSk7CisgICAgICAgIG1fcXVldWVkRXZlbnRzLmFwcGVuZChXVEZNb3ZlKHNjb3BlZEV2
ZW50KSk7CiAgICAgZWxzZQotICAgICAgICBkaXNwYXRjaEV2ZW50KGV2ZW50KTsKKyAgICAgICAg
ZGlzcGF0Y2hFdmVudChzY29wZWRFdmVudCk7CiB9CiAKLXZvaWQgU2NvcGVkRXZlbnRRdWV1ZTo6
ZGlzcGF0Y2hFdmVudChFdmVudCYgZXZlbnQpIGNvbnN0Cit2b2lkIFNjb3BlZEV2ZW50UXVldWU6
OmRpc3BhdGNoRXZlbnQoY29uc3QgU2NvcGVkRXZlbnQmIGV2ZW50KSBjb25zdAogewotICAgIGRv
d25jYXN0PE5vZGU+KCpldmVudC50YXJnZXQoKSkuZGlzcGF0Y2hFdmVudChldmVudCk7CisgICAg
ZXZlbnQudGFyZ2V0LT5kaXNwYXRjaEV2ZW50KGV2ZW50LmV2ZW50KTsKIH0KIAogdm9pZCBTY29w
ZWRFdmVudFF1ZXVlOjpkaXNwYXRjaEFsbEV2ZW50cygpCiB7Ci0gICAgVmVjdG9yPFJlZjxFdmVu
dD4+IHF1ZXVlZEV2ZW50cyA9IFdURk1vdmUobV9xdWV1ZWRFdmVudHMpOworICAgIGF1dG8gcXVl
dWVkRXZlbnRzID0gc3RkOjpleGNoYW5nZShtX3F1ZXVlZEV2ZW50cywgeyB9KTsKICAgICBmb3Ig
KGF1dG8mIHF1ZXVlZEV2ZW50IDogcXVldWVkRXZlbnRzKQogICAgICAgICBkaXNwYXRjaEV2ZW50
KHF1ZXVlZEV2ZW50KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY29wZWRF
dmVudFF1ZXVlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NvcGVkRXZlbnRRdWV1ZS5oCmluZGV4
IDNhYjg5OTI4ZTJkNDU5ODQ0MzAzMzE2MWFhMzVkZDgwY2IxN2NmYmIuLmZmMjZlNmUwMzU0OWNj
NGM5MmFiYzQ1MGYzNmYxMGE1YWE1ZmJjNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY29wZWRFdmVudFF1ZXVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Njb3BlZEV2ZW50
UXVldWUuaApAQCAtMzAsNiArMzAsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkdD
UmVhY2hhYmxlUmVmLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CkBAIC01MCwxMiArNTEsMTcgQEAg
cHJpdmF0ZToKICAgICBTY29wZWRFdmVudFF1ZXVlKCkgPSBkZWZhdWx0OwogICAgIH5TY29wZWRF
dmVudFF1ZXVlKCkgPSBkZWxldGU7CiAKLSAgICB2b2lkIGRpc3BhdGNoRXZlbnQoRXZlbnQmKSBj
b25zdDsKKyAgICBzdHJ1Y3QgU2NvcGVkRXZlbnQgeworICAgICAgICBSZWY8RXZlbnQ+IGV2ZW50
OworICAgICAgICBHQ1JlYWNoYWJsZVJlZjxOb2RlPiB0YXJnZXQ7CisgICAgfTsKKworICAgIHZv
aWQgZGlzcGF0Y2hFdmVudChjb25zdCBTY29wZWRFdmVudCYpIGNvbnN0OwogICAgIHZvaWQgZGlz
cGF0Y2hBbGxFdmVudHMoKTsKICAgICB2b2lkIGluY3JlbWVudFNjb3BpbmdMZXZlbCgpOwogICAg
IHZvaWQgZGVjcmVtZW50U2NvcGluZ0xldmVsKCk7CiAKLSAgICBWZWN0b3I8UmVmPEV2ZW50Pj4g
bV9xdWV1ZWRFdmVudHM7CisgICAgVmVjdG9yPFNjb3BlZEV2ZW50PiBtX3F1ZXVlZEV2ZW50czsK
ICAgICB1bnNpZ25lZCBtX3Njb3BpbmdMZXZlbCB7IDAgfTsKIAogICAgIGZyaWVuZCBjbGFzcyBX
VEY6Ok5ldmVyRGVzdHJveWVkPFdlYkNvcmU6OlNjb3BlZEV2ZW50UXVldWU+Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>