<?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>157491</bug_id>
          
          <creation_ts>2016-05-09 14:48:57 -0700</creation_ts>
          <short_desc>Crash beneath ObjCCallbackFunctionImpl::call</short_desc>
          <delta_ts>2016-05-09 20:21:56 -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>JavaScriptCore</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1191321</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-05-09 14:48:57 -0700</bug_when>
    <thetext>It appears that some Promise builtin code is throwing an exception.  The exception is still set in the VM when we later call tryUnwrapObjcObject() from ObjCCallbackFunctionImpl::call().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191322</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-05-09 14:49:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/25867374&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191410</commentid>
    <comment_count>2</comment_count>
      <attachid>278469</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-05-09 18:55:21 -0700</bug_when>
    <thetext>Created attachment 278469
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191414</commentid>
    <comment_count>3</comment_count>
      <attachid>278469</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-05-09 19:12:29 -0700</bug_when>
    <thetext>Comment on attachment 278469
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:11
&gt; +        Tried creating a test case, but I don&apos;t have source for the app.
&gt; +        I can&apos;t seem to find the right combination of Promises and ObjC code.

What about just regular JS code?
Like you have two schedules promises.
The first throws
The second should still run. Would we start running the second with an exception in the VM?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191415</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-05-09 19:17:15 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 278469 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=278469&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/ChangeLog:11
&gt; &gt; +        Tried creating a test case, but I don&apos;t have source for the app.
&gt; &gt; +        I can&apos;t seem to find the right combination of Promises and ObjC code.
&gt; 
&gt; What about just regular JS code?
&gt; Like you have two schedules promises.
&gt; The first throws
&gt; The second should still run. Would we start running the second with an
&gt; exception in the VM?

The bug here is when we try to invoke a callback that is an instance function on a wrapped ObjC object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191429</commentid>
    <comment_count>5</comment_count>
      <attachid>278469</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-09 20:21:52 -0700</bug_when>
    <thetext>Comment on attachment 278469
Patch

Clearing flags on attachment: 278469

Committed r200610: &lt;http://trac.webkit.org/changeset/200610&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1191430</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-09 20:21:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278469</attachid>
            <date>2016-05-09 18:55:21 -0700</date>
            <delta_ts>2016-05-09 20:21:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>157491.patch</filename>
            <type>text/plain</type>
            <size>1490</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjAwNjA1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBA
CisyMDE2LTA1LTA5ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENyYXNoIGJlbmVhdGggT2JqQ0NhbGxiYWNrRnVuY3Rpb25JbXBsOjpjYWxsCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc0OTEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDbGVhciBhbnkgZXhjZXB0
aW9ucyBhZnRlciB0aGUgbWljcm8gdGFzayBydW5zLgorCisgICAgICAgIFRyaWVkIGNyZWF0aW5n
IGEgdGVzdCBjYXNlLCBidXQgSSBkb24ndCBoYXZlIHNvdXJjZSBmb3IgdGhlIGFwcC4KKyAgICAg
ICAgSSBjYW4ndCBzZWVtIHRvIGZpbmQgdGhlIHJpZ2h0IGNvbWJpbmF0aW9uIG9mIFByb21pc2Vz
IGFuZCBPYmpDIGNvZGUuCisKKyAgICAgICAgKiBydW50aW1lL0pTSm9iLmNwcDoKKyAgICAgICAg
KEpTQzo6SlNKb2JNaWNyb3Rhc2s6OnJ1bik6CisKIDIwMTYtMDUtMDkgIEtlaXRoIE1pbGxlciAg
PGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgQ2FsbE9iamVjdENvbnN0cnVjdG9y
IHNob3VsZCBub3QgY2FsbCBvcGVyYXRpb25Ub1RoaXMgaW4gdGhlIEZUTApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNKb2IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTSm9iLmNwcAkocmV2aXNpb24gMjAwMzk0KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNKb2IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03
MSw2ICs3MSw3IEBAIHZvaWQgSlNKb2JNaWNyb3Rhc2s6OnJ1bihFeGVjU3RhdGUqIGV4ZWMKICAg
ICBmb3IgKHVuc2lnbmVkIGluZGV4ID0gMCwgbGVuZ3RoID0gbV9hcmd1bWVudHMtPmxlbmd0aCgp
OyBpbmRleCA8IGxlbmd0aDsgKytpbmRleCkKICAgICAgICAgaGFuZGxlckFyZ3VtZW50cy5hcHBl
bmQobV9hcmd1bWVudHMtPkpTQXJyYXk6OmdldChleGVjLCBpbmRleCkpOwogICAgIHByb2ZpbGVk
Q2FsbChleGVjLCBQcm9maWxpbmdSZWFzb246Ok1pY3JvdGFzaywgbV9qb2IuZ2V0KCksIGhhbmRs
ZXJDYWxsVHlwZSwgaGFuZGxlckNhbGxEYXRhLCBqc1VuZGVmaW5lZCgpLCBoYW5kbGVyQXJndW1l
bnRzKTsKKyAgICBleGVjLT52bSgpLmNsZWFyRXhjZXB0aW9uKCk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIEpTQwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>