<?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>192421</bug_id>
          
          <creation_ts>2018-12-05 12:10:40 -0800</creation_ts>
          <short_desc>Crash under WebCore::cachedDocumentWrapper()</short_desc>
          <delta_ts>2018-12-05 13:05:54 -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>Bindings</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1485368</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-05 12:10:40 -0800</bug_when>
    <thetext>Crash under WebCore::cachedDocumentWrapper():
Thread[0] EXC_BAD_ACCESS (SIGSEGV) (KERN_INVALID_ADDRESS at 0x0000000000000848)
[  0] 0x000000020a99c690 WebCore`WebCore::cachedDocumentWrapper(JSC::ExecState&amp;, WebCore::JSDOMGlobalObject&amp;, WebCore::Document&amp;) [inlined] WTF::DumbPtrTraits&lt;WebCore::DOMWrapperWorld&gt;::unwrap(WebCore::DOMWrapperWorld* const&amp;) at DumbPtrTraits.h:41:69

     0x000000020a99c680:       bl 0xa066f4             ; WebCore::toJS [inlined] WebCore::FrameDestructionObserver::frame() const at DOMWindow.h:204
     0x000000020a99c684:      mov x1, x0
     0x000000020a99c688:      mov x0, x21
     0x000000020a99c68c:       bl 0xa06728             ; WebCore::toJSDOMWindow [inlined] JSC::JSValue::isCell() const at JSCJSValueInlines.h:609
 -&gt;  0x000000020a99c690:      ldr x8, [x0, #0x848]
     0x000000020a99c694:     ldrb w9, [x8, #0x40]
     0x000000020a99c698:      cbz w9, 0xa0c6b8         ; &lt;+160&gt; [inlined] WebCore::DOMWrapperWorld::wrappers() at JSDOMWrapperCache.h:163
     0x000000020a99c69c:      ldr x9, [x19, #0x8]
     0x000000020a99c6a0:      cbz x9, 0xa0c6b8         ; &lt;+160&gt; [inlined] WebCore::DOMWrapperWorld::wrappers() at JSDOMWrapperCache.h:163

[  0] 0x000000020a99c690 WebCore`WebCore::cachedDocumentWrapper(JSC::ExecState&amp;, WebCore::JSDOMGlobalObject&amp;, WebCore::Document&amp;) [inlined] WTF::Ref&lt;WebCore::DOMWrapperWorld, WTF::DumbPtrTraits&lt;WebCore::DOMWrapperWorld&gt; &gt;::get() const at Ref.h:122
[  0] 0x000000020a99c690 WebCore`WebCore::cachedDocumentWrapper(JSC::ExecState&amp;, WebCore::JSDOMGlobalObject&amp;, WebCore::Document&amp;) [inlined] WebCore::JSDOMGlobalObject::world() at JSDOMGlobalObject.h:74
       70  	    Event* currentEvent() const;
       71  	
       72  	    static void visitChildren(JSC::JSCell*, JSC::SlotVisitor&amp;);
       73  	
    -&gt; 74  	    DOMWrapperWorld&amp; world() { return m_world.get(); }
       75  	    bool worldIsNormal() const { return m_worldIsNormal; }
       76  	    static ptrdiff_t offsetOfWorldIsNormal() { return OBJECT_OFFSETOF(JSDOMGlobalObject, m_worldIsNormal); }
       77  	
       78  	    JSBuiltinInternalFunctions&amp; builtinInternalFunctions() { return m_builtinInternalFunctions; }
    
[  0] 0x000000020a99c690 WebCore`WebCore::cachedDocumentWrapper(JSC::ExecState&amp;, WebCore::JSDOMGlobalObject&amp;, WebCore::Document&amp;) + 120 at JSDocumentCustom.cpp:60
       56  	    if (!window)
       57  	        return nullptr;
       58  	
       59  	    // Creating a wrapper for domWindow might have created a wrapper for document as well.
    -&gt; 60  	    return getCachedWrapper(toJSDOMWindow(state.vm(), toJS(&amp;state, *window))-&gt;world(), document);
       61  	}
       62  	
       63  	void reportMemoryForDocumentIfFrameless(ExecState&amp; state, Document&amp; document)
       64  	{
    
[  1] 0x000000020a99c68f WebCore`WebCore::cachedDocumentWrapper(JSC::ExecState&amp;, WebCore::JSDOMGlobalObject&amp;, WebCore::Document&amp;) + 119 at JSDocumentCustom.cpp:60:29
[  2] 0x000000020a99c90f WebCore`WebCore::toJS(JSC::ExecState*, WebCore::JSDOMGlobalObject*, WebCore::Document&amp;) + 35 at JSDocumentCustom.cpp:86:25
[  3] 0x000000020a4a5303 WebCore`WebCore::jsNodeParentNode(JSC::ExecState*, long long, JSC::PropertyName) [inlined] WebCore::toJS(JSC::ExecState*, WebCore::JSDOMGlobalObject*, WebCore::Node&amp;) + 51 at JSNodeCustom.h:62:12
[  3] 0x000000020a4a52d0 WebCore`WebCore::jsNodeParentNode(JSC::ExecState*, long long, JSC::PropertyName) [inlined] WebCore::toJS(JSC::ExecState*, WebCore::JSDOMGlobalObject*, WebCore::Node*) at JSNode.h:97
[  3] 0x000000020a4a52d0 WebCore`WebCore::jsNodeParentNode(JSC::ExecState*, long long, JSC::PropertyName) [inlined] JSC::JSValue WebCore::JSConverter&lt;WebCore::IDLInterface&lt;WebCore::Node&gt; &gt;::convert&lt;WebCore::ContainerNode*&gt;(JSC::ExecState&amp;, WebCore::JSDOMGlobalObject&amp;, WebCore::ContainerNode* const&amp;) at JSDOMConvertInterface.h:81
[  3] 0x000000020a4a52d0 WebCore`WebCore::jsNodeParentNode(JSC::ExecState*, long long, JSC::PropertyName) [inlined] JSC::JSValue WebCore::JSConverter&lt;WebCore::IDLNullable&lt;WebCore::IDLInterface&lt;WebCore::Node&gt; &gt; &gt;::convert&lt;WebCore::ContainerNode*&gt;(JSC::ExecState&amp;, WebCore::JSDOMGlobalObject&amp;, WebCore::ContainerNode*&amp;&amp;) + 28 at JSDOMConvertNullable.h:137</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485369</commentid>
    <comment_count>1</comment_count>
      <attachid>356638</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-05 12:14:31 -0800</bug_when>
    <thetext>Created attachment 356638
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485383</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-05 12:47:49 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 356638:

imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/failures_AES-KW.https.any.worker.html bug 192423
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485390</commentid>
    <comment_count>3</comment_count>
      <attachid>356638</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2018-12-05 12:57:47 -0800</bug_when>
    <thetext>Comment on attachment 356638
Patch

No test case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485391</commentid>
    <comment_count>4</comment_count>
      <attachid>356638</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-05 12:59:02 -0800</bug_when>
    <thetext>Comment on attachment 356638
Patch

Clearing flags on attachment: 356638

Committed r238905: &lt;https://trac.webkit.org/changeset/238905&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485392</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-05 12:59:04 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485395</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-12-05 13:01:04 -0800</bug_when>
    <thetext>&lt;rdar://problem/46496830&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1485398</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-05 13:05:54 -0800</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #3)
&gt; Comment on attachment 356638 [details]
&gt; Patch
&gt; 
&gt; No test case?

I have not been able to reproduce, neither was QA. This is a speculative fix based on the crash trace.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356638</attachid>
            <date>2018-12-05 12:14:31 -0800</date>
            <delta_ts>2018-12-05 12:59:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192421-20181205121430.patch</filename>
            <type>text/plain</type>
            <size>1817</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4ODkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTUxMzllMmQxYzU3YTlj
ZWE5ZTUzYjA4MmE2YjA3M2VhM2NkYTBjNC4uODJmNGYxMTVmM2ExOGExN2I5YTJhOWJiYmUxYzU1
MzE0M2I2MTQyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTEyLTA1ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQ3Jhc2ggdW5kZXIgV2ViQ29y
ZTo6Y2FjaGVkRG9jdW1lbnRXcmFwcGVyKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MjQyMQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzcxMTQx
NjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4
IHBvdGVudGlhbCBudWxsIGRlZmVyZXJlbmNlIG9mIHRoZSB2YWx1ZSByZXR1cm5lZCBieSB0b0pT
RE9NV2luZG93KCkuIEZvciBleGFtcGxlLAorICAgICAgICBpZiB0aGUgd2luZG93IGlzIGZyYW1l
bGVzcywgaXQgd291bGQgcmV0dXJuIG51bGwuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0Rv
Y3VtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNhY2hlZERvY3VtZW50V3JhcHBl
cik6CisKIDIwMTgtMTItMDUgIEFsaWNpYSBCb3lhIEdhcmPDrWEgIDxhYm95YUBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtNU0VdW0dTdHJlYW1lcl0gUmVtb3ZlIHRoZSBBcHBlbmRQaXBlbGluZSBz
dGF0ZSBtYWNoaW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rv
Y3VtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRD
dXN0b20uY3BwCmluZGV4IDU2ODdlNGQ3OGM2MmQwOGYxOTRiOTM4MjQ2NDY5Nzk2OTljMTdmOGQu
LjQyYzIyYmYyY2MxOTYyOGYxMGExYmNlZjE1YThiNTUzYTUyNjIzMWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRG9jdW1lbnRDdXN0b20uY3BwCkBAIC01Nyw4ICs1Nywx
MiBAQCBKU09iamVjdCogY2FjaGVkRG9jdW1lbnRXcmFwcGVyKEV4ZWNTdGF0ZSYgc3RhdGUsIEpT
RE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplYwogICAgIGlmICghd2luZG93KQogICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKIAorICAgIGF1dG8qIGRvY3VtZW50R2xvYmFsT2JqZWN0ID0gdG9KU0RP
TVdpbmRvdyhzdGF0ZS52bSgpLCB0b0pTKCZzdGF0ZSwgKndpbmRvdykpOworICAgIGlmICghZG9j
dW1lbnRHbG9iYWxPYmplY3QpCisgICAgICAgIHJldHVybiBudWxscHRyOworCiAgICAgLy8gQ3Jl
YXRpbmcgYSB3cmFwcGVyIGZvciBkb21XaW5kb3cgbWlnaHQgaGF2ZSBjcmVhdGVkIGEgd3JhcHBl
ciBmb3IgZG9jdW1lbnQgYXMgd2VsbC4KLSAgICByZXR1cm4gZ2V0Q2FjaGVkV3JhcHBlcih0b0pT
RE9NV2luZG93KHN0YXRlLnZtKCksIHRvSlMoJnN0YXRlLCAqd2luZG93KSktPndvcmxkKCksIGRv
Y3VtZW50KTsKKyAgICByZXR1cm4gZ2V0Q2FjaGVkV3JhcHBlcihkb2N1bWVudEdsb2JhbE9iamVj
dC0+d29ybGQoKSwgZG9jdW1lbnQpOwogfQogCiB2b2lkIHJlcG9ydE1lbW9yeUZvckRvY3VtZW50
SWZGcmFtZWxlc3MoRXhlY1N0YXRlJiBzdGF0ZSwgRG9jdW1lbnQmIGRvY3VtZW50KQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>