<?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>180375</bug_id>
          
          <creation_ts>2017-12-04 13:22:24 -0800</creation_ts>
          <short_desc>Proxy all functions, except the $ objects</short_desc>
          <delta_ts>2017-12-04 15:16:43 -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>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>
          <dependson>180306</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="JF Bastien">jfbastien</reporter>
          <assigned_to name="JF Bastien">jfbastien</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1377856</commentid>
    <comment_count>0</comment_count>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-12-04 13:22:24 -0800</bug_when>
    <thetext>It looks like https://bugs.webkit.org/show_bug.cgi?id=180306 may have broken some executions because (I&apos;m guessing here) I call some internal objects. Explicitly ignore objects whose name starts with &quot;$&quot; because it&apos;s a bad idea anyways.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377860</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-12-04 13:23:46 -0800</bug_when>
    <thetext>OK, I can reproduce the crashes locally:

#0  0x000000000067c7b6 in JSC::CodeBlock::unlinkIncomingCalls() ()
#1  0x0000000000ce044d in JSC::ScriptExecutable::installCode(JSC::VM&amp;, JSC::CodeBlock*, JSC::CodeType, JSC::CodeSpecializationKind) ()
#2  0x0000000000a1d4cc in JSC::JITWorklist::Plan::compileNow(JSC::CodeBlock*, unsigned int) ()
#3  0x0000000000a1a66a in JSC::JITWorklist::compileLater(JSC::CodeBlock*, unsigned int) ()
#4  0x0000000000a45923 in JSC::LLInt::jitCompileAndSetHeuristics(JSC::CodeBlock*, JSC::ExecState*, unsigned int) ()
#5  0x0000000000a44073 in llint_loop_osr ()
#6  0x0000000000a32964 in llint_entry ()
#7  0x0000000000a32c90 in llint_entry ()
#8  0x0000000000a2bb08 in vmEntryToJavaScript ()
#9  0x00000000009d4952 in JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
    ()
#10 0x00000000009ae252 in JSC::Interpreter::executeProgram(JSC::SourceCode const&amp;, JSC::ExecState*, JSC::JSObject*) ()
#11 0x0000000000b5b94d in JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) ()
#12 0x0000000000666419 in jscmain(int, char**) ()
#13 0x000000000065c1ea in main ()
#0  0x000000000067c7b6 in JSC::CodeBlock::unlinkIncomingCalls() ()
#1  0x0000000000ce044d in JSC::ScriptExecutable::installCode(JSC::VM&amp;, JSC::CodeBlock*, JSC::CodeType, JSC::CodeSpecializationKind) ()
#2  0x0000000000a1d4cc in JSC::JITWorklist::Plan::compileNow(JSC::CodeBlock*, unsigned int) ()
#3  0x0000000000a1a66a in JSC::JITWorklist::compileLater(JSC::CodeBlock*, unsigned int) ()
#4  0x0000000000a45923 in JSC::LLInt::jitCompileAndSetHeuristics(JSC::CodeBlock*, JSC::ExecState*, unsigned int) ()
#5  0x0000000000a44073 in llint_loop_osr ()
#6  0x0000000000a32964 in llint_entry ()
#7  0x0000000000a32c90 in llint_entry ()
#8  0x0000000000a2bb08 in vmEntryToJavaScript ()
#9  0x00000000009d4952 in JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
    ()
#10 0x00000000009ae252 in JSC::Interpreter::executeProgram(JSC::SourceCode const&amp;, JSC::ExecState*, JSC::JSObject*) ()
#11 0x0000000000b5b94d in JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) ()
#12 0x0000000000666419 in jscmain(int, char**) ()
#13 0x000000000065c1ea in main ()

No data members because I was silly and did a release build specifically for this, thinking to avoid all the extra failures from asserts that are occurring in debug builds (we need to get a handle on those). I can redo it with a debug build if filtering out the $ objects doesn&apos;t work and you need a better backtrace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377861</commentid>
    <comment_count>2</comment_count>
      <attachid>328381</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-12-04 13:24:43 -0800</bug_when>
    <thetext>Created attachment 328381
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377863</commentid>
    <comment_count>3</comment_count>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-12-04 13:26:29 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #1)
&gt; OK, I can reproduce the crashes locally:

Does it still repo with my change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377899</commentid>
    <comment_count>4</comment_count>
      <attachid>328381</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-04 14:06:54 -0800</bug_when>
    <thetext>Comment on attachment 328381
patch

Clearing flags on attachment: 328381

Committed r225493: &lt;https://trac.webkit.org/changeset/225493&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377900</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-04 14:06:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377902</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-04 14:07:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/35838830&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377948</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-12-04 15:16:43 -0800</bug_when>
    <thetext>(In reply to JF Bastien from comment #3)
&gt; (In reply to Michael Catanzaro from comment #1)
&gt; &gt; OK, I can reproduce the crashes locally:
&gt; 
&gt; Does it still repo with my change?

No, the bots are happy again. Thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328381</attachid>
            <date>2017-12-04 13:24:43 -0800</date>
            <delta_ts>2017-12-04 14:06:54 -0800</delta_ts>
            <desc>patch</desc>
            <filename>0001-Proxy-all-functions-except-the-objects.patch</filename>
            <type>text/plain</type>
            <size>2361</size>
            <attacher name="JF Bastien">jfbastien</attacher>
            
              <data encoding="base64">RnJvbSBkODU1OTJjNTdmOGZhNmRlNTUyZDU3NjM3YmEzMWUxZDkwMjg5YzM3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKRiBCYXN0aWVuIDxqZmJhc3RpZW5AYXBwbGUuY29tPgpEYXRl
OiBNb24sIDQgRGVjIDIwMTcgMTM6MjQ6MjIgLTA4MDAKU3ViamVjdDogW1BBVENIXSBQcm94eSBh
bGwgZnVuY3Rpb25zLCBleGNlcHQgdGhlICQgb2JqZWN0cwoKLS0tCiBKU1Rlc3RzL0NoYW5nZUxv
ZyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNSArKysrKysrKysrKysrKysKIEpTVGVzdHMv
c3RyZXNzL3Byb3h5LWFsbC10aGUtcGFyYW1ldGVycy5qcyB8ICA2ICsrLS0tLQogMiBmaWxlcyBj
aGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0pT
VGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTQ0NzdhNS4uNDZlMWQ1
ZCAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOCBAQAorMjAxNy0xMi0wNCAgSkYgQmFzdGllbiAgPGpmYmFzdGllbkBhcHBs
ZS5jb20+CisKKyAgICAgICAgUHJveHkgYWxsIGZ1bmN0aW9ucywgZXhjZXB0IHRoZSAkIG9iamVj
dHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDM3
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEl0IGxv
b2tzIGxpa2UgdGhpcyB0ZXN0IG1heSBoYXZlIGJyb2tlbiBzb21lIGV4ZWN1dGlvbnMgYmVjYXVz
ZSBJCisgICAgICAgIGNhbGwgc29tZSBpbnRlcm5hbCBvYmplY3RzLiBFeHBsaWNpdGx5IGlnbm9y
ZSBvYmplY3RzIHdob3NlIG5hbWUKKyAgICAgICAgc3RhcnRzIHdpdGggIiQiIGJlY2F1c2UgaXQn
cyBhIGJhZCBpZGVhIGFueXdheXMuCisKKyAgICAgICAgKiBzdHJlc3MvcHJveHktYWxsLXRoZS1w
YXJhbWV0ZXJzLmpzOgorICAgICAgICAoZ2VuZXJhdGVPYmplY3RzKToKKyAgICAgICAgKGdldCB0
aHJvdyk6CisKIDIwMTctMTItMDEgIEpGIEJhc3RpZW4gIDxqZmJhc3RpZW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFRyeSBwcm94eWluZyBhbGwgZnVuY3Rpb24gYXJndW1lbnRzCmRpZmYgLS1naXQg
YS9KU1Rlc3RzL3N0cmVzcy9wcm94eS1hbGwtdGhlLXBhcmFtZXRlcnMuanMgYi9KU1Rlc3RzL3N0
cmVzcy9wcm94eS1hbGwtdGhlLXBhcmFtZXRlcnMuanMKaW5kZXggYmExYTRjZS4uNGRlNmNjYyAx
MDA2NDQKLS0tIGEvSlNUZXN0cy9zdHJlc3MvcHJveHktYWxsLXRoZS1wYXJhbWV0ZXJzLmpzCisr
KyBiL0pTVGVzdHMvc3RyZXNzL3Byb3h5LWFsbC10aGUtcGFyYW1ldGVycy5qcwpAQCAtMSw3ICsx
LDUgQEAKIGNvbnN0IHZlcmJvc2UgPSBmYWxzZTsKIAotY29uc3QgaWdub3JlID0gWydxdWl0Jywg
J3JlYWRsaW5lJywgJ3dhaXRGb3JSZXBvcnQnLCAnZmxhc2hIZWFwQWNjZXNzJywgJ2xlYXZpbmcn
LCAnZ2V0UmVwb3J0J107Ci0KIGZ1bmN0aW9uIGlzUHJvcGVydHlPZlR5cGUob2JqLCBuYW1lLCB0
eXBlKSB7CiAgICAgbGV0IGRlc2M7CiAgICAgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3Iob2JqLCBuYW1lKQpAQCAtMjIsNiArMjAsOCBAQCBmdW5jdGlvbiogZ2VuZXJhdGVP
YmplY3RzKHJvb3QgPSB0aGlzLCBsZXZlbCA9IDApIHsKICAgICAgICAgcmV0dXJuOwogICAgIGxl
dCBvYmpfbmFtZXMgPSBnZXRQcm9wZXJ0aWVzKHJvb3QsICdvYmplY3QnKTsKICAgICBmb3IgKGxl
dCBvYmpfbmFtZSBvZiBvYmpfbmFtZXMpIHsKKyAgICAgICAgaWYgKG9ial9uYW1lLnN0YXJ0c1dp
dGgoJyQnKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBJZ25vcmUgaW50ZXJuYWwgb2JqZWN0
cy4KICAgICAgICAgbGV0IG9iaiA9IHJvb3Rbb2JqX25hbWVdOwogICAgICAgICB5aWVsZCBvYmo7
CiAgICAgICAgIHlpZWxkKiBnZW5lcmF0ZU9iamVjdHMob2JqLCBsZXZlbCArIDEpOwpAQCAtNDQs
OCArNDQsNiBAQCBjb25zdCB0aHJvd2VyID0gbmV3IFByb3h5KHt9LCB7IGdldCgpIHsgdGhyb3cg
MHhjMGRlZmVmZTsgfSB9KTsKIAogZm9yIChsZXQgbyBvZiBnZXRPYmplY3RzKCkpIHsKICAgICBm
b3IgKGxldCBmIG9mIGdldEZ1bmN0aW9ucyhvKSkgewotICAgICAgICBpZiAoaWdub3JlLmluY2x1
ZGVzKGYpKQotICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGNvbnN0IGFyaXR5UGx1c09u
ZSA9IG9bZl0ubGVuZ3RoICsgMTsKICAgICAgICAgaWYgKHZlcmJvc2UpCiAgICAgICAgICAgICBw
cmludChgQ2FsbGluZyAke299Wycke2Z9J10oJHtBcnJheShhcml0eVBsdXNPbmUpLmZpbGwoInRo
cm93ZXIiKX0pYCk7Ci0tIAoyLjkuMwoK
</data>

          </attachment>
      

    </bug>

</bugzilla>