<?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>42634</bug_id>
          
          <creation_ts>2010-07-20 06:20:59 -0700</creation_ts>
          <short_desc>[v8] Allow handles to be disposed and WebKit objects to be dereferenced even if their map is already destroyed.</short_desc>
          <delta_ts>2010-07-20 10:21:06 -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>WebKit Misc.</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="anton muhin">antonm</reporter>
          <assigned_to name="anton muhin">antonm</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>253684</commentid>
    <comment_count>0</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-07-20 06:20:59 -0700</bug_when>
    <thetext>[v8] Allow handles to be disposed and WebKit objects to be dereferenced even if their map is already destroyed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253719</commentid>
    <comment_count>1</comment_count>
      <attachid>62075</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-07-20 07:53:23 -0700</bug_when>
    <thetext>Created attachment 62075
Shorter</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253724</commentid>
    <comment_count>2</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-07-20 08:01:23 -0700</bug_when>
    <thetext>I&apos;ve got longer patch which attacks the problem differently: it introduces additional weak reference callbacks to be used for all mapping in the map being destroyed.  However, I think this simpler approach is better.  One of possible drawbacks: it could mask some other problems as we unconditionally release objects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253749</commentid>
    <comment_count>3</comment_count>
      <attachid>62075</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-20 08:54:51 -0700</bug_when>
    <thetext>Comment on attachment 62075
Shorter

Yeah, I like this approach better than introducing additional weak callbacks.  This code is really complicated.  I wish there was an easier (i.e., more automatic) way of handling this stuff.  All this manually ref()/deref()/Dispose() business is bad news bears.  Keeps the weak relationships in sync is really tricky.

I think this patch is correct.  Thanks for working in this area.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253751</commentid>
    <comment_count>4</comment_count>
      <attachid>62075</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2010-07-20 09:09:50 -0700</bug_when>
    <thetext>Comment on attachment 62075
Shorter

Thanks a lot, Adam.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253790</commentid>
    <comment_count>5</comment_count>
      <attachid>62075</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-20 10:21:02 -0700</bug_when>
    <thetext>Comment on attachment 62075
Shorter

Clearing flags on attachment: 62075

Committed r63751: &lt;http://trac.webkit.org/changeset/63751&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253791</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-20 10:21:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62075</attachid>
            <date>2010-07-20 07:53:23 -0700</date>
            <delta_ts>2010-07-20 10:21:01 -0700</delta_ts>
            <desc>Shorter</desc>
            <filename>bug-42634-20100720185321.patch</filename>
            <type>text/plain</type>
            <size>5319</size>
            <attacher name="anton muhin">antonm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
M2E2ZjQ4ZmViMmIwNjE0MGEwYzkyNTY2ODA1MmU5MzE0MTI2OWE5NS4uNWJjM2VkM2YwNDc2ZTFi
ZDhjOTUyMWRiYTE5ZWFiMGI5NTkwMWNlMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMC0wNy0yMCAgQW50
b24gTXVoaW4gIDxhbnRvbm1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFt2OF0gQWxsb3cgaGFuZGxlcyB0byBiZSBkaXNwb3Nl
ZCBhbmQgV2ViS2l0IG9iamVjdHMgdG8gYmUgZGVyZWZlcmVuY2VkIGV2ZW4gaWYgdGhlaXIgbWFw
IGlzIGFscmVhZHkgZGVzdHJveWVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDI2MzQKKworICAgICAgICBDdXJyZW50bHkgRE9NRGF0YVN0b3JlIGNv
dWxkIGJlIGRlc3Ryb3llZCBldmVuIGlmIGl0IGhhcyBzb21lIG1hcHBpbmdzIChpdCBnZXRzIGRl
c3Ryb3llZAorICAgICAgICB3aGVuIGl0cyBpc29sYXRlZCBjb250ZXh0IGdldHMgR0NlZCkuICBI
b3dldmVyIGluIHRoaXMgY2FzZSwgaGFuZGxlcyBhbGxvY2F0ZWQgZm9yCisgICAgICAgIHN1Y2gg
b2JqZWN0cyB3b3VsZCBuZXZlciBiZSBkaXNwb3NlZCBhcyB3ZSByZXF1aXJlIHByZXNlbmNlIG9m
IG1hcHBpbmcgZnJvbSB3cmFwcGVkCisgICAgICAgIFdlYktpdCBvYmplY3QgdG8gaGFuZGxlIGJl
aW5nIGNvbGxlY3RlZCBpbiB0aGUgbWFwIGFuZCBub3cgbWFwIGlzIGdvbmUuICBUaGF0IGxlYWRz
IHRvCisgICAgICAgIHpvbWJpZSBvYmplY3RzIGluIGJvdGggV2ViS2l0ICh3cmFwcGVkIFdlYktp
dCBvYmplY3QgZG9lc24ndCBnZXQgZGVyZWZlcmVuY2VkKSBhbmQgVjgKKyAgICAgICAgKGJvdGgg
aGFuZGxlIGFuZCBWOCB3cmFwcGVyIG9iamVjdCBjb3VsZCBub3QgYmUgZGVzdHJveWVkKS4KKwor
ICAgICAgICBTZWUgaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRh
aWw/aWQ9NDcxMjUgZm9yIGZ1cnRoZXIgZGlzY3Vzc2lvbi4KKworICAgICAgICAqIGJpbmRpbmdz
L3Y4L0RPTURhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTURhdGE6OmhhbmRsZVdlYWtPYmpl
Y3QpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpET01EYXRhU3RvcmU6OndlYWtOb2RlQ2FsbGJhY2spOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L1Y4RE9NTWFwLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWFrUmVmZXJlbmNlTWFwOjp+
V2Vha1JlZmVyZW5jZU1hcCk6CisKIDIwMTAtMDctMjAgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2
bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhLmggYi9XZWJDb3JlL2JpbmRp
bmdzL3Y4L0RPTURhdGEuaAppbmRleCA0ZDczMzFiMzdjN2ZlZDUwZjE2YTFhOGFiMTc1NzNkYzA3
NmM0YjkxLi5jOGI0YTQxNjc4NDdhNzBlODY4ODkzNTg2OTEyNDE3MjZmNjUxNGZjIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L3Y4L0RPTURhdGEuaApAQCAtNzksMTQgKzc5LDI1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAgIHZvaWQgRE9NRGF0YTo6aGFuZGxlV2Vha09iamVj
dChET01EYXRhU3RvcmU6OkRPTVdyYXBwZXJNYXBUeXBlIG1hcFR5cGUsIHY4OjpQZXJzaXN0ZW50
PHY4OjpPYmplY3Q+IHY4T2JqZWN0LCBUKiBkb21PYmplY3QpCiAgICAgeworICAgICAgICBXcmFw
cGVyVHlwZUluZm8qIHR5cGUgPSBWOERPTVdyYXBwZXI6OmRvbVdyYXBwZXJUeXBlKHY4T2JqZWN0
KTsKICAgICAgICAgRE9NRGF0YUxpc3QmIGxpc3QgPSBET01EYXRhU3RvcmU6OmFsbFN0b3Jlcygp
OworICAgICAgICBib29sIGZvdW5kID0gZmFsc2U7CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgbGlzdC5zaXplKCk7ICsraSkgewogICAgICAgICAgICAgRE9NRGF0YVN0b3JlKiBzdG9y
ZSA9IGxpc3RbaV07CiAgICAgICAgICAgICBBU1NFUlQoc3RvcmUtPmRvbURhdGEoKS0+b3duaW5n
VGhyZWFkKCkgPT0gV1RGOjpjdXJyZW50VGhyZWFkKCkpOwogCiAgICAgICAgICAgICBET01XcmFw
cGVyTWFwPFQ+KiBkb21NYXAgPSBzdGF0aWNfY2FzdDxET01XcmFwcGVyTWFwPFQ+Kj4oc3RvcmUt
PmdldERPTVdyYXBwZXJNYXAobWFwVHlwZSkpOwotICAgICAgICAgICAgaWYgKGRvbU1hcC0+cmVt
b3ZlSWZQcmVzZW50KGRvbU9iamVjdCwgdjhPYmplY3QpKQotICAgICAgICAgICAgICAgIHN0b3Jl
LT5kb21EYXRhKCktPmRlcmVmT2JqZWN0KFY4RE9NV3JhcHBlcjo6ZG9tV3JhcHBlclR5cGUodjhP
YmplY3QpLCBkb21PYmplY3QpOworICAgICAgICAgICAgaWYgKGRvbU1hcC0+cmVtb3ZlSWZQcmVz
ZW50KGRvbU9iamVjdCwgdjhPYmplY3QpKSB7CisgICAgICAgICAgICAgICAgZGVyZWZPYmplY3Qo
dHlwZSwgZG9tT2JqZWN0KTsKKyAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBJZiBub3QgZm91bmQsIGl0IG1lYW5zIG1h
cCBmb3IgdGhlIHdyYXBwZXIgaGFzIGJlZW4gYWxyZWFkeSBkZXN0cm95ZWQsIGp1c3QgZGlzcG9z
ZSB0aGUKKyAgICAgICAgLy8gaGFuZGxlIGFuZCBkZXJlZiB0aGUgb2JqZWN0IHRvIGZpZ2h0IG1l
bW9yeSBsZWFrLgorICAgICAgICBpZiAoIWZvdW5kKSB7CisgICAgICAgICAgICB2OE9iamVjdC5E
aXNwb3NlKCk7CisgICAgICAgICAgICBkZXJlZk9iamVjdCh0eXBlLCBkb21PYmplY3QpOwogICAg
ICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFT
dG9yZS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5jcHAKaW5kZXggNWQ2
MDlkOGU5MjRlMzNmMTVhNDI3N2VhNDg5ZjEwNjhiYzE0OGFlYi4uMGIwNmE2OTE3MTY4ZjhkYjVm
ZGQyMjhiYjNmNDgzNTBjNTEwOWVjZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9E
T01EYXRhU3RvcmUuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmNw
cApAQCAtMTYzLDEwICsxNjMsMTUgQEAgdm9pZCBET01EYXRhU3RvcmU6OndlYWtOb2RlQ2FsbGJh
Y2sodjg6OlBlcnNpc3RlbnQ8djg6OlZhbHVlPiB2OE9iamVjdCwgdm9pZCogZG8KICAgICAgICAg
RE9NRGF0YVN0b3JlKiBzdG9yZSA9IGxpc3RbaV07CiAgICAgICAgIGlmIChzdG9yZS0+ZG9tTm9k
ZU1hcCgpLnJlbW92ZUlmUHJlc2VudChub2RlLCB2OE9iamVjdCkpIHsKICAgICAgICAgICAgIEFT
U0VSVChzdG9yZS0+ZG9tRGF0YSgpLT5vd25pbmdUaHJlYWQoKSA9PSBXVEY6OmN1cnJlbnRUaHJl
YWQoKSk7Ci0gICAgICAgICAgICBub2RlLT5kZXJlZigpOyAgLy8gTm9ib2R5IG92ZXJyaWRlcyBO
b2RlOjpkZXJlZiBzbyBpdCdzIHNhZmUKLSAgICAgICAgICAgIGJyZWFrOyAgLy8gVGhlcmUgbWln
aHQgYmUgYXQgbW9zdCBvbmUgd3JhcHBlciBmb3IgdGhlIG5vZGUgaW4gd29ybGQncyBtYXBzCisg
ICAgICAgICAgICBub2RlLT5kZXJlZigpOyAvLyBOb2JvZHkgb3ZlcnJpZGVzIE5vZGU6OmRlcmVm
IHNvIGl0J3Mgc2FmZQorICAgICAgICAgICAgcmV0dXJuOyAvLyBUaGVyZSBtaWdodCBiZSBhdCBt
b3N0IG9uZSB3cmFwcGVyIGZvciB0aGUgbm9kZSBpbiB3b3JsZCdzIG1hcHMKICAgICAgICAgfQog
ICAgIH0KKworICAgIC8vIElmIG5vdCBmb3VuZCwgaXQgbWVhbnMgbWFwIGZvciB0aGUgd3JhcHBl
ciBoYXMgYmVlbiBhbHJlYWR5IGRlc3Ryb3llZCwganVzdCBkaXNwb3NlIHRoZQorICAgIC8vIGhh
bmRsZSBhbmQgZGVyZWYgdGhlIG9iamVjdCB0byBmaWdodCBtZW1vcnkgbGVhay4KKyAgICB2OE9i
amVjdC5EaXNwb3NlKCk7CisgICAgbm9kZS0+ZGVyZWYoKTsgLy8gTm9ib2R5IG92ZXJyaWRlcyBO
b2RlOjpkZXJlZiBzbyBpdCdzIHNhZmUKIH0KIAogYm9vbCBET01EYXRhU3RvcmU6OkludHJ1c2l2
ZURPTVdyYXBwZXJNYXA6OnJlbW92ZUlmUHJlc2VudChOb2RlKiBvYmosIHY4OjpQZXJzaXN0ZW50
PHY4OjpEYXRhPiB2YWx1ZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01N
YXAuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01NYXAuaAppbmRleCBhN2UwM2EwZWY0NDZk
OWI1NzcwNzFlYTk2MDI0ZDI0MmY3ODgwZDZkLi5kOGQ1YzA0ZDVlYTE5N2I2NDc5YmI2YWJiNDM3
YWQ0NDMzMjA2MjFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NTWFwLmgK
KysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTU1hcC5oCkBAIC03NCwxMyArNzQsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIEFic3RyYWN0
V2Vha1JlZmVyZW5jZU1hcDxLZXlUeXBlLCBWYWx1ZVR5cGU+IFBhcmVudDsKICAgICAgICAgV2Vh
a1JlZmVyZW5jZU1hcCh2ODo6V2Vha1JlZmVyZW5jZUNhbGxiYWNrIGNhbGxiYWNrKSA6IFBhcmVu
dChjYWxsYmFjaykgeyB9Ci0gICAgICAgIHZpcnR1YWwgfldlYWtSZWZlcmVuY2VNYXAoKQotICAg
ICAgICB7Ci0gICAgI2lmbmRlZiBOREVCVUcKLSAgICAgICAgICAgIGlmIChtX21hcC5zaXplKCkg
PiAwKQotICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiTGVhayAlZCBKUyB3cmFwcGVy
cy5cbiIsIG1fbWFwLnNpemUoKSk7Ci0gICAgI2VuZGlmCi0gICAgICAgIH0KKyAgICAgICAgdmly
dHVhbCB+V2Vha1JlZmVyZW5jZU1hcCgpIHsgfQogCiAgICAgICAgIC8vIEdldCB0aGUgSlMgd3Jh
cHBlciBvYmplY3Qgb2YgYW4gb2JqZWN0LgogICAgICAgICB2aXJ0dWFsIHY4OjpQZXJzaXN0ZW50
PFZhbHVlVHlwZT4gZ2V0KEtleVR5cGUqIG9iaikKQEAgLTEzNSw3ICsxMjksNiBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIEhhc2hNYXA8S2V5VHlwZSos
IFZhbHVlVHlwZSo+IG1fbWFwOwotICAgICAgICB2ODo6V2Vha1JlZmVyZW5jZUNhbGxiYWNrIG1f
d2Vha1JlZmVyZW5jZUNhbGxiYWNrOwogICAgIH07CiAKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgS2V5
VHlwZT4gY2xhc3MgRE9NV3JhcHBlck1hcCA6IHB1YmxpYyBXZWFrUmVmZXJlbmNlTWFwPEtleVR5
cGUsIHY4OjpPYmplY3Q+IHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>