<?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>154378</bug_id>
          
          <creation_ts>2016-02-17 19:51:51 -0800</creation_ts>
          <short_desc>Crash on SES selftest page when loading the page while WebInspector is open</short_desc>
          <delta_ts>2020-04-08 16:32:15 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=154350</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=154102</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=200560</see_also>
          <bug_file_loc>https://rawgit.com/tvcutsem/es-lab/master/src/ses/contract.html</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>erights</cc>
    
    <cc>ggaren</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1165872</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-17 19:51:51 -0800</bug_when>
    <thetext>Crash on SES selftest page when loading the page while WebInspector is open:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x000000010a901f81 JSC::JSObject::getOwnPropertyDescriptor(JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&amp;) + 449
1   com.apple.JavaScriptCore      	0x000000010a9bee88 JSC::objectConstructorGetOwnPropertyDescriptor(JSC::ExecState*, JSC::JSObject*, JSC::Identifier const&amp;) + 72
2   com.apple.JavaScriptCore      	0x000000010a9bd336 JSC::objectConstructorGetOwnPropertyDescriptor(JSC::ExecState*) + 550
3   ???                           	0x00003a5d9d601028 0 + 64173746688040
4   com.apple.JavaScriptCore      	0x000000010a99baeb llint_entry + 23561
5   com.apple.JavaScriptCore      	0x000000010a99bb5d llint_entry + 23675
6   com.apple.JavaScriptCore      	0x000000010a99baeb llint_entry + 23561
7   com.apple.JavaScriptCore      	0x000000010a99baeb llint_entry + 23561
8   com.apple.JavaScriptCore      	0x000000010a995cff vmEntryToJavaScript + 299
9   com.apple.JavaScriptCore      	0x000000010a88389e JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 158</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165875</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-02-17 19:53:47 -0800</bug_when>
    <thetext>&lt;rdar://problem/24713422&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165878</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-17 19:57:54 -0800</bug_when>
    <thetext>Looks like there were 2 checks like this in putDirectInternal:
 if ((attributes &amp; Accessor) != (currentAttributes &amp; Accessor))

And I only updated one of them :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165889</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-17 20:58:33 -0800</bug_when>
    <thetext>This time it seems we hit the following assertion in getOwnPropertyDescriptor():
ASSERT(maybeGetterSetter);

So we have a slot with CustomAccessor attribute but getDirect() returns no value somehow.

|this| is a DebuggerScope and the propertyName is “document”.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165928</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-17 22:24:12 -0800</bug_when>
    <thetext>I think the issue is that DebuggerScope::getOwnPropertySlot() does not only return *own* properties. It searches the prototype chain, like JSDOMWindow used to do before r196676. We used to have a check at the top of GetOwnPropertyDescriptor() to return early if getOwnPropertySlot() returned a non-own property but Gavin dropped it in r 196676, assuming the workaround was only needed for JSDOMWindow...

We probably need to add the following check back:
    if (slot.slotBase() != this &amp;&amp; slot.slotBase()) {
        if (!proxy || proxy-&gt;target() != slot.slotBase())
            return false;
    }

I will verify.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166044</commentid>
    <comment_count>5</comment_count>
      <attachid>271663</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-18 08:47:26 -0800</bug_when>
    <thetext>Created attachment 271663
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166049</commentid>
    <comment_count>6</comment_count>
      <attachid>271663</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-02-18 08:56:26 -0800</bug_when>
    <thetext>Comment on attachment 271663
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166054</commentid>
    <comment_count>7</comment_count>
      <attachid>271663</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-18 09:19:30 -0800</bug_when>
    <thetext>Comment on attachment 271663
Patch

Clearing flags on attachment: 271663

Committed r196760: &lt;http://trac.webkit.org/changeset/196760&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166055</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-02-18 09:19:35 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271663</attachid>
            <date>2016-02-18 08:47:26 -0800</date>
            <delta_ts>2016-02-18 09:19:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154378-20160218084707.patch</filename>
            <type>text/plain</type>
            <size>2726</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2NzM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
NzlkNzUxZjJiMGEyOWU3NDRkODIwZmY0ODI2ZTliNDQyZTJjM2VmLi5jNjYxYzI5OTM2YjU2NzUw
NTZkMmYxZTNmMjVhZTBhZjliOWYwZGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAxNi0wMi0xOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIENyYXNoIG9uIFNFUyBzZWxmdGVzdCBwYWdlIHdoZW4gbG9hZGluZyB0aGUgcGFn
ZSB3aGlsZSBXZWJJbnNwZWN0b3IgaXMgb3BlbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0Mzc4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNDcx
MzQyMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBE
byBhIHBhcnRpYWwgcmV2ZXJ0IG9mIHIxOTY2NzYgc28gdGhhdCBKU09iamVjdDo6Z2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKCkKKyAgICAgICAgcmV0dXJucyBlYXJseSBhZ2FpbiBpZiBpdCBkZXRl
Y3RzIHRoYXQgZ2V0T3duUHJvcGVydHlTbG90KCkgcmV0dXJucyBhCisgICAgICAgIG5vbi1vd24g
cHJvcGVydHkuIFRoaXMgY2hlY2sgd2FzIHJlbW92ZWQgaW4gcjE5NjY3NiBiZWNhdXNlIHdlIGFz
c3VtZWQgdGhhdAorICAgICAgICBvbmx5IEpTRE9NV2luZG93OjpnZXRPd25Qcm9wZXJ0eVNsb3Qo
KSBjb3VsZCByZXR1cm4gbm9uLW93biBwcm9wZXJ0aWVzLgorICAgICAgICBIb3dldmVyLCBhcyBp
dCB0dXJucyBvdXQsIERlYnVnZ2VyU2NvcGU6OmdldE93blByb3BlcnR5U2xvdCgpIGRvZXMgc28g
YXMKKyAgICAgICAgd2VsbC4KKworICAgICAgICBOb3QgaGF2aW5nIHRoZSBjaGVjayB3b3VsZCBs
ZWFkIHRvIGNyYXNoZXMgd2hlbiB1c2luZyB0aGUgZGVidWdnZXIgYmVjYXVzZQorICAgICAgICB3
ZSB3b3VsZCBnZXQgYSBzbG90IHdpdGggdGhlIEN1c3RvbUFjY2Vzc29yIGF0dHJpYnV0ZSBidXQg
Z2V0RGlyZWN0KCkgd291bGQKKyAgICAgICAgdGhlbiBmYWlsIHRvIHJldHVybiB0aGUgcHJvcGVy
dHkgKGJlY2F1c2UgaXQgaXMgbm90IGFuIG93biBwcm9wZXJ0eSkuIFdlCisgICAgICAgIHdvdWxk
IHRoZW4gY2FzdCB0aGUgdmFsdWUgcmV0dXJuZWQgYnkgZ2V0RGlyZWN0KCkgdG8gYSBDdXN0b21H
ZXR0ZXJTZXR0ZXIqCisgICAgICAgIGFuZCBkZXJlZmVyZW5jZSBpdC4KKworICAgICAgICAqIHJ1
bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKToKKwogMjAxNi0wMi0xNyAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWlu
QGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBBUk02NDogU3VwcG9ydCB0aGUgaW1tZWRpYXRl
IGZvcm1hdCB1c2VkIGZvciBiaXQgb3BlcmF0aW9ucyBpbiBBaXIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAppbmRleCA3MDY0NTkzODJiM2ZlOGJlM2VkNjUwZTYy
NmUzNjY0YmJhMDgyZTNiLi4xZTFkMjBlNmE2Y2U5MDA3ODY5MTZhZmI1ODZlNTZlMTNiNzFhMjU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCkBAIC0yNTU2
LDYgKzI1NTYsMTUgQEAgYm9vbCBKU09iamVjdDo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV4
ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmEKICAgICBpZiAoIW1ldGhvZFRh
YmxlKGV4ZWMtPnZtKCkpLT5nZXRPd25Qcm9wZXJ0eVNsb3QodGhpcywgZXhlYywgcHJvcGVydHlO
YW1lLCBzbG90KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgLy8gRGVidWdnZXJTY29w
ZTo6Z2V0T3duUHJvcGVydHlTbG90KCkgKGFuZCBwb3NzaWJseSBvdGhlcnMpIG1heSByZXR1cm4g
YXR0cmlidXRlcyBmcm9tIHRoZSBwcm90b3R5cGUgY2hhaW4KKyAgICAvLyBidXQgZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKCkgc2hvdWxkIG9ubHkgd29yayBmb3IgJ293bicgcHJvcGVydGllcyBz
byB3ZSBleGl0IGVhcmx5IGlmIHdlIGRldGVjdCB0aGF0CisgICAgLy8gdGhlIHByb3BlcnR5IGlz
IG5vdCBhbiBvd24gcHJvcGVydHkuCisgICAgaWYgKHNsb3Quc2xvdEJhc2UoKSAhPSB0aGlzICYm
IHNsb3Quc2xvdEJhc2UoKSkgeworICAgICAgICBhdXRvKiBwcm94eSA9IGpzRHluYW1pY0Nhc3Q8
SlNQcm94eSo+KHRoaXMpOworICAgICAgICBpZiAoIXByb3h5IHx8IHByb3h5LT50YXJnZXQoKSAh
PSBzbG90LnNsb3RCYXNlKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCiAg
ICAgaWYgKHNsb3QuaXNBY2Nlc3NvcigpKQogICAgICAgICBkZXNjcmlwdG9yLnNldEFjY2Vzc29y
RGVzY3JpcHRvcihzbG90LmdldHRlclNldHRlcigpLCBzbG90LmF0dHJpYnV0ZXMoKSk7CiAgICAg
ZWxzZSBpZiAoc2xvdC5hdHRyaWJ1dGVzKCkgJiBDdXN0b21BY2Nlc3Nvcikgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>