<?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>48153</bug_id>
          
          <creation_ts>2010-10-22 14:21:44 -0700</creation_ts>
          <short_desc>Crash in Connection::isValid when called in response to VisitedLinksProvider::pendingVisitedLinksTimerFired after WebProcessPRoxy::didClose was already called</short_desc>
          <delta_ts>2010-10-22 16:39:19 -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>All</rep_platform>
          <op_sys>All</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="Jessie Berlin">jberlin</reporter>
          <assigned_to name="Jessie Berlin">jberlin</assigned_to>
          <cc>andersca</cc>
    
    <cc>aroben</cc>
    
    <cc>jberlin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>298171</commentid>
    <comment_count>0</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-10-22 14:21:44 -0700</bug_when>
    <thetext>We should create a WebContext::webProcessDidClose method, have it stop the timer, and call that from WebContext::didClose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298177</commentid>
    <comment_count>1</comment_count>
      <attachid>71594</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-10-22 14:29:46 -0700</bug_when>
    <thetext>Created attachment 71594
Add WebContext::proccessDidClose and stop the visited links timer there</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298181</commentid>
    <comment_count>2</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-10-22 14:36:10 -0700</bug_when>
    <thetext>&lt;rdar://problem/8580585&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298182</commentid>
    <comment_count>3</comment_count>
      <attachid>71594</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-10-22 14:36:49 -0700</bug_when>
    <thetext>Comment on attachment 71594
Add WebContext::proccessDidClose and stop the visited links timer there

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

Looks great otherwise, r=me!

&gt; WebKit2/UIProcess/WebProcessProxy.cpp:420
&gt; +    m_context-&gt;processDidClose(this);

You should call processDidClose before the call to WebProcessManager::processDidClose because calling it might delete the WebProcessProxy object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298187</commentid>
    <comment_count>4</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-10-22 14:42:55 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 71594 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=71594&amp;action=review
&gt; 
&gt; Looks great otherwise, r=me!
&gt; 
&gt; &gt; WebKit2/UIProcess/WebProcessProxy.cpp:420
&gt; &gt; +    m_context-&gt;processDidClose(this);
&gt; 
&gt; You should call processDidClose before the call to WebProcessManager::processDidClose because calling it might delete the WebProcessProxy object.

Done.

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298191</commentid>
    <comment_count>5</comment_count>
      <attachid>71594</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-10-22 14:48:10 -0700</bug_when>
    <thetext>Comment on attachment 71594
Add WebContext::proccessDidClose and stop the visited links timer there

Committed in r70346
http://trac.webkit.org/changeset/70346</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298192</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-10-22 14:49:07 -0700</bug_when>
    <thetext>Is there any way to make a test for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298253</commentid>
    <comment_count>7</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-10-22 16:39:19 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Is there any way to make a test for this?

I don&apos;t think so at the moment. The case in which we are currently seeing this happen is not necessarily caused by the WebProcess crashing - more has to do with the timing of the WebProcess ending which is a bit hard to control.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71594</attachid>
            <date>2010-10-22 14:29:46 -0700</date>
            <delta_ts>2010-10-22 14:48:09 -0700</delta_ts>
            <desc>Add WebContext::proccessDidClose and stop the visited links timer there</desc>
            <filename>addWebContextProcessDidCloseAndStopVisitedLinksTimer.patch</filename>
            <type>text/plain</type>
            <size>3812</size>
            <attacher name="Jessie Berlin">jberlin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDMzOSkKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTAtMTAtMjIgIEplc3NpZSBCZXJsaW4gIDxqYmVybGluQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBD
cmFzaCBpbiBDb25uZWN0aW9uOjppc1ZhbGlkIHdoZW4gY2FsbGVkIGluIHJlc3BvbnNlIHRvCisg
ICAgICAgIFZpc2l0ZWRMaW5rc1Byb3ZpZGVyOjpwZW5kaW5nVmlzaXRlZExpbmtzVGltZXJGaXJl
ZCBhZnRlciBXZWJQcm9jZXNzUHJveHk6OmRpZENsb3NlIHdhcworICAgICAgICBhbHJlYWR5IGNh
bGxlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ4
MTUzCisKKyAgICAgICAgKiBVSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlZpc2l0ZWRMaW5rUHJvdmlkZXI6OnN0b3BWaXNpdGVkTGlua3NUaW1lcik6
CisgICAgICAgICogVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaDoKKworICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6
cHJvY2Vzc0RpZENsb3NlKToKKyAgICAgICAgU3RvcCB0aGUgcGVuZGluZ1Zpc2l0ZWRMaW5rc1Rp
bWVyIGFuZCBudWxsIG91dCB0aGUgcHJvY2Vzcy4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29u
dGV4dC5oOgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6ZGlkQ2xvc2UpOgorICAgICAgICBUZWxsIHRo
ZSBXZWJDb250ZXh0IHRoYXQgdGhlIFdlYlByb2Nlc3MgZGlkIGNsb3NlLgorCiAyMDEwLTEwLTIy
ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IFF0IGJ1aWxkLgpJ
bmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5jcHAJKHJldmlzaW9u
IDcwMzA1KQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTYzLDYgKzYzLDExIEBAIHZvaWQgVmlzaXRlZExpbmtQcm92aWRlcjo6
YWRkVmlzaXRlZExpbmsKICAgICAgICAgbV9wZW5kaW5nVmlzaXRlZExpbmtzVGltZXIuc3RhcnRP
bmVTaG90KDApOwogfQogCit2b2lkIFZpc2l0ZWRMaW5rUHJvdmlkZXI6OnN0b3BWaXNpdGVkTGlu
a3NUaW1lcigpCit7CisgICAgbV9wZW5kaW5nVmlzaXRlZExpbmtzVGltZXIuc3RvcCgpOworfQor
CiBzdGF0aWMgdW5zaWduZWQgbmV4dFBvd2VyT2YyKHVuc2lnbmVkIHYpCiB7CiAgICAgLy8gVGFr
ZW4gZnJvbSBodHRwOi8vd3d3LmNzLnV0ay5lZHUvfnZvc2UvYy1zdHVmZi9iaXRoYWNrcy5odG1s
CkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCShyZXZpc2lvbiA3
MDMwNSkKKysrIFdlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDQsNiArNDQsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBwb3B1bGF0ZVZpc2l0
ZWRMaW5rc0lmTmVlZGVkKCk7CiAgICAgdm9pZCBhZGRWaXNpdGVkTGluayhXZWJDb3JlOjpMaW5r
SGFzaCk7CiAKKyAgICB2b2lkIHN0b3BWaXNpdGVkTGlua3NUaW1lcigpOworCiBwcml2YXRlOgog
ICAgIHZvaWQgcGVuZGluZ1Zpc2l0ZWRMaW5rc1RpbWVyRmlyZWQoKTsKIApJbmRleDogV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViQ29udGV4dC5jcHAJKHJldmlzaW9uIDcwMzA1KQorKysgV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViQ29udGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5NCw2ICsxOTQsMTYgQEAgdm9pZCBX
ZWJDb250ZXh0Ojpwcm9jZXNzRGlkRmluaXNoTGF1bmNoaQogICAgIG1fdmlzaXRlZExpbmtQcm92
aWRlci5wb3B1bGF0ZVZpc2l0ZWRMaW5rc0lmTmVlZGVkKCk7CiB9CiAKK3ZvaWQgV2ViQ29udGV4
dDo6cHJvY2Vzc0RpZENsb3NlKFdlYlByb2Nlc3NQcm94eSogcHJvY2VzcykKK3sKKyAgICAvLyBG
SVhNRTogT25jZSB3ZSBzdXBwb3J0IG11bHRpcGxlIHByb2Nlc3NlcyBwZXIgY29udGV4dCwgdGhp
cyBhc3NlcnRpb24gd29uJ3QgaG9sZC4KKyAgICBBU1NFUlQocHJvY2VzcyA9PSBtX3Byb2Nlc3Mp
OworCisgICAgbV92aXNpdGVkTGlua1Byb3ZpZGVyLnN0b3BWaXNpdGVkTGlua3NUaW1lcigpOwor
CisgICAgbV9wcm9jZXNzID0gMDsKK30KKwogV2ViUGFnZVByb3h5KiBXZWJDb250ZXh0OjpjcmVh
dGVXZWJQYWdlKFdlYlBhZ2VOYW1lc3BhY2UqIHBhZ2VOYW1lc3BhY2UpCiB7CiAgICAgZW5zdXJl
V2ViUHJvY2VzcygpOwpJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAkocmV2aXNpb24gNzAzMDUp
CisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTY4
LDYgKzY4LDcgQEAgcHVibGljOgogICAgIFdlYlByb2Nlc3NQcm94eSogcHJvY2VzcygpIGNvbnN0
IHsgcmV0dXJuIG1fcHJvY2Vzcy5nZXQoKTsgfQogCiAgICAgdm9pZCBwcm9jZXNzRGlkRmluaXNo
TGF1bmNoaW5nKFdlYlByb2Nlc3NQcm94eSopOworICAgIHZvaWQgcHJvY2Vzc0RpZENsb3NlKFdl
YlByb2Nlc3NQcm94eSopOwogCiAgICAgV2ViUGFnZVByb3h5KiBjcmVhdGVXZWJQYWdlKFdlYlBh
Z2VOYW1lc3BhY2UqKTsKIApJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
CShyZXZpc2lvbiA3MDMwNSkKKysrIFdlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQxNiw2ICs0MTYsOCBAQCB2b2lkIFdlYlByb2Nlc3NQcm94
eTo6ZGlkQ2xvc2UoQ29yZUlQQzo6CiAKICAgICAvLyBUaGlzIG1heSBjYXVzZSB1cyB0byBiZSBk
ZWxldGVkLgogICAgIFdlYlByb2Nlc3NNYW5hZ2VyOjpzaGFyZWQoKS5wcm9jZXNzRGlkQ2xvc2Uo
dGhpcywgbV9jb250ZXh0KTsKKworICAgIG1fY29udGV4dC0+cHJvY2Vzc0RpZENsb3NlKHRoaXMp
OwogfQogCiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKENv
cmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQgbWVzc2FnZUlEKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>