<?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>167665</bug_id>
          
          <creation_ts>2017-01-31 13:57:30 -0800</creation_ts>
          <short_desc>com.apple.WebKit.WebContent.Development crashed in com.apple.WebCore: WebCore::FrameView::didDestroyRenderTree</short_desc>
          <delta_ts>2017-02-13 11:15:55 -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>WebCore Misc.</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=168237</see_also>
          <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>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kling</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1271876</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-01-31 13:57:30 -0800</bug_when>
    <thetext>com.apple.WebKit.WebContent.Development crashed in com.apple.WebCore: WebCore::FrameView::didDestroyRenderTree:
ASSERTION FAILED: m_widgetsInRenderTree.isEmpty()
OpenSource/Source/WebCore/page/FrameView.cpp(648) : void WebCore::FrameView::didDestroyRenderTree()
1   0x11182fa5d WTFCrash
2   0x114b0e7f4 WebCore::FrameView::didDestroyRenderTree()
3   0x1147328d7 WebCore::Document::destroyRenderTree()
4   0x114732fed WebCore::Document::prepareForDestruction()
5   0x11429fce9 WebCore::CachedFrame::destroy()
6   0x1142b0da9 WebCore::CachedPage::~CachedPage()
7   0x1142b0e95 WebCore::CachedPage::~CachedPage()
8   0x115dac5dc WebCore::PageCache::prune(WebCore::PruningReason)
9   0x115dac463 WebCore::PageCache::pruneToSizeNow(unsigned int, WebCore::PruningReason)
10  0x1164082d8 WebCore::Settings::setUsesPageCache(bool)
11  0x10c097f50 WebKit::WebPage::updatePreferences(WebKit::WebPreferencesStore const&amp;)
12  0x10c0ab24a WebKit::WebPage::preferencesDidChange(WebKit::WebPreferencesStore const&amp;)
13  0x10c11f746 void IPC::callMemberFunctionImpl&lt;WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebPreferencesStore const&amp;), std::__1::tuple&lt;WebKit::WebPreferencesStore&gt;, 0ul&gt;(WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::WebPreferencesStore const&amp;), std::__1::tuple&lt;WebKit::WebPreferencesStore&gt;&amp;&amp;, std::__1::integer_sequence&lt;unsigned long, 0ul&gt;)
14  0x10c11f5b8 void IPC::callMemberFunction&lt;WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebPreferencesStore const&amp;), std::__1::tuple&lt;WebKit::WebPreferencesStore&gt;, std::__1::integer_sequence&lt;unsigned long, 0ul&gt; &gt;(std::__1::tuple&lt;WebKit::WebPreferencesStore&gt;&amp;&amp;, WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::WebPreferencesStore const&amp;))
15  0x10c112052 void IPC::handleMessage&lt;Messages::WebPage::PreferencesDidChange, WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebPreferencesStore const&amp;)&gt;(IPC::Decoder&amp;, WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::WebPreferencesStore const&amp;))
16  0x10c10a604 WebKit::WebPage::didReceiveWebPageMessage(IPC::Connection&amp;, IPC::Decoder&amp;)
17  0x10c0b092e WebKit::WebPage::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;)
18  0x10c0b0974 non-virtual thunk to WebKit::WebPage::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;)
19  0x10bacc4e8 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&amp;, IPC::Decoder&amp;)
20  0x10c2ac4ed WebKit::WebProcess::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;)
21  0x10b9a9fd3 IPC::Connection::dispatchMessage(IPC::Decoder&amp;)
22  0x10b99f6b8 IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)
23  0x10b9aa5d0 IPC::Connection::dispatchOneMessage()
24  0x10b9c31ed IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)::$_14::operator()()
25  0x10b9c3149 WTF::Function&lt;void ()&gt;::CallableWrapper&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)::$_14&gt;::call()
26  0x11185c1ae WTF::Function&lt;void ()&gt;::operator()() const
27  0x111877b2d WTF::RunLoop::performWork()
28  0x111878214 WTF::RunLoop::performWork(void*)
29  0x7fff9c4483b1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
30  0x7fff9c42963c __CFRunLoopDoSources0
31  0x7fff9c428b26 __CFRunLoopRun</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271877</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-01-31 13:57:53 -0800</bug_when>
    <thetext>&lt;rdar://problem/30241193&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271921</commentid>
    <comment_count>2</comment_count>
      <attachid>300267</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-01-31 15:11:52 -0800</bug_when>
    <thetext>Created attachment 300267
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271940</commentid>
    <comment_count>3</comment_count>
      <attachid>300267</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2017-01-31 15:31:41 -0800</bug_when>
    <thetext>Comment on attachment 300267
Patch

Oh, nice approach Chris! Another thing that could also work is having callers pass the relevant FrameView* to destroyRenderTree().
I think the way you&apos;ve done it here is great though.
r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271960</commentid>
    <comment_count>4</comment_count>
      <attachid>300267</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-31 15:50:34 -0800</bug_when>
    <thetext>Comment on attachment 300267
Patch

Clearing flags on attachment: 300267

Committed r211455: &lt;http://trac.webkit.org/changeset/211455&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271961</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-31 15:50:39 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300267</attachid>
            <date>2017-01-31 15:11:52 -0800</date>
            <delta_ts>2017-01-31 15:50:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167665-20170131150941.patch</filename>
            <type>text/plain</type>
            <size>3180</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExNDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2U1NmFiMTI0YmI2NDQ1
YmVhMTc5MDY3NzAzN2EwNTVlMzFlMjcwNy4uZTlhNjQ0YzM0ODQ1MGJhNmY5MTQ2ZmQ5N2ViOTQ2
ZjNiMzIyZTdmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE3LTAxLTMxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgY29tLmFwcGxlLldlYktpdC5X
ZWJDb250ZW50LkRldmVsb3BtZW50IGNyYXNoZWQgaW4gY29tLmFwcGxlLldlYkNvcmU6IFdlYkNv
cmU6OkZyYW1lVmlldzo6ZGlkRGVzdHJveVJlbmRlclRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzY2NQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMzAyNDExOTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2hlbiBkZXN0cm95aW5nIGEgUGFnZUNhY2hlIGVudHJ5LCB3ZSB3b3VsZCBjYWxsIERv
Y3VtZW50OjpwcmVwYXJlRnJvbURlc3RydWN0aW9uKCkKKyAgICAgICAgd2hpY2ggd291bGQgZGVz
dHJveSB0aGUgcmVuZGVyIHRyZWUgYW5kIHRoZW4gY2FsbCBGcmFtZVZpZXc6OmRpZERlc3Ryb3lS
ZW5kZXJUcmVlKCkuCisgICAgICAgIFdlIHdvdWxkIHNvbWV0aW1lcyBoaXQgdGhlIEFTU0VSVCht
X3dpZGdldHNJblJlbmRlclRyZWUuaXNFbXB0eSgpKSBhc3NlcnRpb24gaW4KKyAgICAgICAgZGlk
RGVzdHJveVJlbmRlclRyZWUoKS4gVGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBhcmUgc3RpbGwg
UmVuZGVyV2lkZ2V0cyBhc3NvY2lhdGVkCisgICAgICAgIHdpdGggdGhlIEZyYW1lVmlldyBldmVu
IHRob3VnaCB3ZSBjbGFpbSB3ZSBhbHJlYWR5IGRlc3Ryb3llZCB0aGUgcmVuZGVyIHRyZWUuCisK
KyAgICAgICAgVGhlIHJlYXNvbiBmb3IgdGhpcyBpcyB0aGF0LCBpbiB0aGUgUGFnZUNhY2hlIGNv
bnRleHQsIHRoZSB0b3AgZG9jdW1lbnQncyBmcmFtZSBpcworICAgICAgICByZXVzZWQgb24gbmF2
aWdhdGlvbiBhbmQgbWF5IG5vdCBiZSBhc3NvY2lhdGVkIHdpdGggYSBuZXcgZG9jdW1lbnQgdGhh
dCBpcyBjdXJyZW50bHkKKyAgICAgICAgZGlzcGxheWVkLCBoYXMgYSByZW5kZXIgdHJlZSAoYW5k
IHBvc3NpYmxlIFJlbmRlcldpZGdldHMpLiBUaGUgc29sdXRpb24gcHJvcG9zZWQgaXMKKyAgICAg
ICAgdG8gc3RvcCBjYWxsaW5nIEZyYW1lVmlldzo6ZGlkRGVzdHJveVJlbmRlclRyZWUoKSBpbiBE
b2N1bWVudDo6cHJlcGFyZUZyb21EZXN0cnVjdGlvbigpCisgICAgICAgIGlmIHRoZSBmcmFtZSdz
IGRvY3VtZW50IGlzIG5vdCB8dGhpc3wuIFRoaXMgaGFwcGVucyB3aGVuIHRoZSBkb2N1bWVudCBp
cyBkZXN0cm95ZWQKKyAgICAgICAgd2hpbGUgaW4gUGFnZUNhY2hlLiBXZSBkbyBub3Qgd2FudCB0
byBtZXNzIHdpdGggdGhlIGZyYW1lIC8gZnJhbWV2aWV3IGluIHRoaXMgY2FzZQorICAgICAgICBz
aW5jZSB0aGV5IGFyZSBubyBsb25nZXIgYXNzb2NpYXRlZCB0byB0aGUgcHJlc2VudCBkb2N1bWVu
dCBhbnltb3JlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYWxyZWFkeSBjb3ZlcmVkIGJ5IGV4
aXN0aW5nIHRlc3RzIHdoaWNoIGN1cnJlbnRseSBjcmFzaCBmbGFraWx5LgorCisgICAgICAgICog
ZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpkZXN0cm95UmVu
ZGVyVHJlZSk6CisKIDIwMTctMDEtMzEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgogCiAgICAgICAgIFtXZWJSVENdIEFkZCBhIGxpYndlYnJ0YyBBdWRpb01vZHVsZSBzcGVjaWZp
YyB0byBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGFmODZjNjRkZjJhODVjOTkz
MWM3YzBlNDBiNWY4YmI5NGJiNTc1M2EuLmE2OTk1OGMyMzI4NDJkZTgwZGJhZDNlZDJiN2Q2YTBi
OTViMTgxODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMjIxMyw3ICsyMjEzLDggQEAg
dm9pZCBEb2N1bWVudDo6ZGVzdHJveVJlbmRlclRyZWUoKQogICAgIEFTU0VSVChmcmFtZSgpLT52
aWV3KCkpOwogICAgIEFTU0VSVChwYWdlKCkpOwogCi0gICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcg
PSAqZnJhbWUoKS0+dmlldygpOworICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gZnJhbWUoKS0+
ZG9jdW1lbnQoKSA9PSB0aGlzID8gZnJhbWUoKS0+dmlldygpIDogbnVsbHB0cjsKKyAgICBBU1NF
UlQoZnJhbWVWaWV3IHx8IHBhZ2VDYWNoZVN0YXRlKCkgPT0gSW5QYWdlQ2FjaGUpOwogCiAgICAg
Ly8gUHJldmVudCBXaWRnZXQgdHJlZSBjaGFuZ2VzIGZyb20gY29tbWl0dGluZyB1bnRpbCB0aGUg
UmVuZGVyVmlldyBpcyBkZWFkIGFuZCBnb25lLgogICAgIFdpZGdldEhpZXJhcmNoeVVwZGF0ZXNT
dXNwZW5zaW9uU2NvcGUgc3VzcGVuZFdpZGdldEhpZXJhcmNoeVVwZGF0ZXM7CkBAIC0yMjI1LDcg
KzIyMjYsOCBAQCB2b2lkIERvY3VtZW50OjpkZXN0cm95UmVuZGVyVHJlZSgpCiAKICAgICBkb2N1
bWVudFdpbGxCZWNvbWVJbmFjdGl2ZSgpOwogCi0gICAgZnJhbWVWaWV3LndpbGxEZXN0cm95UmVu
ZGVyVHJlZSgpOworICAgIGlmIChmcmFtZVZpZXcpCisgICAgICAgIGZyYW1lVmlldy0+d2lsbERl
c3Ryb3lSZW5kZXJUcmVlKCk7CiAKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgaWYg
KG1fZnVsbFNjcmVlblJlbmRlcmVyKQpAQCAtMjI1Miw3ICsyMjU0LDggQEAgdm9pZCBEb2N1bWVu
dDo6ZGVzdHJveVJlbmRlclRyZWUoKQogICAgIG1fdGV4dEF1dG9TaXplZE5vZGVzLmNsZWFyKCk7
CiAjZW5kaWYKIAotICAgIGZyYW1lVmlldy5kaWREZXN0cm95UmVuZGVyVHJlZSgpOworICAgIGlm
IChmcmFtZVZpZXcpCisgICAgICAgIGZyYW1lVmlldy0+ZGlkRGVzdHJveVJlbmRlclRyZWUoKTsK
IH0KIAogdm9pZCBEb2N1bWVudDo6cHJlcGFyZUZvckRlc3RydWN0aW9uKCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>