<?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>196898</bug_id>
          
          <creation_ts>2019-04-13 10:24:22 -0700</creation_ts>
          <short_desc>TestRunner::notifyDone() should be safely reentrant</short_desc>
          <delta_ts>2019-04-17 10:30:34 -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>Tools / Tests</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=177484</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="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>jbedard</cc>
    
    <cc>lforschler</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1527056</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-04-13 10:24:22 -0700</bug_when>
    <thetext>It is currently possible that TestRunner::notifyDone() will call itself, since notifyDone() will force a repaint, which can start executing JavaScript, which may call notifyDone() again. This can lead to test failures and flakiness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527060</commentid>
    <comment_count>1</comment_count>
      <attachid>367389</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-04-13 12:22:43 -0700</bug_when>
    <thetext>Created attachment 367389
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527162</commentid>
    <comment_count>2</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-04-15 05:59:41 -0700</bug_when>
    <thetext>Any reason we aren&apos;t adding this to Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp too?
It also seems like forceImmediateCompletion() would have the same problem.

I need to look through how m_waitToDump is used, but I&apos;m hesitant to say setting it before dump() is Ok. I think the reentrant point is valid, but I&apos;m not convinced that silently making it work is the right approach, seems like doing this should cause an assertion error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527163</commentid>
    <comment_count>3</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-04-15 06:02:58 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #2)
&gt; ... like doing this should cause an assertion error.

Or something to that effect...I suppose we would want to surface this error in Release builds too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527239</commentid>
    <comment_count>4</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-04-15 10:44:58 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #2)
&gt; Any reason we aren&apos;t adding this to
&gt; Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp too?

I haven&apos;t observed this issue for modern WebKit, but it is currently happening on Win EWS causing flakiness and many failures on every run.

&gt; It also seems like forceImmediateCompletion() would have the same problem.
&gt; 

Good point! I&apos;ll make the same change in this method.

&gt; I need to look through how m_waitToDump is used, but I&apos;m hesitant to say
&gt; setting it before dump() is Ok. I think the reentrant point is valid, but
&gt; I&apos;m not convinced that silently making it work is the right approach, seems
&gt; like doing this should cause an assertion error.

Since it is currently happening on every Win EWS run, we might not be able to assert, since the tests would fail then. Maybe we can print a message to stdout?

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527243</commentid>
    <comment_count>5</comment_count>
      <attachid>367425</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-04-15 10:49:43 -0700</bug_when>
    <thetext>Created attachment 367425
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527250</commentid>
    <comment_count>6</comment_count>
      <attachid>367427</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-04-15 10:57:36 -0700</bug_when>
    <thetext>Created attachment 367427
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527255</commentid>
    <comment_count>7</comment_count>
      <attachid>367427</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-04-15 11:01:15 -0700</bug_when>
    <thetext>Comment on attachment 367427
Patch

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

&gt; Tools/ChangeLog:3
&gt; +        TestRunner::notifyDone() should not be reentrant

The terminology here is incorrect. If the function is called in a reentrant fashion then it *is* reentrant. What this code change does it make it safe to call it in a reentrant fashion. So the title should be &quot;TestRunner::notifyDone() should be safely reentrant&quot; or something like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527259</commentid>
    <comment_count>8</comment_count>
      <attachid>367427</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-04-15 11:03:50 -0700</bug_when>
    <thetext>Comment on attachment 367427
Patch

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

Guess it’s OK. Lets give it a try.

&gt; Tools/DumpRenderTree/mac/TestRunnerMac.mm:301
&gt; +        fprintf(stderr, &quot;TestRunner::notifyDone() called unexpectedly.&quot;);

So I guess it’s OK to do this since it won’t make tests fail? But it will fill our test results with &quot;stderr output&quot;; if a reentrant call is *not* actually unexpected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527268</commentid>
    <comment_count>9</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-04-15 11:15:20 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #8)
&gt; Comment on attachment 367427 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=367427&amp;action=review
&gt; 
&gt; Guess it’s OK. Lets give it a try.
&gt; 
&gt; &gt; Tools/DumpRenderTree/mac/TestRunnerMac.mm:301
&gt; &gt; +        fprintf(stderr, &quot;TestRunner::notifyDone() called unexpectedly.&quot;);
&gt; 
&gt; So I guess it’s OK to do this since it won’t make tests fail? But it will
&gt; fill our test results with &quot;stderr output&quot;; if a reentrant call is *not*
&gt; actually unexpected.

There are only a few tests which makes this happen. The big problem is that they make every subsequent test fail, since the output will be dumped twice, shifting the output of every following test by one.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527275</commentid>
    <comment_count>10</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2019-04-15 11:31:04 -0700</bug_when>
    <thetext>Committed r244273: &lt;https://trac.webkit.org/changeset/244273/webkit&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527276</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-04-15 11:31:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/49910600&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1527405</commentid>
    <comment_count>12</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-04-15 14:30:06 -0700</bug_when>
    <thetext>(In reply to Jonathan Bedard from comment #2)
&gt; ... I need to look through how m_waitToDump is used, but I&apos;m hesitant to say
&gt; setting it before dump() is Ok.

Looking through the code, we probably always should have set m_waitToDump before dumping.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367389</attachid>
            <date>2019-04-13 12:22:43 -0700</date>
            <delta_ts>2019-04-15 10:49:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196898-20190413122242.patch</filename>
            <type>text/plain</type>
            <size>2504</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI0NDI0MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIxIEBACisyMDE5LTA0LTEzICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBUZXN0UnVubmVyOjpub3RpZnlEb25lKCkgc2hvdWxkIG5vdCBiZSByZWVu
dHJhbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
Njg5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEl0
IGlzIGN1cnJlbnRseSBwb3NzaWJsZSB0aGF0IFRlc3RSdW5uZXI6Om5vdGlmeURvbmUoKSB3aWxs
IGNhbGwgaXRzZWxmLCBzaW5jZQorICAgICAgICBub3RpZnlEb25lKCkgd2lsbCBmb3JjZSBhIHJl
cGFpbnQsIHdoaWNoIGNhbiBzdGFydCBleGVjdXRpbmcgSmF2YVNjcmlwdCwgd2hpY2gKKyAgICAg
ICAgbWF5IGNhbGwgbm90aWZ5RG9uZSgpIGFnYWluLiBUaGlzIGNhbiBsZWFkIHRvIHRlc3QgZmFp
bHVyZXMgYW5kIGZsYWtpbmVzcy4KKyAgICAgICAgRml4IHRoaXMgYnkgc2V0dGluZyB0aGUgbV93
YWl0VG9EdW1wIGZsYWcgYmVmb3JlIGNhbGxpbmcgdGhlIGR1bXAoKSBtZXRob2QuCisKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbToKKyAgICAgICAgKFRlc3RS
dW5uZXI6Om5vdGlmeURvbmUpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9UZXN0UnVu
bmVyV2luLmNwcDoKKyAgICAgICAgKFRlc3RSdW5uZXI6Om5vdGlmeURvbmUpOgorICAgICAgICAq
IEVXU1Rvb2xzL2R1bXByZW5kZXJ0cmVld2F0Y2hkb2cucHk6IFJlcGxhY2VkLgorCiAyMDE5LTA0
LTEzICBUYWRldSBaYWdhbGxvICA8dHphZ2FsbG9AYXBwbGUuY29tPgogCiAgICAgICAgIENvZGVD
YWNoZSBzaG91bGQgY2hlY2sgdGhhdCB0aGUgVW5saW5rZWRDb2RlQmxvY2sgd2FzIHN1Y2Nlc3Nm
dWxseSBjcmVhdGVkIGJlZm9yZSBjYWNoaW5nIGl0CkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQkocmV2aXNpb24gMjQ0MjMwKQorKysgVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTI5Myw5ICsy
OTMsMTEgQEAgc2l6ZV90IFRlc3RSdW5uZXI6OndlYkhpc3RvcnlJdGVtQ291bnQoKQogCiB2b2lk
IFRlc3RSdW5uZXI6Om5vdGlmeURvbmUoKQogewotICAgIGlmIChtX3dhaXRUb0R1bXAgJiYgIXRv
cExvYWRpbmdGcmFtZSAmJiAhRFJUOjpXb3JrUXVldWU6OnNpbmdsZXRvbigpLmNvdW50KCkpCi0g
ICAgICAgIGR1bXAoKTsKLSAgICBtX3dhaXRUb0R1bXAgPSBmYWxzZTsKKyAgICBpZiAobV93YWl0
VG9EdW1wKSB7CisgICAgICAgIG1fd2FpdFRvRHVtcCA9IGZhbHNlOworICAgICAgICBpZiAoIXRv
cExvYWRpbmdGcmFtZSAmJiAhRFJUOjpXb3JrUXVldWU6OnNpbmdsZXRvbigpLmNvdW50KCkpCisg
ICAgICAgICAgICBkdW1wKCk7CisgICAgfQogfQogCiB2b2lkIFRlc3RSdW5uZXI6OmZvcmNlSW1t
ZWRpYXRlQ29tcGxldGlvbigpCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vVGVzdFJ1
bm5lcldpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1Rlc3RS
dW5uZXJXaW4uY3BwCShyZXZpc2lvbiAyNDQyMzApCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS93
aW4vVGVzdFJ1bm5lcldpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwNCw5ICszMDQsMTEgQEAg
c2l6ZV90IFRlc3RSdW5uZXI6OndlYkhpc3RvcnlJdGVtQ291bnQoKQogdm9pZCBUZXN0UnVubmVy
Ojpub3RpZnlEb25lKCkKIHsKICAgICAvLyBTYW1lIGFzIG9uIG1hYy4gIFRoaXMgY2FuIGJlIHNo
YXJlZC4KLSAgICBpZiAobV93YWl0VG9EdW1wICYmICF0b3BMb2FkaW5nRnJhbWUgJiYgIURSVDo6
V29ya1F1ZXVlOjpzaW5nbGV0b24oKS5jb3VudCgpKQotICAgICAgICBkdW1wKCk7Ci0gICAgbV93
YWl0VG9EdW1wID0gZmFsc2U7CisgICAgaWYgKG1fd2FpdFRvRHVtcCkgeworICAgICAgICBtX3dh
aXRUb0R1bXAgPSBmYWxzZTsKKyAgICAgICAgaWYgKCF0b3BMb2FkaW5nRnJhbWUgJiYgIURSVDo6
V29ya1F1ZXVlOjpzaW5nbGV0b24oKS5jb3VudCgpKQorICAgICAgICAgICAgZHVtcCgpOworICAg
IH0KIH0KIAogdm9pZCBUZXN0UnVubmVyOjpmb3JjZUltbWVkaWF0ZUNvbXBsZXRpb24oKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367425</attachid>
            <date>2019-04-15 10:49:43 -0700</date>
            <delta_ts>2019-04-15 10:57:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196898-20190415104943.patch</filename>
            <type>text/plain</type>
            <size>3597</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI0NDI3MikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIyIEBACisyMDE5LTA0LTE1ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBUZXN0UnVubmVyOjpub3RpZnlEb25lKCkgc2hvdWxkIG5vdCBiZSByZWVu
dHJhbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
Njg5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEl0
IGlzIGN1cnJlbnRseSBwb3NzaWJsZSB0aGF0IFRlc3RSdW5uZXI6Om5vdGlmeURvbmUoKSB3aWxs
IGNhbGwgaXRzZWxmLCBzaW5jZQorICAgICAgICBub3RpZnlEb25lKCkgd2lsbCBmb3JjZSBhIHJl
cGFpbnQsIHdoaWNoIGNhbiBzdGFydCBleGVjdXRpbmcgSmF2YVNjcmlwdCwgd2hpY2gKKyAgICAg
ICAgbWF5IGNhbGwgbm90aWZ5RG9uZSgpIGFnYWluLiBUaGlzIGNhbiBsZWFkIHRvIHRlc3QgZmFp
bHVyZXMgYW5kIGZsYWtpbmVzcy4KKyAgICAgICAgRml4IHRoaXMgYnkgc2V0dGluZyB0aGUgbV93
YWl0VG9EdW1wIGZsYWcgYmVmb3JlIGNhbGxpbmcgdGhlIGR1bXAoKSBtZXRob2QuCisKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbToKKyAgICAgICAgKFRlc3RS
dW5uZXI6Om5vdGlmeURvbmUpOgorICAgICAgICAoVGVzdFJ1bm5lcjo6Zm9yY2VJbW1lZGlhdGVD
b21wbGV0aW9uKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vVGVzdFJ1bm5lcldpbi5j
cHA6CisgICAgICAgIChUZXN0UnVubmVyOjpub3RpZnlEb25lKToKKyAgICAgICAgKFRlc3RSdW5u
ZXI6OmZvcmNlSW1tZWRpYXRlQ29tcGxldGlvbik6CisKIDIwMTktMDQtMTUgIFBoaWxpcHBlIE5v
cm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWRkIGVu
YWJsZS1tZWRpYSB3ZWJzZXR0aW5nCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVz
dFJ1bm5lck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVz
dFJ1bm5lck1hYy5tbQkocmV2aXNpb24gMjQ0MjY2KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL1Rlc3RSdW5uZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTI5MywxNiArMjkzLDI2IEBA
IHNpemVfdCBUZXN0UnVubmVyOjp3ZWJIaXN0b3J5SXRlbUNvdW50KCkKIAogdm9pZCBUZXN0UnVu
bmVyOjpub3RpZnlEb25lKCkKIHsKLSAgICBpZiAobV93YWl0VG9EdW1wICYmICF0b3BMb2FkaW5n
RnJhbWUgJiYgIURSVDo6V29ya1F1ZXVlOjpzaW5nbGV0b24oKS5jb3VudCgpKQotICAgICAgICBk
dW1wKCk7Ci0gICAgbV93YWl0VG9EdW1wID0gZmFsc2U7CisgICAgaWYgKCFtX3dhaXRUb0R1bXAp
CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiVGVzdFJ1bm5lcjo6bm90aWZ5RG9uZSgpIGNhbGxl
ZCB1bmV4cGVjdGVkbHkuIik7CisKKyAgICBpZiAobV93YWl0VG9EdW1wKSB7CisgICAgICAgIG1f
d2FpdFRvRHVtcCA9IGZhbHNlOworICAgICAgICBpZiAoIXRvcExvYWRpbmdGcmFtZSAmJiAhRFJU
OjpXb3JrUXVldWU6OnNpbmdsZXRvbigpLmNvdW50KCkpCisgICAgICAgICAgICBkdW1wKCk7Cisg
ICAgfQogfQogCiB2b2lkIFRlc3RSdW5uZXI6OmZvcmNlSW1tZWRpYXRlQ29tcGxldGlvbigpCiB7
Ci0gICAgaWYgKG1fd2FpdFRvRHVtcCAmJiAhRFJUOjpXb3JrUXVldWU6OnNpbmdsZXRvbigpLmNv
dW50KCkpCi0gICAgICAgIGR1bXAoKTsKLSAgICBtX3dhaXRUb0R1bXAgPSBmYWxzZTsKKyAgICBp
ZiAoIW1fd2FpdFRvRHVtcCkKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJUZXN0UnVubmVyOjpm
b3JjZUltbWVkaWF0ZUNvbXBsZXRpb24oKSBjYWxsZWQgdW5leHBlY3RlZGx5LiIpOworCisgICAg
aWYgKG1fd2FpdFRvRHVtcCkgeworICAgICAgICBtX3dhaXRUb0R1bXAgPSBmYWxzZTsKKyAgICAg
ICAgaWYgKCFEUlQ6OldvcmtRdWV1ZTo6c2luZ2xldG9uKCkuY291bnQoKSkKKyAgICAgICAgICAg
IGR1bXAoKTsKKyAgICB9CiB9CiAKIHN0YXRpYyBpbmxpbmUgc3RkOjpzdHJpbmcgc3RyaW5nRnJv
bUpTU3RyaW5nKEpTU3RyaW5nUmVmIGpzU3RyaW5nKQpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL1Rlc3RSdW5uZXJXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9UZXN0UnVubmVyV2luLmNwcAkocmV2aXNpb24gMjQ0MjY2KQorKysgVG9vbHMvRHVt
cFJlbmRlclRyZWUvd2luL1Rlc3RSdW5uZXJXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDQs
MTcgKzMwNCwyNyBAQCBzaXplX3QgVGVzdFJ1bm5lcjo6d2ViSGlzdG9yeUl0ZW1Db3VudCgpCiB2
b2lkIFRlc3RSdW5uZXI6Om5vdGlmeURvbmUoKQogewogICAgIC8vIFNhbWUgYXMgb24gbWFjLiAg
VGhpcyBjYW4gYmUgc2hhcmVkLgotICAgIGlmIChtX3dhaXRUb0R1bXAgJiYgIXRvcExvYWRpbmdG
cmFtZSAmJiAhRFJUOjpXb3JrUXVldWU6OnNpbmdsZXRvbigpLmNvdW50KCkpCi0gICAgICAgIGR1
bXAoKTsKLSAgICBtX3dhaXRUb0R1bXAgPSBmYWxzZTsKKyAgICBpZiAoIW1fd2FpdFRvRHVtcCkK
KyAgICAgICAgZnByaW50ZihzdGRlcnIsICJUZXN0UnVubmVyOjpub3RpZnlEb25lKCkgY2FsbGVk
IHVuZXhwZWN0ZWRseS4iKTsKKworICAgIGlmIChtX3dhaXRUb0R1bXApIHsKKyAgICAgICAgbV93
YWl0VG9EdW1wID0gZmFsc2U7CisgICAgICAgIGlmICghdG9wTG9hZGluZ0ZyYW1lICYmICFEUlQ6
OldvcmtRdWV1ZTo6c2luZ2xldG9uKCkuY291bnQoKSkKKyAgICAgICAgICAgIGR1bXAoKTsKKyAg
ICB9CiB9CiAKIHZvaWQgVGVzdFJ1bm5lcjo6Zm9yY2VJbW1lZGlhdGVDb21wbGV0aW9uKCkKIHsK
ICAgICAvLyBTYW1lIGFzIG9uIG1hYy4gVGhpcyBjYW4gYmUgc2hhcmVkLgotICAgIGlmIChtX3dh
aXRUb0R1bXAgJiYgIURSVDo6V29ya1F1ZXVlOjpzaW5nbGV0b24oKS5jb3VudCgpKQotICAgICAg
ICBkdW1wKCk7Ci0gICAgbV93YWl0VG9EdW1wID0gZmFsc2U7CisgICAgaWYgKCFtX3dhaXRUb0R1
bXApCisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiVGVzdFJ1bm5lcjo6Zm9yY2VJbW1lZGlhdGVD
b21wbGV0aW9uKCkgY2FsbGVkIHVuZXhwZWN0ZWRseS4iKTsKKworICAgIGlmIChtX3dhaXRUb0R1
bXApIHsKKyAgICAgICAgbV93YWl0VG9EdW1wID0gZmFsc2U7CisgICAgICAgIGlmICghRFJUOjpX
b3JrUXVldWU6OnNpbmdsZXRvbigpLmNvdW50KCkpCisgICAgICAgICAgICBkdW1wKCk7CisgICAg
fQogfQogCiBzdGF0aWMgd3N0cmluZyBqc1N0cmluZ1JlZlRvV1N0cmluZyhKU1N0cmluZ1JlZiBq
c1N0cikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367427</attachid>
            <date>2019-04-15 10:57:36 -0700</date>
            <delta_ts>2019-04-15 11:03:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196898-20190415105735.patch</filename>
            <type>text/plain</type>
            <size>3513</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI0NDI3MikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIyIEBACisyMDE5LTA0LTE1ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNv
bT4KKworICAgICAgICBUZXN0UnVubmVyOjpub3RpZnlEb25lKCkgc2hvdWxkIG5vdCBiZSByZWVu
dHJhbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
Njg5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEl0
IGlzIGN1cnJlbnRseSBwb3NzaWJsZSB0aGF0IFRlc3RSdW5uZXI6Om5vdGlmeURvbmUoKSB3aWxs
IGNhbGwgaXRzZWxmLCBzaW5jZQorICAgICAgICBub3RpZnlEb25lKCkgd2lsbCBmb3JjZSBhIHJl
cGFpbnQsIHdoaWNoIGNhbiBzdGFydCBleGVjdXRpbmcgSmF2YVNjcmlwdCwgd2hpY2gKKyAgICAg
ICAgbWF5IGNhbGwgbm90aWZ5RG9uZSgpIGFnYWluLiBUaGlzIGNhbiBsZWFkIHRvIHRlc3QgZmFp
bHVyZXMgYW5kIGZsYWtpbmVzcy4KKyAgICAgICAgRml4IHRoaXMgYnkgc2V0dGluZyB0aGUgbV93
YWl0VG9EdW1wIGZsYWcgYmVmb3JlIGNhbGxpbmcgdGhlIGR1bXAoKSBtZXRob2QuCisKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbToKKyAgICAgICAgKFRlc3RS
dW5uZXI6Om5vdGlmeURvbmUpOgorICAgICAgICAoVGVzdFJ1bm5lcjo6Zm9yY2VJbW1lZGlhdGVD
b21wbGV0aW9uKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vVGVzdFJ1bm5lcldpbi5j
cHA6CisgICAgICAgIChUZXN0UnVubmVyOjpub3RpZnlEb25lKToKKyAgICAgICAgKFRlc3RSdW5u
ZXI6OmZvcmNlSW1tZWRpYXRlQ29tcGxldGlvbik6CisKIDIwMTktMDQtMTUgIFBoaWxpcHBlIE5v
cm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gQWRkIGVu
YWJsZS1tZWRpYSB3ZWJzZXR0aW5nCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVz
dFJ1bm5lck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVz
dFJ1bm5lck1hYy5tbQkocmV2aXNpb24gMjQ0MjY2KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL1Rlc3RSdW5uZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTI5MywxNiArMjkzLDIyIEBA
IHNpemVfdCBUZXN0UnVubmVyOjp3ZWJIaXN0b3J5SXRlbUNvdW50KCkKIAogdm9pZCBUZXN0UnVu
bmVyOjpub3RpZnlEb25lKCkKIHsKLSAgICBpZiAobV93YWl0VG9EdW1wICYmICF0b3BMb2FkaW5n
RnJhbWUgJiYgIURSVDo6V29ya1F1ZXVlOjpzaW5nbGV0b24oKS5jb3VudCgpKQotICAgICAgICBk
dW1wKCk7Ci0gICAgbV93YWl0VG9EdW1wID0gZmFsc2U7CisgICAgaWYgKG1fd2FpdFRvRHVtcCkg
eworICAgICAgICBtX3dhaXRUb0R1bXAgPSBmYWxzZTsKKyAgICAgICAgaWYgKCF0b3BMb2FkaW5n
RnJhbWUgJiYgIURSVDo6V29ya1F1ZXVlOjpzaW5nbGV0b24oKS5jb3VudCgpKQorICAgICAgICAg
ICAgZHVtcCgpOworICAgIH0gZWxzZQorICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlRlc3RSdW5u
ZXI6Om5vdGlmeURvbmUoKSBjYWxsZWQgdW5leHBlY3RlZGx5LiIpOwogfQogCiB2b2lkIFRlc3RS
dW5uZXI6OmZvcmNlSW1tZWRpYXRlQ29tcGxldGlvbigpCiB7Ci0gICAgaWYgKG1fd2FpdFRvRHVt
cCAmJiAhRFJUOjpXb3JrUXVldWU6OnNpbmdsZXRvbigpLmNvdW50KCkpCi0gICAgICAgIGR1bXAo
KTsKLSAgICBtX3dhaXRUb0R1bXAgPSBmYWxzZTsKKyAgICBpZiAobV93YWl0VG9EdW1wKSB7Cisg
ICAgICAgIG1fd2FpdFRvRHVtcCA9IGZhbHNlOworICAgICAgICBpZiAoIURSVDo6V29ya1F1ZXVl
OjpzaW5nbGV0b24oKS5jb3VudCgpKQorICAgICAgICAgICAgZHVtcCgpOworICAgIH0gZWxzZQor
ICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlRlc3RSdW5uZXI6OmZvcmNlSW1tZWRpYXRlQ29tcGxl
dGlvbigpIGNhbGxlZCB1bmV4cGVjdGVkbHkuIik7CiB9CiAKIHN0YXRpYyBpbmxpbmUgc3RkOjpz
dHJpbmcgc3RyaW5nRnJvbUpTU3RyaW5nKEpTU3RyaW5nUmVmIGpzU3RyaW5nKQpJbmRleDogVG9v
bHMvRHVtcFJlbmRlclRyZWUvd2luL1Rlc3RSdW5uZXJXaW4uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9UZXN0UnVubmVyV2luLmNwcAkocmV2aXNpb24gMjQ0MjY2
KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1Rlc3RSdW5uZXJXaW4uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMDQsMTcgKzMwNCwyMyBAQCBzaXplX3QgVGVzdFJ1bm5lcjo6d2ViSGlzdG9y
eUl0ZW1Db3VudCgpCiB2b2lkIFRlc3RSdW5uZXI6Om5vdGlmeURvbmUoKQogewogICAgIC8vIFNh
bWUgYXMgb24gbWFjLiAgVGhpcyBjYW4gYmUgc2hhcmVkLgotICAgIGlmIChtX3dhaXRUb0R1bXAg
JiYgIXRvcExvYWRpbmdGcmFtZSAmJiAhRFJUOjpXb3JrUXVldWU6OnNpbmdsZXRvbigpLmNvdW50
KCkpCi0gICAgICAgIGR1bXAoKTsKLSAgICBtX3dhaXRUb0R1bXAgPSBmYWxzZTsKKyAgICBpZiAo
bV93YWl0VG9EdW1wKSB7CisgICAgICAgIG1fd2FpdFRvRHVtcCA9IGZhbHNlOworICAgICAgICBp
ZiAoIXRvcExvYWRpbmdGcmFtZSAmJiAhRFJUOjpXb3JrUXVldWU6OnNpbmdsZXRvbigpLmNvdW50
KCkpCisgICAgICAgICAgICBkdW1wKCk7CisgICAgfSBlbHNlCisgICAgICAgIGZwcmludGYoc3Rk
ZXJyLCAiVGVzdFJ1bm5lcjo6bm90aWZ5RG9uZSgpIGNhbGxlZCB1bmV4cGVjdGVkbHkuIik7CiB9
CiAKIHZvaWQgVGVzdFJ1bm5lcjo6Zm9yY2VJbW1lZGlhdGVDb21wbGV0aW9uKCkKIHsKICAgICAv
LyBTYW1lIGFzIG9uIG1hYy4gVGhpcyBjYW4gYmUgc2hhcmVkLgotICAgIGlmIChtX3dhaXRUb0R1
bXAgJiYgIURSVDo6V29ya1F1ZXVlOjpzaW5nbGV0b24oKS5jb3VudCgpKQotICAgICAgICBkdW1w
KCk7Ci0gICAgbV93YWl0VG9EdW1wID0gZmFsc2U7CisgICAgaWYgKG1fd2FpdFRvRHVtcCkgewor
ICAgICAgICBtX3dhaXRUb0R1bXAgPSBmYWxzZTsKKyAgICAgICAgaWYgKCFEUlQ6OldvcmtRdWV1
ZTo6c2luZ2xldG9uKCkuY291bnQoKSkKKyAgICAgICAgICAgIGR1bXAoKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgZnByaW50ZihzdGRlcnIsICJUZXN0UnVubmVyOjpmb3JjZUltbWVkaWF0ZUNvbXBs
ZXRpb24oKSBjYWxsZWQgdW5leHBlY3RlZGx5LiIpOwogfQogCiBzdGF0aWMgd3N0cmluZyBqc1N0
cmluZ1JlZlRvV1N0cmluZyhKU1N0cmluZ1JlZiBqc1N0cikK
</data>
<flag name="review"
          id="383777"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>