<?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>45202</bug_id>
          
          <creation_ts>2010-09-03 14:37:05 -0700</creation_ts>
          <short_desc>Intermittent crashes in EventSource::close()</short_desc>
          <delta_ts>2022-03-01 02:50: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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>NeedsReduction</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Richard D Klein">RichardDKlein</reporter>
          <assigned_to name="Nate Chapin">japhet</assigned_to>
          <cc>adam.bergkvist</cc>
    
    <cc>ap</cc>
    
    <cc>dglazkov</cc>
    
    <cc>inferno</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>274183</commentid>
    <comment_count>0</comment_count>
    <who name="Richard D Klein">RichardDKlein</who>
    <bug_when>2010-09-03 14:37:05 -0700</bug_when>
    <thetext>EventSource::close() sometimes crashes when you leave a page on which Server-Sent events are active.  Here&apos;s the offending code:

void EventSource::close()
{
    if (m_state == CLOSED)
        return;

    if (m_reconnectTimer.isActive()) {
        m_reconnectTimer.stop();
        unsetPendingActivity(this);
    }

    m_state = CLOSED;
    m_failSilently = true;

    if (m_requestInFlight)
        m_loader-&gt;cancel();
}

The crash happens when m_requestInFlight is true, but m_loader is 0.  This should fix it:

    if (m_requestInFlight)
        if (m_loader)
            m_loader-&gt;cancel();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274859</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-09-07 00:01:36 -0700</bug_when>
    <thetext>I&apos;d say that m_requestInFlight should not be true when there is no request in flight!

We&apos;ll need to make a reduced case to be landed as a regression test with a fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277508</commentid>
    <comment_count>2</comment_count>
    <who name="Richard D Klein">RichardDKlein</who>
    <bug_when>2010-09-10 16:13:37 -0700</bug_when>
    <thetext>&gt; I&apos;d say that m_requestInFlight should not be true when there is no request in flight!

Good point.  I should have labelled my &quot;fix&quot; as just a workaround.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336985</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-01-19 17:39:56 -0800</bug_when>
    <thetext>Richard, does this still happen with recent nightly builds? There have been some semi-related fixes made to EventSource, but without steps to reproduce, it&apos;s unclear how to proceed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450664</commentid>
    <comment_count>4</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2011-08-12 14:18:49 -0700</bug_when>
    <thetext>This was also reported at http://code.google.com/p/chromium/issues/detail?id=89155.

It appears this is happening when an EventSource reconnect timer triggers after a navigation away from the current page has begun. In this case, SubresourceLoader::create() will return 0, and EventSource ends up thinking a request is in-flight but has a null m_loader.

I have a fix (don&apos;t set &quot;m_requestInFlight = true&quot; in connect() if ThreadableLoader::create() returns 0), but I don&apos;t have a good test reduction because it&apos;s timing-dependent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450666</commentid>
    <comment_count>5</comment_count>
      <attachid>103815</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2011-08-12 14:24:51 -0700</bug_when>
    <thetext>Created attachment 103815
crash fix but no test :(

Is there a good way to ensure an internal timer like EventSource::m_reconnecTimer will fire when we want it to?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450699</commentid>
    <comment_count>6</comment_count>
      <attachid>103826</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2011-08-12 15:16:57 -0700</bug_when>
    <thetext>Created attachment 103826
+ test

I had a brain cramp when I posted the crash fix, creating a test was straightforward.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450716</commentid>
    <comment_count>7</comment_count>
      <attachid>103826</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-12 15:45:56 -0700</bug_when>
    <thetext>Comment on attachment 103826
+ test

Attachment 103826 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9380016

New failing tests:
http/tests/eventsource/eventsource-reconnect-during-navigate-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455550</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-23 11:35:52 -0700</bug_when>
    <thetext>Nate, what is the status of this patch? It&apos;s marked for review, but its test is failing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455552</commentid>
    <comment_count>9</comment_count>
      <attachid>103826</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2011-08-23 11:42:45 -0700</bug_when>
    <thetext>Comment on attachment 103826
+ test


Sorry, I&apos;ve gotten distracted.  I need to borrow a linux box so I can figure out why the test is failing.

Obsoleting until then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456298</commentid>
    <comment_count>10</comment_count>
      <attachid>105040</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2011-08-24 12:17:10 -0700</bug_when>
    <thetext>Created attachment 105040
+ test fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456304</commentid>
    <comment_count>11</comment_count>
      <attachid>105040</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-24 12:25:29 -0700</bug_when>
    <thetext>Comment on attachment 105040
+ test fix

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

r=me. It would be great if you could get rid of EventSender before landing.

&gt; LayoutTests/http/tests/eventsource/eventsource-reconnect-during-navigate-crash.html:16
&gt; +        eventSender.mouseMoveTo(a.offsetLeft + 2, a.offsetTop + 2);
&gt; +        eventSender.mouseDown();
&gt; +        eventSender.mouseUp();

Does no other way to navigate work? I would expect that setting window.location is no different.

It would be nice to have the test work in browser and in ports that don&apos;t&apos; support eventSender.

&gt; LayoutTests/http/tests/eventsource/resources/wait-then-notify-done.php:7
&gt; +sleep(1);
&gt; +echo &quot;&lt;script&gt; if (window.layoutTestController) layoutTestController.notifyDone()&lt;/script&gt;\n&quot;;

Sadness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456318</commentid>
    <comment_count>12</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2011-08-24 12:44:40 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 105040 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=105040&amp;action=review
&gt; 
&gt; r=me. It would be great if you could get rid of EventSender before landing.
&gt; 
&gt; &gt; LayoutTests/http/tests/eventsource/eventsource-reconnect-during-navigate-crash.html:16
&gt; &gt; +        eventSender.mouseMoveTo(a.offsetLeft + 2, a.offsetTop + 2);
&gt; &gt; +        eventSender.mouseDown();
&gt; &gt; +        eventSender.mouseUp();
&gt; 
&gt; Does no other way to navigate work? I would expect that setting window.location is no different.
&gt; 
&gt; It would be nice to have the test work in browser and in ports that don&apos;t&apos; support eventSender.

You&apos;re right, a window.location navigation reproduces the crash.  Will fix before landing.

&gt; 
&gt; &gt; LayoutTests/http/tests/eventsource/resources/wait-then-notify-done.php:7
&gt; &gt; +sleep(1);
&gt; &gt; +echo &quot;&lt;script&gt; if (window.layoutTestController) layoutTestController.notifyDone()&lt;/script&gt;\n&quot;;
&gt; 
&gt; Sadness.
 
I agree.  :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456363</commentid>
    <comment_count>13</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2011-08-24 13:20:36 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/93726</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103815</attachid>
            <date>2011-08-12 14:24:51 -0700</date>
            <delta_ts>2011-08-12 15:16:57 -0700</delta_ts>
            <desc>crash fix but no test :(</desc>
            <filename>escrash.txt</filename>
            <type>text/plain</type>
            <size>1290</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkyOTk2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDgtMTIgIE5hdGUgQ2hh
cGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KKworICAgICAgICBGaXggYW4gaW50ZXJtaXR0ZW50
IGNyYXNoIGluIEV2ZW50U291cmNlLCB3aGVuIGEKKyAgICAgICAgcmVjb25uZWN0IHRpbWVyIHRy
aWdnZXJzIGFmdGVyIGEgbmF2aWdhdGlvbgorICAgICAgICBhd2F5IGZyb20gdGhlIGN1cnJlbnQg
cGFnZSBiZWdpbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00NTIwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cywgYmVjYXVzZSBpdCdzIHRpbWluZy1kZXBlbmRlbnQuCisKKyAgICAg
ICAgKiBwYWdlL0V2ZW50U291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNl
Ojpjb25uZWN0KTogRG9uJ3Qgc2V0IG1fcmVxdWVzdEluRmxpZ2h0CisgICAgICAgICAgICB0byB0
cnVlIGlmIFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZSgpIGZhaWxlZC4KKwogMjAxMS0wOC0xMiAg
RGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTMzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50U291cmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
U291cmNlLmNwcAkocmV2aXNpb24gOTE3NzMpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
U291cmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE5LDcgKzExOSw4IEBACiAKICAgICBtX2xv
YWRlciA9IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCks
IHRoaXMsIHJlcXVlc3QsIG9wdGlvbnMpOwogCi0gICAgbV9yZXF1ZXN0SW5GbGlnaHQgPSB0cnVl
OworICAgIGlmIChtX2xvYWRlcikKKyAgICAgICAgbV9yZXF1ZXN0SW5GbGlnaHQgPSB0cnVlOwog
fQogCiB2b2lkIEV2ZW50U291cmNlOjplbmRSZXF1ZXN0KCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103826</attachid>
            <date>2011-08-12 15:16:57 -0700</date>
            <delta_ts>2011-08-23 11:42:44 -0700</delta_ts>
            <desc>+ test</desc>
            <filename>escrashwithtest.txt</filename>
            <type>text/plain</type>
            <size>4390</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzMDAzKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDgtMTIgIE5hdGUgQ2hh
cGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KKworICAgICAgICBGaXggYW4gaW50ZXJtaXR0ZW50
IGNyYXNoIGluIEV2ZW50U291cmNlLCB3aGVuIGEKKyAgICAgICAgcmVjb25uZWN0IHRpbWVyIHRy
aWdnZXJzIGFmdGVyIGEgbmF2aWdhdGlvbgorICAgICAgICBhd2F5IGZyb20gdGhlIGN1cnJlbnQg
cGFnZSBiZWdpbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00NTIwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRlc3Q6IGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmVjb25uZWN0LWR1
cmluZy1uYXZpZ2F0ZS1jcmFzaC5odG1sCisKKyAgICAgICAgKiBwYWdlL0V2ZW50U291cmNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpjb25uZWN0KTogRG9uJ3Qgc2V0IG1f
cmVxdWVzdEluRmxpZ2h0CisgICAgICAgICAgICB0byB0cnVlIGlmIFRocmVhZGFibGVMb2FkZXI6
OmNyZWF0ZSgpIGZhaWxlZC4KKwogMjAxMS0wOC0xMiAgTmF0IER1Y2EgIDxuZHVjYUBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBGaXggY29taWxlIHdhcm5pbmcgb24gQ0NMYXll
clRyZWVIb3N0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcAkocmV2aXNpb24g
OTE3NzMpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTE5LDcgKzExOSw4IEBACiAKICAgICBtX2xvYWRlciA9IFRocmVhZGFibGVMb2Fk
ZXI6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHRoaXMsIHJlcXVlc3QsIG9wdGlv
bnMpOwogCi0gICAgbV9yZXF1ZXN0SW5GbGlnaHQgPSB0cnVlOworICAgIGlmIChtX2xvYWRlcikK
KyAgICAgICAgbV9yZXF1ZXN0SW5GbGlnaHQgPSB0cnVlOwogfQogCiB2b2lkIEV2ZW50U291cmNl
OjplbmRSZXF1ZXN0KCkKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2Uv
ZXZlbnRzb3VyY2UtcmVjb25uZWN0LWR1cmluZy1uYXZpZ2F0ZS1jcmFzaC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmVj
b25uZWN0LWR1cmluZy1uYXZpZ2F0ZS1jcmFzaC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1yZWNvbm5lY3QtZHVyaW5n
LW5hdmlnYXRlLWNyYXNoLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjcgQEAKKzxodG1s
PgorPGJvZHk+Cis8cD5OYXZpZ2F0ZSB3aGlsZSBhbiBFdmVudFNvdXJjZSByZWNvbm5lY3QgdGlt
ZXIgaXMgd2FpdGluZywgdGhlbiBoYXZlIHRoZSByZWNvbm5lY3QgdGltZXIgdHJpZ2dlciBiZWZv
cmUgdGhlIHBhZ2UgdW5sb2Fkcy4gV2UgcGFzcyBpZiB3ZSBkb24ndCBjcmFzaC4KKzxhIGhyZWY9
InJlc291cmNlcy93YWl0LXRoZW4tbm90aWZ5LWRvbmUucGwiPk5hdmlnYXRlPC9hPgorPHNjcmlw
dD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworfQorCitmdW5jdGlvbiBuYXZpZ2F0ZSgpIHsKKyAgICBpZiAod2luZG93LmV2ZW50
U2VuZGVyKSB7CisgICAgICAgIHZhciBhID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
ImEiKVswXTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oYS5vZmZzZXRMZWZ0ICsg
MiwgYS5vZmZzZXRUb3AgKyAyKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7Cisg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICB9Cit9CisKK3ZhciBlcyA9IG5ldyBF
dmVudFNvdXJjZSgicmVzb3VyY2VzL3JlY29ubmVjdC5waHAiKTsKKworZXMub25lcnJvciA9IGZ1
bmN0aW9uKCkgeworICAgIHNldFRpbWVvdXQobmF2aWdhdGUsIDApOworfTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJj
ZS9yZXNvdXJjZXMvd2FpdC10aGVuLW5vdGlmeS1kb25lLnBsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvcmVzb3VyY2VzL3dhaXQtdGhlbi1ub3RpZnkt
ZG9uZS5wbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3Vy
Y2UvcmVzb3VyY2VzL3dhaXQtdGhlbi1ub3RpZnktZG9uZS5wbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwyMSBAQAorIyEvdXNyL2Jpbi9wZXJsIC13CisKK3VzZSBzdHJpY3Q7Cit1c2UgQ0dJOwor
dXNlIFRpbWU6OkhpUmVzIHF3KHNsZWVwKTsKKworbXkgJGNnaSA9IG5ldyBDR0k7CisKKyMgZmx1
c2ggdGhlIGJ1ZmZlcnMgYWZ0ZXIgZWFjaCBwcmludAorc2VsZWN0IChTVERPVVQpOworJHwgPSAx
OworCitwcmludCAiQ29udGVudC1UeXBlOiB0ZXh0L2h0bWxcbiI7CitwcmludCAiRXhwaXJlczog
VGh1LCAwMSBEZWMgMjAwMyAxNjowMDowMCBHTVRcbiI7CitwcmludCAiQ2FjaGUtQ29udHJvbDog
bm8tc3RvcmUsIG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGVcbiI7CitwcmludCAiUHJhZ21hOiBu
by1jYWNoZVxuIjsKK3ByaW50ICJcbiI7CisKK3NsZWVwIDE7CitwcmludCAiPHNjcmlwdD4gaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpPC9zY3JpcHQ+XG4iOworCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50
c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2aWdhdGUtY3Jhc2gtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2Uv
ZXZlbnRzb3VyY2UtcmVjb25uZWN0LWR1cmluZy1uYXZpZ2F0ZS1jcmFzaC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50
c291cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2aWdhdGUtY3Jhc2gtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxIEBACisKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzMDAzKQorKysgTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEt
MDgtMTIgIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXN0
IGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUyMDIuCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2aWdhdGUtY3Jhc2gt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2
ZW50c291cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2aWdhdGUtY3Jhc2guaHRtbDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9yZXNvdXJjZXMvd2FpdC10aGVuLW5vdGlm
eS1kb25lLnBsOiBBZGRlZC4KKwogMjAxMS0wOC0xMiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFVwZGF0ZSBleHBlY3RhdGlvbnMgdG8gbm90ZSBmbGFraW5lc3Mu
Cg==
</data>
<flag name="commit-queue"
          id="99540"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105040</attachid>
            <date>2011-08-24 12:17:10 -0700</date>
            <delta_ts>2022-03-01 02:50:33 -0800</delta_ts>
            <desc>+ test fix</desc>
            <filename>es2.txt</filename>
            <type>text/plain</type>
            <size>4290</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkzNzE3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDgtMjQgIE5hdGUgQ2hh
cGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KKworICAgICAgICBGaXggYW4gaW50ZXJtaXR0ZW50
IGNyYXNoIGluIEV2ZW50U291cmNlLCB3aGVuIGEKKyAgICAgICAgcmVjb25uZWN0IHRpbWVyIHRy
aWdnZXJzIGFmdGVyIGEgbmF2aWdhdGlvbgorICAgICAgICBhd2F5IGZyb20gdGhlIGN1cnJlbnQg
cGFnZSBiZWdpbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00NTIwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRlc3Q6IGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmVjb25uZWN0LWR1
cmluZy1uYXZpZ2F0ZS1jcmFzaC5odG1sCisKKyAgICAgICAgKiBwYWdlL0V2ZW50U291cmNlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpjb25uZWN0KTogRG9uJ3Qgc2V0IG1f
cmVxdWVzdEluRmxpZ2h0CisgICAgICAgICAgICB0byB0cnVlIGlmIFRocmVhZGFibGVMb2FkZXI6
OmNyZWF0ZSgpIGZhaWxlZC4KKwogMjAxMS0wOC0yNCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIEpTSFRNTEltYWdlRWxlbWVudCAoYW5kIGFzc29jaWF0ZWQgTm9kZSkg
aXMgYWJhbmRvbmVkIHdoZW4gaW1hZ2UgbG9hZCBpcyBjYW5jZWxlZApJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudFNvdXJjZS5jcHAJKHJldmlzaW9uIDkzNDI0KQorKysgU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudFNvdXJjZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMCw3ICsxMjAsOCBAQAog
CiAgICAgbV9sb2FkZXIgPSBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLCB0aGlzLCByZXF1ZXN0LCBvcHRpb25zKTsKIAotICAgIG1fcmVxdWVzdEluRmxp
Z2h0ID0gdHJ1ZTsKKyAgICBpZiAobV9sb2FkZXIpCisgICAgICAgIG1fcmVxdWVzdEluRmxpZ2h0
ID0gdHJ1ZTsKIH0KIAogdm9pZCBFdmVudFNvdXJjZTo6ZW5kUmVxdWVzdCgpCkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJp
bmctbmF2aWdhdGUtY3Jhc2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2V2ZW50c291cmNlL2V2ZW50c291cmNlLXJlY29ubmVjdC1kdXJpbmctbmF2aWdhdGUtY3Jh
c2guaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3Vy
Y2UvZXZlbnRzb3VyY2UtcmVjb25uZWN0LWR1cmluZy1uYXZpZ2F0ZS1jcmFzaC5odG1sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDI3IEBACis8aHRtbD4KKzxib2R5PgorPHA+TmF2aWdhdGUgd2hp
bGUgYW4gRXZlbnRTb3VyY2UgcmVjb25uZWN0IHRpbWVyIGlzIHdhaXRpbmcsIHRoZW4gaGF2ZSB0
aGUgcmVjb25uZWN0IHRpbWVyIHRyaWdnZXIgYmVmb3JlIHRoZSBwYWdlIHVubG9hZHMuIFdlIHBh
c3MgaWYgd2UgZG9uJ3QgY3Jhc2guCis8YSBocmVmPSJyZXNvdXJjZXMvd2FpdC10aGVuLW5vdGlm
eS1kb25lLnBocCI+TmF2aWdhdGU8L2E+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cit9CisKK2Z1bmN0aW9uIG5h
dmlnYXRlKCkgeworICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgdmFyIGEg
PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYSIpWzBdOworICAgICAgICBldmVudFNl
bmRlci5tb3VzZU1vdmVUbyhhLm9mZnNldExlZnQgKyAyLCBhLm9mZnNldFRvcCArIDIpOworICAg
ICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VV
cCgpOworICAgIH0KK30KKwordmFyIGVzID0gbmV3IEV2ZW50U291cmNlKCJyZXNvdXJjZXMvcmVj
b25uZWN0LnBocCIpOworCitlcy5vbmVycm9yID0gZnVuY3Rpb24oKSB7CisgICAgc2V0VGltZW91
dChuYXZpZ2F0ZSwgMCk7Cit9OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy93YWl0LXRoZW4tbm90
aWZ5LWRvbmUucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRz
b3VyY2UvcmVzb3VyY2VzL3dhaXQtdGhlbi1ub3RpZnktZG9uZS5waHAJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2V2ZW50c291cmNlL3Jlc291cmNlcy93YWl0LXRoZW4t
bm90aWZ5LWRvbmUucGhwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDggQEAKKzw/cGhwCitoZWFk
ZXIoIkNvbnRlbnQtVHlwZTogdGV4dC9odG1sIik7CitoZWFkZXIoIkV4cGlyZXM6IFRodSwgMDEg
RGVjIDIwMDMgMTY6MDA6MDAgR01UIik7CitoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG5vLXN0b3Jl
LCBuby1jYWNoZSwgbXVzdC1yZXZhbGlkYXRlIik7CitoZWFkZXIoIlByYWdtYTogbm8tY2FjaGUi
KTsKK3NsZWVwKDEpOworZWNobyAiPHNjcmlwdD4gaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpPC9zY3JpcHQ+XG4iOworPz4K
SW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmVj
b25uZWN0LWR1cmluZy1uYXZpZ2F0ZS1jcmFzaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ldmVudHNvdXJjZS9ldmVudHNvdXJjZS1yZWNvbm5lY3Qt
ZHVyaW5nLW5hdmlnYXRlLWNyYXNoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmVjb25uZWN0LWR1cmlu
Zy1uYXZpZ2F0ZS1jcmFzaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAK
KwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gOTM3MTcpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wOC0yNCAgTmF0ZSBDaGFwaW4gIDxq
YXBoZXRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFRlc3QgZm9yIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTIwMi4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3Vy
Y2UtcmVjb25uZWN0LWR1cmluZy1uYXZpZ2F0ZS1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvZXZlbnRzb3VyY2UvZXZlbnRzb3VyY2UtcmVjb25uZWN0LWR1
cmluZy1uYXZpZ2F0ZS1jcmFzaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2V2
ZW50c291cmNlL3Jlc291cmNlcy93YWl0LXRoZW4tbm90aWZ5LWRvbmUucGhwOiBBZGRlZC4KKwog
MjAxMS0wOC0yNCAgQW5kcmV3IFNjaGVya3VzICA8c2NoZXJrdXNAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJlYmFzZWxpbmluZyBtZWRpYS92aWRlby1jdXJyZW50VGltZS1z
ZXQuaHRtbCBkdWUgdG8K
</data>
<flag name="review"
          id="101072"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>