<?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>121970</bug_id>
          
          <creation_ts>2013-09-26 12:25:06 -0700</creation_ts>
          <short_desc>[WK2] Does not remove page from WebProcessProxy&apos;s map upon WebProcess termination</short_desc>
          <delta_ts>2014-08-28 04:52:22 -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>WebKit2</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gustavo Noronha (kov)">gustavo</reporter>
          <assigned_to name="Gustavo Noronha (kov)">gustavo</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>clopez</cc>
    
    <cc>hugo.lima</cc>
    
    <cc>kling</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sam</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>933635</commentid>
    <comment_count>0</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-09-26 12:25:06 -0700</bug_when>
    <thetext>[WK2] Does not remove page from WebProcessProxy&apos;s map on WebProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933639</commentid>
    <comment_count>1</comment_count>
      <attachid>212738</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-09-26 12:32:54 -0700</bug_when>
    <thetext>Created attachment 212738
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933641</commentid>
    <comment_count>2</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-09-26 12:34:29 -0700</bug_when>
    <thetext>A couple comments: I couldn&apos;t figure out why Mac doesn&apos;t crash - I guess the page proxy is not invalidated before it&apos;s destroyed? The test that is crashing requiring this fix is TestWebKit2&apos;s WebKit2.WillSendSubmitEvent, but the test that leads to the state that causes the crash is WebKit2.TerminateTwice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>934660</commentid>
    <comment_count>3</comment_count>
      <attachid>212738</attachid>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-09-30 10:24:11 -0700</bug_when>
    <thetext>Comment on attachment 212738
Patch

Informal review: looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>934708</commentid>
    <comment_count>4</comment_count>
      <attachid>212738</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-09-30 11:49:56 -0700</bug_when>
    <thetext>Comment on attachment 212738
Patch

I don’t think this is the right fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>934859</commentid>
    <comment_count>5</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-09-30 16:47:29 -0700</bug_when>
    <thetext>Thanks for the review! I&apos;ll try to get a better understanding of the problem.

Let me explain how I got to this, maybe someone can provide some insight: the crash happens in the test that comes right after WebKit2.TerminateTwice, the second terminate in that test happens while the process is still starting up and in that case things are not getting cleaned up properly it seems.

When the test that comes after terminate twice starts the web process and is going to start a new connection the WebProcessProxy tells all pages in its map that the connection will be opened. The page that exists when that second terminate happened is still in the map even though it&apos;s been destroyed becase WebPageProxy::resetStateAfterProcessExited() is called before WebPageProxy::close(). The former invalidates the page by setting m_isValid to false but does not tell the WebProcessProxy. When we get to the latter (which does remove the page from the process proxy) we get the early return - http://trac.webkit.org/browser/trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp#L543.

FWIW, I split the run-gtk-tests change to bug 122135 since it&apos;s independent and generally useful without this fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935491</commentid>
    <comment_count>6</comment_count>
      <attachid>213185</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-10-02 12:33:29 -0700</bug_when>
    <thetext>Created attachment 213185
Patch

How about something like this? The interaction between m_isClosed and isValid() seems pretty complex, I cannot see how the page would get unregistered from the map regardless of the case, though, if the web process has gone away at least once (it is not just in the not done starting case it turns out).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937305</commentid>
    <comment_count>7</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-10-07 18:20:19 -0700</bug_when>
    <thetext>Committed r157072: &lt;http://trac.webkit.org/changeset/157072&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937322</commentid>
    <comment_count>8</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-10-07 18:46:01 -0700</bug_when>
    <thetext>Err, sorry, I mentioned this bug in the changelog entry and the script misunderstood my intention, this was not landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955289</commentid>
    <comment_count>9</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-12-02 01:52:32 -0800</bug_when>
    <thetext>I&apos;m not able to reproduce the crash in WebKit2.TerminateTwice.

Gustavo, can you please check that the test passes for you as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001151</commentid>
    <comment_count>10</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-04-16 08:52:47 -0700</bug_when>
    <thetext>I&apos;m also not longer able to reproduce this. I think we can unskip the test WebKit2.TerminateTwice</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030039</commentid>
    <comment_count>11</comment_count>
      <attachid>213185</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-08-19 09:26:55 -0700</bug_when>
    <thetext>Comment on attachment 213185
Patch

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

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:364
&gt; +        // A page may not be closed but be invalid because the WebProcess has exited; in that
&gt; +        // case close() will simply return, leaving the page registered on WebProcessProxy&apos;s map,
&gt; +        // so we remove it here.
&gt; +        if (!isValid())
&gt; +            m_process-&gt;removeWebPage(m_pageID);
&gt; +        else
&gt; +            close();

The right place to fix this is in WebPageProxy::resetStateAfterProcessExited, not here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030040</commentid>
    <comment_count>12</comment_count>
      <attachid>213185</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-08-19 09:27:53 -0700</bug_when>
    <thetext>Comment on attachment 213185
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:364
&gt;&gt; +            close();
&gt; 
&gt; The right place to fix this is in WebPageProxy::resetStateAfterProcessExited, not here.

And that’s what the original patch did. I am unclear on why this patch exists. Leaving this patch as review- for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1030055</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-08-19 10:25:26 -0700</bug_when>
    <thetext>I don&apos;t see why the page should be removed from WebProcessProxy&apos;s map upon process termination. The page is still associated with the terminated process at this point.

Anyway, is this still an issue after bug 135996?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031960</commentid>
    <comment_count>14</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2014-08-28 04:52:22 -0700</bug_when>
    <thetext>Does not seem to be a problem after 1135996, I think we can go ahead and close it, thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212738</attachid>
            <date>2013-09-26 12:32:54 -0700</date>
            <delta_ts>2013-10-02 12:33:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121970-20130926163253.patch</filename>
            <type>text/plain</type>
            <size>5615</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2NDYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWQ3YWUyNmUyNGI3NDZl
ODg0NTU3MDNhNWMyZDg0NDA0ZjViM2Y2MC4uNGM1NWQ1YThlYmUzYjY3ZjkxN2I3YzIwZWYxMGIx
MDJkNTEwOTRiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEzLTA5LTI2ICBHdXN0
YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvbT4KKworICAg
ICAgICBbV0syXSBEb2VzIG5vdCByZW1vdmUgcGFnZSBmcm9tIFdlYlByb2Nlc3NQcm94eSdzIG1h
cCB1cG9uIFdlYlByb2Nlc3MgdGVybWluYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTk3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFdlYlBhZ2VQcm94eSBkb2VzIG5vdCBjbG9zZSB1cG9uIFdl
YlByb2Nlc3MgdGVybWluYXRpb24sIHNpbmNlIGl0J3MgYmVlbiBwcmV2aW91c2x5IGludmFsaWRh
dGVkLCBhbmQKKyAgICAgICAgcmVzZXRpbmcgc3RhdGUgbWlzc2VzIGEgY2FsbCB0byB0ZWxsIFdl
YlByb2Nlc3NQcm94eSBvZiB0aGUgcGFnZSdzIGRlbWlzZS4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlc2V0
U3RhdGVBZnRlclByb2Nlc3NFeGl0ZWQpOiBhbHNvIGFzayBXZWJQcm9jZXNzUHJveHkgdG8gcmVt
b3ZlIHRoZSBwYWdlIGZyb20KKyAgICAgICAgaXRzIG1hcC4KKwogMjAxMy0wOS0yNSAgTWluanUg
S2ltICA8cG11YXJ0ZW9AZ21haWwuY29tPgogCiAgICAgICAgIDggYnl0ZXMgbWVtb3J5IGxlYWtz
IGluIFdlYlByb2Nlc3NNYWluUXQuY3BwIHdoZW4gcHJveHkgaXMgaW5pdGlhbGl6ZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggYjA5MmYyOTNkMjk5ODAx
ZTU2NWNkODgxMjRlOTE2M2ZkZGE1ZGIwMC4uNGMyMjU5ZTAzNTY0ZGRlYzJkNjVkZmVkOGQ2NjM2
MWI4YzA2MDA2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
QEAgLTM3OTMsNiArMzc5Myw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXNldFN0YXRlQWZ0ZXJQ
cm9jZXNzRXhpdGVkKCkKIAogICAgIEFTU0VSVChtX3BhZ2VDbGllbnQpOwogICAgIG1fcHJvY2Vz
cy0+cmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Om1lc3NhZ2VS
ZWNlaXZlck5hbWUoKSwgbV9wYWdlSUQpOworICAgIG1fcHJvY2Vzcy0+cmVtb3ZlV2ViUGFnZSht
X3BhZ2VJRCk7CiAKICAgICBtX2lzVmFsaWQgPSBmYWxzZTsKICAgICBtX2lzUGFnZVN1c3BlbmRl
ZCA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IDExYzU1YTFkYzFhNDZkNzM4MzliZTc4YjM2MTcxN2UxYThmODIwNDMuLjQzYzUyOTEx
ZThiODQ0ZjdiMGYyNTk4NjkyNGYxNGU3NDNmYmRiMmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMy0wOS0yNiAg
R3VzdGF2byBOb3JvbmhhIFNpbHZhICA8Z3VzdGF2by5ub3JvbmhhQGNvbGxhYm9yYS5jb20+CisK
KyAgICAgICAgW1dLMl0gRG9lcyBub3QgcmVtb3ZlIHBhZ2UgZnJvbSBXZWJQcm9jZXNzUHJveHkn
cyBtYXAgdXBvbiBXZWJQcm9jZXNzIHRlcm1pbmF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE5NzAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgR1RLKyBBUEkgdGVzdCBydW5uZXIgZG9lcyBu
b3QgZGlzdGluZ3Vpc2ggYmV0d2VlbiBmYWlsdXJlcyBhbmQgY3Jhc2hlcy4gVGhpcyBjaGFuZ2UK
KyAgICAgICAgbWFrZXMgaXQgZG8gdGhhdCwgc28gaXQncyBlYXNpZXIgZm9yIHVzIHRvIHNwb3Qg
dGhlIG1vcmUgaW1wb3J0YW50L2hpZ2hlciBwcmlvcml0eSBjcmFzaAorICAgICAgICBjYXNlLgor
CisgICAgICAgICogU2NyaXB0cy9ydW4tZ3RrLXRlc3RzOgorICAgICAgICAoVGVzdFJ1bm5lci5f
cnVuX3Rlc3RfY29tbWFuZCk6IHJldHVybiB0aGUgZXhpdCBjb2RlIGluc3RlYWQgb2YgYSBib29s
ZWFuIHRydWUvZmFsc2UsCisgICAgICAgIHNvIHdlIGhhdmUgbW9yZSBpbmZvcm1hdGlvbiBvbiBo
b3cgdGhlIHByb2Nlc3MgZW5kZWQuCisgICAgICAgIChUZXN0UnVubmVyLl9ydW5fdGVzdCk6IGNo
ZWNrIHRoZSBleGl0IGNvZGUgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBjcmFzaGVzIGFuZCBmYWls
dXJlcy4KKyAgICAgICAgKFRlc3RSdW5uZXIucnVuX3Rlc3RzKTogcmVwb3J0IGNyYXNoZXMuCisK
IDIwMTMtMDktMjYgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNTY0NTcuCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3J1bi1ndGstdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMKaW5k
ZXggZmRmMGQ4YTA2MzA0OTE4NGFlNTE3OThiNWM0ZjJkMTAyYjU1MWJhZS4uZTg4NjhiYWFiMTFj
NmM3ZDM1M2FiNTY2MzZiZjYzYjEwNGI4MTJlZSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9y
dW4tZ3RrLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0cwpAQCAtMjIsNyAr
MjIsNyBAQCBpbXBvcnQgb3MKIGltcG9ydCBzeXMKIGltcG9ydCBvcHRwYXJzZQogaW1wb3J0IHJl
Ci1mcm9tIHNpZ25hbCBpbXBvcnQgYWxhcm0sIHNpZ25hbCwgU0lHQUxSTSwgU0lHS0lMTAorZnJv
bSBzaWduYWwgaW1wb3J0IGFsYXJtLCBzaWduYWwsIFNJR0FMUk0sIFNJR0tJTEwsIFNJR1NFR1YK
IGZyb20gZ2kucmVwb3NpdG9yeSBpbXBvcnQgR2lvLCBHTGliCiAKIHRvcF9sZXZlbF9kaXJlY3Rv
cnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxl
X18pLCAiLi4iLCAiLi4iKSkKQEAgLTMwOSw3ICszMDksNyBAQCBjbGFzcyBUZXN0UnVubmVyOgog
ICAgICAgICAgICAgIyBwcm9jZXNzLiAgVGhpcyBjaGlsZCBpcyBkZWFkLCB3ZSBjYW4ndCBnZXQg
dGhlIHN0YXR1cy4KICAgICAgICAgICAgIHN0YXR1cyA9IDAKIAotICAgICAgICByZXR1cm4gbm90
IHJldHVybl9jb2RlX2Zyb21fZXhpdF9zdGF0dXMoc3RhdHVzKQorICAgICAgICByZXR1cm4gcmV0
dXJuX2NvZGVfZnJvbV9leGl0X3N0YXR1cyhzdGF0dXMpCiAKICAgICBkZWYgX3J1bl90ZXN0X2ds
aWIoc2VsZiwgdGVzdF9wcm9ncmFtKToKICAgICAgICAgdGVzdGVyX2NvbW1hbmQgPSBbJ2d0ZXN0
ZXInXQpAQCAtMzM2LDcgKzMzNiw3IEBAIGNsYXNzIFRlc3RSdW5uZXI6CiAgICAgICAgIGlmICJU
ZXN0V2ViS2l0QVBJIiBpbiB0ZXN0X3Byb2dyYW06CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5f
cnVuX3Rlc3RfZ29vZ2xlKHRlc3RfcHJvZ3JhbSkKIAotICAgICAgICByZXR1cm4gRmFsc2UKKyAg
ICAgICAgcmV0dXJuIDEKIAogICAgIGRlZiBydW5fdGVzdHMoc2VsZik6CiAgICAgICAgIGlmIG5v
dCBzZWxmLl90ZXN0czoKQEAgLTM1MSwxOSArMzUxLDI0IEBAIGNsYXNzIFRlc3RSdW5uZXI6CiAg
ICAgICAgICMgc29tZSB0ZXN0cyBtaWdodCBiZSBza2lwcGVkIHdoaWxlIHNldHRpbmcgdXAgdGhl
IHRlc3QgZW52aXJvbm1lbnQuCiAgICAgICAgIHNlbGYuX3Rlc3RzID0gW3Rlc3QgZm9yIHRlc3Qg
aW4gc2VsZi5fdGVzdHMgaWYgc2VsZi5fc2hvdWxkX3J1bl90ZXN0X3Byb2dyYW0odGVzdCldCiAK
KyAgICAgICAgY3Jhc2hlZF90ZXN0cyA9IFtdCiAgICAgICAgIGZhaWxlZF90ZXN0cyA9IFtdCiAg
ICAgICAgIHRpbWVkX291dF90ZXN0cyA9IFtdCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGZv
ciB0ZXN0IGluIHNlbGYuX3Rlc3RzOgotICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPSBUcnVlCisg
ICAgICAgICAgICAgICAgZXhpdF9zdGF0dXNfY29kZSA9IDAKICAgICAgICAgICAgICAgICB0cnk6
Ci0gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPSBzZWxmLl9ydW5fdGVzdCh0ZXN0KQorICAg
ICAgICAgICAgICAgICAgICBleGl0X3N0YXR1c19jb2RlID0gc2VsZi5fcnVuX3Rlc3QodGVzdCkK
ICAgICAgICAgICAgICAgICBleGNlcHQgVGVzdFRpbWVvdXQ6CiAgICAgICAgICAgICAgICAgICAg
IHN5cy5zdGRvdXQud3JpdGUoIlRFU1Q6ICVzOiBUSU1FT1VUXG4iICUgdGVzdCkKICAgICAgICAg
ICAgICAgICAgICAgc3lzLnN0ZG91dC5mbHVzaCgpCiAgICAgICAgICAgICAgICAgICAgIHRpbWVk
X291dF90ZXN0cy5hcHBlbmQodGVzdCkKIAotICAgICAgICAgICAgICAgIGlmIG5vdCBzdWNjZXNz
OgorICAgICAgICAgICAgICAgIGlmIGV4aXRfc3RhdHVzX2NvZGUgPT0gLVNJR1NFR1Y6CisgICAg
ICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoIlRFU1Q6ICVzOiBDUkFTSEVEXG4iICUg
dGVzdCkKKyAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZG91dC5mbHVzaCgpCisgICAgICAgICAg
ICAgICAgICAgIGNyYXNoZWRfdGVzdHMuYXBwZW5kKHRlc3QpCisgICAgICAgICAgICAgICAgZWxp
ZiBleGl0X3N0YXR1c19jb2RlICE9IDA6CiAgICAgICAgICAgICAgICAgICAgIGZhaWxlZF90ZXN0
cy5hcHBlbmQodGVzdCkKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIHNlbGYuX3RlYXJf
ZG93bl90ZXN0aW5nX2Vudmlyb25tZW50KCkKQEAgLTM3Myw2ICszNzgsMTEgQEAgY2xhc3MgVGVz
dFJ1bm5lcjoKICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoIlRlc3RzIGZhaWxlZCAoJWQp
OiAlc1xuIiAlIChsZW4obmFtZXMpLCAiLCAiLmpvaW4obmFtZXMpKSkKICAgICAgICAgICAgIHN5
cy5zdGRvdXQuZmx1c2goKQogCisgICAgICAgIGlmIGNyYXNoZWRfdGVzdHM6CisgICAgICAgICAg
ICBuYW1lcyA9IFt0ZXN0LnJlcGxhY2Uoc2VsZi5fcHJvZ3JhbXNfcGF0aCwgJycsIDEpIGZvciB0
ZXN0IGluIGNyYXNoZWRfdGVzdHNdCisgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCJUZXN0
cyB0aGF0IGNyYXNoZWQgKCVkKTogJXNcbiIgJSAobGVuKG5hbWVzKSwgIiwgIi5qb2luKG5hbWVz
KSkpCisgICAgICAgICAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKKwogICAgICAgICBpZiB0aW1lZF9v
dXRfdGVzdHM6CiAgICAgICAgICAgICBuYW1lcyA9IFt0ZXN0LnJlcGxhY2Uoc2VsZi5fcHJvZ3Jh
bXNfcGF0aCwgJycsIDEpIGZvciB0ZXN0IGluIHRpbWVkX291dF90ZXN0c10KICAgICAgICAgICAg
IHN5cy5zdGRvdXQud3JpdGUoIlRlc3RzIHRoYXQgdGltZWQgb3V0ICglZCk6ICVzXG4iICUgKGxl
bihuYW1lcyksICIsICIuam9pbihuYW1lcykpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213185</attachid>
            <date>2013-10-02 12:33:29 -0700</date>
            <delta_ts>2014-08-19 09:27:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121970-20131002163327.patch</filename>
            <type>text/plain</type>
            <size>1726</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2Njg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZThmNzZiZjY3MjBiMTZi
YmFiYjVmYjZlNjNjYjFjZWVhN2U0Njg2OC4uZWM0YjYzMWNjMmNkNjFhZjYwMTRiMzFlOTQyY2Mw
MGY5Mzk1YzYxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEzLTEwLTAyICBHdXN0
YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvbT4KKworICAg
ICAgICBbV0syXSBEb2VzIG5vdCByZW1vdmUgcGFnZSBmcm9tIFdlYlByb2Nlc3NQcm94eSdzIG1h
cCB1cG9uIFdlYlByb2Nlc3MgdGVybWluYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTk3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6fldlYlBhZ2VQcm94eSk6IGVuc3VyZSB0aGUgcGFn
ZSBpcyByZW1vdmVkIGZyb20gdGhlIFdlYlByb2Nlc3NQcm94eSdzCisgICAgICAgIG1hcCBldmVu
IGluIGNhc2UgaXQgZ290IGludmFsaWRhdGVkIGJlZm9yZSBiZWluZyBjbG9zZWQuCisKIDIwMTMt
MDktMzAgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgogCiAgICAgICAg
IFJlbW92ZSB0aGUgY29kZSBndWFyZGVkIGJ5IFNUWUxFX1NDT1BFRApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBiMDY2MmVkZDI0YjQ0MDJlN2IxMTFkYzEy
YzUzMDRmYjhmNmQ0ZTUyLi5lNDUzYTMwMjNmZTYzZjZiYzExMjIxZTdlYTE5ZDA2ZDlkMzA5M2Qw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMzU0LDgg
KzM1NCwxNSBAQCBXZWJQYWdlUHJveHk6OldlYlBhZ2VQcm94eShQYWdlQ2xpZW50KiBwYWdlQ2xp
ZW50LCBQYXNzUmVmUHRyPFdlYlByb2Nlc3NQcm94eT4gcAogCiBXZWJQYWdlUHJveHk6On5XZWJQ
YWdlUHJveHkoKQogewotICAgIGlmICghbV9pc0Nsb3NlZCkKLSAgICAgICAgY2xvc2UoKTsKKyAg
ICBpZiAoIW1faXNDbG9zZWQpIHsKKyAgICAgICAgLy8gQSBwYWdlIG1heSBub3QgYmUgY2xvc2Vk
IGJ1dCBiZSBpbnZhbGlkIGJlY2F1c2UgdGhlIFdlYlByb2Nlc3MgaGFzIGV4aXRlZDsgaW4gdGhh
dAorICAgICAgICAvLyBjYXNlIGNsb3NlKCkgd2lsbCBzaW1wbHkgcmV0dXJuLCBsZWF2aW5nIHRo
ZSBwYWdlIHJlZ2lzdGVyZWQgb24gV2ViUHJvY2Vzc1Byb3h5J3MgbWFwLAorICAgICAgICAvLyBz
byB3ZSByZW1vdmUgaXQgaGVyZS4KKyAgICAgICAgaWYgKCFpc1ZhbGlkKCkpCisgICAgICAgICAg
ICBtX3Byb2Nlc3MtPnJlbW92ZVdlYlBhZ2UobV9wYWdlSUQpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICBjbG9zZSgpOworICAgIH0KIAogICAgIFdlYkNvbnRleHQ6OnN0YXRpc3RpY3MoKS53
a1BhZ2VDb3VudC0tOwogCg==
</data>
<flag name="review"
          id="235512"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>