<?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>228075</bug_id>
          
          <creation_ts>2021-07-19 01:32:59 -0700</creation_ts>
          <short_desc>[JSC] invalidParameterInstanceofSourceAppender should care direct call of Symbol.hasInstance</short_desc>
          <delta_ts>2021-07-20 12:36:07 -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="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gpoo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>pmatos</cc>
    
    <cc>product-security</cc>
    
    <cc>rbuis</cc>
    
    <cc>rmorisset</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
    
    <cc>svillar</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1777826</commentid>
    <comment_count>0</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2021-07-19 01:32:59 -0700</bug_when>
    <thetext>See attached testcase and error message below.
Reproduced with JSC on ASAN release builds r280021, for both Linux and macos.

ASSERTION FAILED: instanceofIndex != notFound
./runtime/ExceptionHelpers.cpp(222) : WTF::String JSC::invalidParameterInstanceofSourceAppender(const WTF::String &amp;, const WTF::String &amp;, const WTF::String &amp;, JSC::RuntimeType, ErrorInstance::SourceTextWhereErrorOccurred)
1   0x10104f9b4 WTFCrash
2   0x103ac7714 WTFCrashWithInfo(int, char const*, char const*, int)
3   0x106e96e28 JSC::invalidParameterInstanceofSourceAppender(WTF::String const&amp;, WTF::String const&amp;, WTF::String const&amp;, JSC::RuntimeType, JSC::ErrorInstance::SourceTextWhereErrorOccurred)
4   0x106e8d214 JSC::invalidParameterInstanceofhasInstanceValueNotFunctionSourceAppender(WTF::String const&amp;, WTF::String const&amp;, JSC::RuntimeType, JSC::ErrorInstance::SourceTextWhereErrorOccurred)
5   0x106e744c4 JSC::appendSourceToErrorMessage(JSC::CallFrame*, JSC::ErrorInstance*, JSC::BytecodeIndex, WTF::String const&amp;)
6   0x106e737f0 JSC::ErrorInstance::finishCreation(JSC::VM&amp;, JSC::JSGlobalObject*, WTF::String const&amp;, JSC::JSValue, WTF::String (*)(WTF::String const&amp;, WTF::String const&amp;, JSC::RuntimeType, JSC::ErrorInstance::SourceTextWhereErrorOccurred), JSC::RuntimeType, bool)
7   0x106b5a780 JSC::ErrorInstance::create(JSC::JSGlobalObject*, JSC::VM&amp;, JSC::Structure*, WTF::String const&amp;, JSC::JSValue, WTF::String (*)(WTF::String const&amp;, WTF::String const&amp;, JSC::RuntimeType, JSC::ErrorInstance::SourceTextWhereErrorOccurred), JSC::RuntimeType, JSC::ErrorType, bool)
8   0x106e68c00 JSC::createTypeError(JSC::JSGlobalObject*, WTF::String const&amp;, WTF::String (*)(WTF::String const&amp;, WTF::String const&amp;, JSC::RuntimeType, JSC::ErrorInstance::SourceTextWhereErrorOccurred), JSC::RuntimeType)
9   0x106e8ba04 JSC::createError(JSC::JSGlobalObject*, JSC::JSValue, WTF::String const&amp;, WTF::String (*)(WTF::String const&amp;, WTF::String const&amp;, JSC::RuntimeType, JSC::ErrorInstance::SourceTextWhereErrorOccurred))
10  0x106e8cf6c JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction(JSC::JSGlobalObject*, JSC::JSValue)
11  0x107340988 JSC::JSObject::hasInstance(JSC::JSGlobalObject*, JSC::JSValue, JSC::JSValue)
12  0x107341ed8 JSC::JSObject::hasInstance(JSC::JSGlobalObject*, JSC::JSValue)
13  0x1070a3ec4 JSC::hasInstanceBoundFunction(JSC::JSGlobalObject*, JSC::CallFrame*)
14  0x11d8041b4
15  0x103b6a250 llint_entry
16  0x103b45168 vmEntryToJavaScript
17  0x10623d6b8 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
18  0x10623ae00 JSC::Interpreter::executeProgram(JSC::SourceCode const&amp;, JSC::JSGlobalObject*, JSC::JSObject*)
19  0x106dbc4cc JSC::evaluate(JSC::JSGlobalObject*, JSC::SourceCode const&amp;, JSC::JSValue, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)
20  0x1008b8704 runWithOptions(GlobalObject*, CommandLine&amp;, bool&amp;)
21  0x10081570c jscmain(int, char**)::$_8::operator()(JSC::VM&amp;, GlobalObject*, bool&amp;) const
22  0x10079c484 int runJSC&lt;jscmain(int, char**)::$_8&gt;(CommandLine const&amp;, bool, jscmain(int, char**)::$_8 const&amp;)
23  0x10079671c jscmain(int, char**)
24  0x100795ec0 main
25  0x189dc1450 start</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777827</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-19 01:33:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/80762879&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777831</commentid>
    <comment_count>2</comment_count>
      <attachid>433776</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2021-07-19 01:41:09 -0700</bug_when>
    <thetext>Created attachment 433776
Testcase

Sorry, I forgot to attach the testcase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777838</commentid>
    <comment_count>3</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2021-07-19 02:24:33 -0700</bug_when>
    <thetext>This is happening when JSC appends a source error.

The invalidParameterInstanceofSourceAppender function expects the the sourceText to contain the string &quot;instanceof&quot;, which is not the case here: 

222	    RELEASE_ASSERT(instanceofIndex != notFound);
(rr) p content.utf8().data()
$1 = 0x607000005510 &quot;[Symbol.hasInstance] is not a function, undefined, or null&quot;
(rr) p originalMessage.utf8().data()
$2 = 0x608000004d30 &quot;function [Symbol.hasInstance] is not a function, undefined, or null&quot;
(rr) p sourceText.utf8().data()
$3 = 0x606000007c50 &quot;Function.prototype[Symbol.hasInstance].call(b)&quot;

It does not seem a security issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778133</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-07-20 03:30:32 -0700</bug_when>
    <thetext>Will look</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778134</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-07-20 03:33:06 -0700</bug_when>
    <thetext>Since this is release-assert, it is not a security issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778136</commentid>
    <comment_count>6</comment_count>
      <attachid>433866</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-07-20 03:42:15 -0700</bug_when>
    <thetext>Created attachment 433866
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778145</commentid>
    <comment_count>7</comment_count>
      <attachid>433866</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2021-07-20 04:19:07 -0700</bug_when>
    <thetext>Comment on attachment 433866
Patch

Thanks. I&apos;m going to r+ this since I suspect many reviewers are on holidays and this change seems uncontroversial.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778223</commentid>
    <comment_count>8</comment_count>
      <attachid>433866</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-07-20 11:47:40 -0700</bug_when>
    <thetext>Comment on attachment 433866
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1778242</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-20 12:36:04 -0700</bug_when>
    <thetext>Committed r280097 (239814@main): &lt;https://commits.webkit.org/239814@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433866.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>433776</attachid>
            <date>2021-07-19 01:41:09 -0700</date>
            <delta_ts>2021-07-19 01:41:09 -0700</delta_ts>
            <desc>Testcase</desc>
            <filename>release-assert-instanceofindex-not-found.js</filename>
            <type>application/x-javascript</type>
            <size>154</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">bGV0IGEgPSBmdW5jdGlvbigpIHt9OwpPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwgU3ltYm9sLmhh
c0luc3RhbmNlLCB7IHZhbHVlOiBBdG9taWNzIH0pOwpsZXQgYiA9IGEuYmluZCgpOwpGdW5jdGlv
bi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXS5jYWxsKGIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433866</attachid>
            <date>2021-07-20 03:42:15 -0700</date>
            <delta_ts>2021-07-20 12:36:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228075-20210720034214.patch</filename>
            <type>text/plain</type>
            <size>3622</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
MWNjZGQ4NjhkMjY0ODcxZGQwY2M2MDI0ZGUxMDY2NGZhOTk3ZTU4Li43MmMyODMwMTliMGVmZDli
YTVhMTlmY2NlN2Q4N2ZkOTA1MjM2NDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAyMS0wNy0yMCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIGludmFsaWRQYXJhbWV0ZXJJbnN0YW5jZW9mU291cmNlQXBwZW5k
ZXIgc2hvdWxkIGNhcmUgZGlyZWN0IGNhbGwgb2YgU3ltYm9sLmhhc0luc3RhbmNlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjgwNzUKKyAgICAgICAg
cmRhcjovLzgwNzYyODc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgaW52YWxpZFBhcmFtZXRlckluc3RhbmNlb2ZTb3VyY2VBcHBlbmRlciBjYW4gYmUg
aW52b2tlZCB3aXRob3V0IGBpbnN0YW5jZW9mYCBleHByZXNzaW9uIHNpbmNlIHdlIGNhbiBjYWxs
CisgICAgICAgIGBbU3ltYm9sLmhhc0luc3RhbmNlXWAgZnVuY3Rpb24gZGlyZWN0bHksIGJ1dCB0
aGUgaW1wbGVtZW50YXRpb24gZGlkIG5vdCBhc3N1bWUgdGhhdC4gVGhpcyBwYXRjaCBmaXhlcwor
ICAgICAgICBpdCB0byBoYW5kbGUgdGhpcyBkaXJlY3QgY2FsbC4KKworICAgICAgICAqIHJ1bnRp
bWUvRXhjZXB0aW9uSGVscGVycy5jcHA6CisgICAgICAgIChKU0M6OmludmFsaWRQYXJhbWV0ZXJJ
bnN0YW5jZW9mU291cmNlQXBwZW5kZXIpOgorCiAyMDIxLTA3LTE5ICBZdXN1a2UgU3V6dWtpICA8
eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gU3RydWN0dXJlU3R1YkluZm8ncyBt
X2lkZW50aWZpZXIgc2hvdWxkIGZvbGxvdyB0byB0aGUgc2FtZSBwcm90b2NvbCBvZiBpbmxpbmVB
Y2Nlc3NCYXNlU3RydWN0dXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FeGNlcHRpb25IZWxwZXJzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0V4Y2VwdGlvbkhlbHBlcnMuY3BwCmluZGV4IGI1OTVhMzAyODM3NjkzZDRiNzQ4NWZkNTE1ZWJh
MTY3YmVmZjkzOTguLjA5OWZmNzFjZDYyNjViOGQxY2E4YzkxZTM2MTEzNjFlZTBlZTdmYTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2VwdGlvbkhlbHBlcnMu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2VwdGlvbkhlbHBlcnMu
Y3BwCkBAIC0yMTksNyArMjE5LDEwIEBAIGlubGluZSBTdHJpbmcgaW52YWxpZFBhcmFtZXRlcklu
c3RhbmNlb2ZTb3VyY2VBcHBlbmRlcihjb25zdCBTdHJpbmcmIGNvbnRlbnQsIGNvCiAKICAgICBB
U1NFUlQob2NjdXJyZW5jZSA9PSBFcnJvckluc3RhbmNlOjpGb3VuZEV4YWN0U291cmNlKTsKICAg
ICBhdXRvIGluc3RhbmNlb2ZJbmRleCA9IHNvdXJjZVRleHQucmV2ZXJzZUZpbmQoImluc3RhbmNl
b2YiKTsKLSAgICBSRUxFQVNFX0FTU0VSVChpbnN0YW5jZW9mSW5kZXggIT0gbm90Rm91bmQpOwor
ICAgIC8vIFRoaXMgY2FuIGhhcHBlbiB3aGVuIFN5bWJvbC5oYXNJbnN0YW5jZSBmdW5jdGlvbiBp
cyBkaXJlY3RseSBjYWxsZWQuCisgICAgaWYgKGluc3RhbmNlb2ZJbmRleCA9PSBub3RGb3VuZCkK
KyAgICAgICAgcmV0dXJuIG9yaWdpbmFsTWVzc2FnZTsKKwogICAgIGlmIChzb3VyY2VUZXh0LmZp
bmQoImluc3RhbmNlb2YiKSAhPSBpbnN0YW5jZW9mSW5kZXgpCiAgICAgICAgIHJldHVybiBtYWtl
U3RyaW5nKG9yaWdpbmFsTWVzc2FnZSwgIiAoZXZhbHVhdGluZyAnIiwgc291cmNlVGV4dCwgIicp
Iik7CiAKZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggNGY0MzY3OTc5MTljYTNmZWY5ZmQwZTFhNjRhNWQ2NTE3N2U5Nzk3Ny4uYjJmNjk5NDNk
OWRjZWM4YzU1NzJkYWEzMGY2ZmIzYmQxMWVlMDI1YiAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wNy0y
MCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIFtKU0NdIGlu
dmFsaWRQYXJhbWV0ZXJJbnN0YW5jZW9mU291cmNlQXBwZW5kZXIgc2hvdWxkIGNhcmUgZGlyZWN0
IGNhbGwgb2YgU3ltYm9sLmhhc0luc3RhbmNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjgwNzUKKyAgICAgICAgcmRhcjovLzgwNzYyODc5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3Mvc3lt
Ym9sLWhhc2luc3RhbmNlLWVycm9yLmpzOiBBZGRlZC4KKyAgICAgICAgKHNob3VsZFRocm93KToK
KyAgICAgICAgKGxldC5hKToKKwogMjAyMS0wNy0xOSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBs
ZS5jb20+CiAKICAgICAgICAgREZHJ3MgcGFyc2VJbnRSZXN1bHQoKSBzaG91bGQgY2hlY2sgZm9y
IG5lZ2F0aXZlIHplcm8uCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3N0cmVzcy9zeW1ib2wtaGFzaW5z
dGFuY2UtZXJyb3IuanMgYi9KU1Rlc3RzL3N0cmVzcy9zeW1ib2wtaGFzaW5zdGFuY2UtZXJyb3Iu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjg0OGUwOGM0MmUzZTE1ZjM1N2NiOGVjNmIyM2E0MGNkZjg0MzZmZgot
LS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNzL3N5bWJvbC1oYXNpbnN0YW5jZS1lcnJv
ci5qcwpAQCAtMCwwICsxLDIxIEBACitmdW5jdGlvbiBzaG91bGRUaHJvdyhmdW5jLCBlcnJvck1l
c3NhZ2UpIHsKKyAgICB2YXIgZXJyb3JUaHJvd24gPSBmYWxzZTsKKyAgICB2YXIgZXJyb3IgPSBu
dWxsOworICAgIHRyeSB7CisgICAgICAgIGZ1bmMoKTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAg
ICAgIGVycm9yVGhyb3duID0gdHJ1ZTsKKyAgICAgICAgZXJyb3IgPSBlOworICAgIH0KKyAgICBp
ZiAoIWVycm9yVGhyb3duKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCB0aHJvd24nKTsK
KyAgICBpZiAoU3RyaW5nKGVycm9yKSAhPT0gZXJyb3JNZXNzYWdlKQorICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoYGJhZCBlcnJvcjogJHtTdHJpbmcoZXJyb3IpfWApOworfQorCitsZXQgYSA9IGZ1
bmN0aW9uKCkge307CitPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwgU3ltYm9sLmhhc0luc3RhbmNl
LCB7IHZhbHVlOiBBdG9taWNzIH0pOworbGV0IGIgPSBhLmJpbmQoKTsKK3Nob3VsZFRocm93KCgp
ID0+IHsKKyAgICBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXS5jYWxsKGIp
Cit9LCBgVHlwZUVycm9yOiBmdW5jdGlvbiBbU3ltYm9sLmhhc0luc3RhbmNlXSBpcyBub3QgYSBm
dW5jdGlvbiwgdW5kZWZpbmVkLCBvciBudWxsYCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>