<?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>123822</bug_id>
          
          <creation_ts>2013-11-05 13:18:13 -0800</creation_ts>
          <short_desc>ObjCCallbackFunctionImpl&apos;s NSInvocation shouldn&apos;t retain its target or arguments</short_desc>
          <delta_ts>2013-11-06 09:20:30 -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>JavaScriptCore</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="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>947309</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-11-05 13:18:13 -0800</bug_when>
    <thetext>This is a memory leak. It also leads to inopportune invocations of -dealloc on the target and arguments when the ObjCCallbackFunctionImpl is destroyed. The fix for this won&apos;t handle the second issue. That&apos;s what bug 123821 is for.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947310</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-11-05 13:18:28 -0800</bug_when>
    <thetext>&lt;rdar://problem/15395956&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947315</commentid>
    <comment_count>2</comment_count>
      <attachid>216066</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-11-05 13:21:34 -0800</bug_when>
    <thetext>Created attachment 216066
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947357</commentid>
    <comment_count>3</comment_count>
      <attachid>216066</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-11-05 14:24:01 -0800</bug_when>
    <thetext>Comment on attachment 216066
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947369</commentid>
    <comment_count>4</comment_count>
      <attachid>216066</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-05 14:49:56 -0800</bug_when>
    <thetext>Comment on attachment 216066
Patch

Clearing flags on attachment: 216066

Committed r158695: &lt;http://trac.webkit.org/changeset/158695&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947370</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-05 14:49:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947732</commentid>
    <comment_count>6</comment_count>
      <attachid>216066</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-11-06 09:20:30 -0800</bug_when>
    <thetext>Comment on attachment 216066
Patch

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

&gt; Source/JavaScriptCore/API/ObjCCallbackFunction.mm:410
&gt; +        // We need to explicity release the target since we didn&apos;t call 

typo: explicity</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216066</attachid>
            <date>2013-11-05 13:21:34 -0800</date>
            <delta_ts>2013-11-06 09:20:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123822-20131105132132.patch</filename>
            <type>text/plain</type>
            <size>4232</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU4Njg5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBA
CisyMDEzLTExLTA1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgT2JqQ0NhbGxiYWNrRnVuY3Rpb25JbXBsJ3MgTlNJbnZvY2F0aW9uIHNob3VsZG4n
dCByZXRhaW4gaXRzIHRhcmdldCBvciBhcmd1bWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzgyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzaW5nIC1yZXRhaW5Bcmd1bWVudHMgb24gT2JqQ0Nh
bGxiYWNrRnVuY3Rpb25JbXBsJ3MgTlNJbnZvY2F0aW9uIGxlYWRzIHRvIG1lbW9yeSBsZWFrcy4K
KyAgICAgICAgV2Ugc2hvdWxkIGhhbmRsZSByZXRhaW5pbmcvcmVsZWFzaW5nIHRoZSB0YXJnZXQg
b3Vyc2VsdmVzLCBhbmQgd2Ugc2hvdWxkIG5ldmVyIHJldGFpbiB0aGUgYXJndW1lbnRzLgorCisg
ICAgICAgICogQVBJL09iakNDYWxsYmFja0Z1bmN0aW9uLm1tOgorICAgICAgICAoSlNDOjpPYmpD
Q2FsbGJhY2tGdW5jdGlvbkltcGw6On5PYmpDQ2FsbGJhY2tGdW5jdGlvbkltcGwpOgorICAgICAg
ICAoSlNDOjpPYmpDQ2FsbGJhY2tGdW5jdGlvbkltcGw6Om5hbWUpOgorICAgICAgICAob2JqQ0Nh
bGxiYWNrRnVuY3Rpb25Gb3JJbnZvY2F0aW9uKToKKyAgICAgICAgKG9iakNDYWxsYmFja0Z1bmN0
aW9uRm9yTWV0aG9kKToKKyAgICAgICAgKG9iakNDYWxsYmFja0Z1bmN0aW9uRm9yQmxvY2spOgor
CiAyMDEzLTExLTA1ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAg
Rml4IHJlZ2lzdGVyIGFsbG9jYXRpb24gaW5zaWRlIGNvbnRyb2wgZmxvdyBpbiBHZXRCeVZhbCBT
dHJpbmcKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvT2JqQ0NhbGxiYWNrRnVuY3Rp
b24ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9PYmpDQ2FsbGJh
Y2tGdW5jdGlvbi5tbQkocmV2aXNpb24gMTU4Njg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9PYmpDQ2FsbGJhY2tGdW5jdGlvbi5tbQkod29ya2luZyBjb3B5KQpAQCAtNDA3LDYgKzQw
NywxMCBAQCBwdWJsaWM6CiAKICAgICB+T2JqQ0NhbGxiYWNrRnVuY3Rpb25JbXBsKCkKICAgICB7
CisgICAgICAgIC8vIFdlIG5lZWQgdG8gZXhwbGljaXR5IHJlbGVhc2UgdGhlIHRhcmdldCBzaW5j
ZSB3ZSBkaWRuJ3QgY2FsbCAKKyAgICAgICAgLy8gLXJldGFpbkFyZ3VtZW50cyBvbiBtX2ludm9j
YXRpb24gKGFuZCB3ZSBkb24ndCB3YW50IHRvIGRvIHNvKS4KKyAgICAgICAgaWYgKG1fdHlwZSA9
PSBDYWxsYmFja0Jsb2NrIHx8IG1fdHlwZSA9PSBDYWxsYmFja0NsYXNzTWV0aG9kKQorICAgICAg
ICAgICAgW1ttX2ludm9jYXRpb24uZ2V0KCkgdGFyZ2V0XSByZWxlYXNlXTsKICAgICAgICAgW21f
aW5zdGFuY2VDbGFzcyByZWxlYXNlXTsKICAgICB9CiAKQEAgLTUzOSw2ICs1NDMsOCBAQCBTdHJp
bmcgT2JqQ0NhbGxiYWNrRnVuY3Rpb25JbXBsOjpuYW1lKCkKIHsKICAgICBpZiAobV90eXBlID09
IENhbGxiYWNrSW5pdE1ldGhvZCkKICAgICAgICAgcmV0dXJuIGNsYXNzX2dldE5hbWUobV9pbnN0
YW5jZUNsYXNzKTsKKyAgICAvLyBGSVhNRTogTWF5YmUgd2UgY291bGQgc3VwcG9ydCBoYXZpbmcg
dGhlIHNlbGVjdG9yIGFzIHRoZSBuYW1lIG9mIHRoZSBub24taW5pdCAKKyAgICAvLyBmdW5jdGlv
bnMgdG8gbWFrZSBpdCBhIGJpdCBtb3JlIHVzZXItZnJpZW5kbHkgZnJvbSB0aGUgSlMgc2lkZT8K
ICAgICByZXR1cm4gIiI7CiB9CiAKQEAgLTY2Myw3ICs2NjksNiBAQCBzdGF0aWMgSlNPYmplY3RS
ZWYgb2JqQ0NhbGxiYWNrRnVuY3Rpb25GCiAgICAgSlNDOjpFeGVjU3RhdGUqIGV4ZWMgPSB0b0pT
KFtjb250ZXh0IEpTR2xvYmFsQ29udGV4dFJlZl0pOwogICAgIEpTQzo6QVBJRW50cnlTaGltIHNo
aW0oZXhlYyk7CiAgICAgT3duUHRyPEpTQzo6T2JqQ0NhbGxiYWNrRnVuY3Rpb25JbXBsPiBpbXBs
ID0gYWRvcHRQdHIobmV3IEpTQzo6T2JqQ0NhbGxiYWNrRnVuY3Rpb25JbXBsKGludm9jYXRpb24s
IHR5cGUsIGluc3RhbmNlQ2xhc3MsIGFyZ3VtZW50cy5yZWxlYXNlKCksIHJlc3VsdC5yZWxlYXNl
KCkpKTsKLSAgICAvLyBGSVhNRTogTWF5YmUgd2UgY291bGQgc3VwcG9ydCBoYXZpbmcgdGhlIHNl
bGVjdG9yIGFzIHRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiB0byBtYWtlIGl0IGEgYml0IG1vcmUg
dXNlci1mcmllbmRseSBmcm9tIHRoZSBKUyBzaWRlPwogICAgIHJldHVybiB0b1JlZihKU0M6Ok9i
akNDYWxsYmFja0Z1bmN0aW9uOjpjcmVhdGUoZXhlYy0+dm0oKSwgZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpLCBpbXBsLT5uYW1lKCksIGltcGwucmVsZWFzZSgpKSk7CiB9CiAKQEAgLTY3OCw4
ICs2ODMsMTAgQEAgSlNPYmplY3RSZWYgb2JqQ0NhbGxiYWNrRnVuY3Rpb25Gb3JNZXRobwogewog
ICAgIE5TSW52b2NhdGlvbiAqaW52b2NhdGlvbiA9IFtOU0ludm9jYXRpb24gaW52b2NhdGlvbldp
dGhNZXRob2RTaWduYXR1cmU6W05TTWV0aG9kU2lnbmF0dXJlIHNpZ25hdHVyZVdpdGhPYmpDVHlw
ZXM6dHlwZXNdXTsKICAgICBbaW52b2NhdGlvbiBzZXRTZWxlY3RvcjpzZWxdOworICAgIC8vIFdl
IG5lZWQgdG8gcmV0YWluIHRoZSB0YXJnZXQgQ2xhc3MgYmVjYXVzZSBtX2ludm9jYXRpb24gZG9l
c24ndCByZXRhaW4gaXQKKyAgICAvLyBieSBkZWZhdWx0IChhbmQgd2UgZG9uJ3Qgd2FudCBpdCB0
bykuCiAgICAgaWYgKCFpc0luc3RhbmNlTWV0aG9kKQotICAgICAgICBbaW52b2NhdGlvbiBzZXRU
YXJnZXQ6Y2xzXTsKKyAgICAgICAgW2ludm9jYXRpb24gc2V0VGFyZ2V0OltjbHMgcmV0YWluXV07
CiAgICAgcmV0dXJuIG9iakNDYWxsYmFja0Z1bmN0aW9uRm9ySW52b2NhdGlvbihjb250ZXh0LCBp
bnZvY2F0aW9uLCBpc0luc3RhbmNlTWV0aG9kID8gQ2FsbGJhY2tJbnN0YW5jZU1ldGhvZCA6IENh
bGxiYWNrQ2xhc3NNZXRob2QsIGlzSW5zdGFuY2VNZXRob2QgPyBjbHMgOiBuaWwsIF9wcm90b2Nv
bF9nZXRNZXRob2RUeXBlRW5jb2RpbmcocHJvdG9jb2wsIHNlbCwgWUVTLCBpc0luc3RhbmNlTWV0
aG9kKSk7CiB9CiAKQEAgLTY4OSwxMCArNjk2LDEzIEBAIEpTT2JqZWN0UmVmIG9iakNDYWxsYmFj
a0Z1bmN0aW9uRm9yQmxvY2sKICAgICAgICAgcmV0dXJuIDA7CiAgICAgY29uc3QgY2hhciogc2ln
bmF0dXJlID0gX0Jsb2NrX3NpZ25hdHVyZSh0YXJnZXQpOwogICAgIE5TSW52b2NhdGlvbiAqaW52
b2NhdGlvbiA9IFtOU0ludm9jYXRpb24gaW52b2NhdGlvbldpdGhNZXRob2RTaWduYXR1cmU6W05T
TWV0aG9kU2lnbmF0dXJlIHNpZ25hdHVyZVdpdGhPYmpDVHlwZXM6c2lnbmF0dXJlXV07Ci0gICAg
W2ludm9jYXRpb24gcmV0YWluQXJndW1lbnRzXTsKLSAgICBpZCB0YXJnZXRDb3B5ID0gW3Rhcmdl
dCBjb3B5XTsKLSAgICBbaW52b2NhdGlvbiBzZXRUYXJnZXQ6dGFyZ2V0Q29weV07Ci0gICAgW3Rh
cmdldENvcHkgcmVsZWFzZV07CisKKyAgICAvLyBXZSBkb24ndCB3YW50IHRvIHVzZSAtcmV0YWlu
QXJndW1lbnRzIGJlY2F1c2UgdGhhdCBsZWFrcyBtZW1vcnkuIEFyZ3VtZW50cyAKKyAgICAvLyB3
b3VsZCBiZSByZXRhaW5lZCBpbmRlZmluaXRlbHkgYmV0d2VlbiBpbnZvY2F0aW9ucyBvZiB0aGUg
Y2FsbGJhY2suCisgICAgLy8gQWRkaXRpb25hbGx5LCB3ZSBjb3B5IHRoZSB0YXJnZXQgYmVjYXVz
ZSB3ZSB3YW50IHRoZSBibG9jayB0byBzdGljayBhcm91bmQKKyAgICAvLyB1bnRpbCB0aGUgT2Jq
Q0NhbGxiYWNrRnVuY3Rpb25JbXBsIGlzIGRlc3Ryb3llZC4KKyAgICBbaW52b2NhdGlvbiBzZXRU
YXJnZXQ6W3RhcmdldCBjb3B5XV07CisKICAgICByZXR1cm4gb2JqQ0NhbGxiYWNrRnVuY3Rpb25G
b3JJbnZvY2F0aW9uKGNvbnRleHQsIGludm9jYXRpb24sIENhbGxiYWNrQmxvY2ssIG5pbCwgc2ln
bmF0dXJlKTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>