<?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>187008</bug_id>
          
          <creation_ts>2018-06-25 11:00:14 -0700</creation_ts>
          <short_desc>REGRESSION(r229722): WebKitLegacy clients can crash when loading alternate page</short_desc>
          <delta_ts>2018-06-27 16:08:20 -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>WebKit2</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>183702</dependson>
          <blocked>187121</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1436140</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-06-25 11:00:14 -0700</bug_when>
    <thetext>The new call to &apos;clearProvisionalLoadForPolicyCheck&apos; added in r229722 broke loading behavior in WebKitLegacy.

1. We can now enter &apos;cancelPolicyCheckIfNeeded&apos; without a Frame loader, in what appears to be a recursive call during the load cancellation (the &apos;m_waitingForContentPolicy&apos; and &apos;m_waitingForNavigationPolicy&apos; have already been nulled). It seems like we should return early here, or perhaps just move the RELEASE_ASSERT inside the case where we have an active policy check happening.

2. We also enter FrameLoader::checkContentPolicy without an active document loader. We should recognize this case and handle it, rather than trying to dereference a nullptr document loader.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436141</commentid>
    <comment_count>1</comment_count>
      <attachid>343516</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-06-25 11:04:14 -0700</bug_when>
    <thetext>Created attachment 343516
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436142</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-06-25 11:05:10 -0700</bug_when>
    <thetext>&lt;rdar://problem/41430690&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436143</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-06-25 11:05:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/41430650&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436183</commentid>
    <comment_count>4</comment_count>
      <attachid>343516</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-06-25 12:32:59 -0700</bug_when>
    <thetext>Comment on attachment 343516
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=343516&amp;action=review

&gt; Source/WebCore/loader/FrameLoader.cpp:363
&gt;  void FrameLoader::checkContentPolicy(const ResourceResponse&amp; response, ContentPolicyDecisionFunction&amp;&amp; function)

The crash traces attached to the radar do not seem to involve FrameLoader::checkContentPolicy(), could you clarify why this change is needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436206</commentid>
    <comment_count>5</comment_count>
      <attachid>343516</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-06-25 13:16:17 -0700</bug_when>
    <thetext>Comment on attachment 343516
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=343516&amp;action=review

&gt;&gt; Source/WebCore/loader/FrameLoader.cpp:363
&gt;&gt;  void FrameLoader::checkContentPolicy(const ResourceResponse&amp; response, ContentPolicyDecisionFunction&amp;&amp; function)
&gt; 
&gt; The crash traces attached to the radar do not seem to involve FrameLoader::checkContentPolicy(), could you clarify why this change is needed?

Yes, sorry -- this code is hit once you clear the RELEASE_ASSERT from DocumentLoader.cpp.

(Historical Note: I went and spoke with Chris in person about the issue before he completed the review).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436259</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2018-06-25 14:30:32 -0700</bug_when>
    <thetext>Committed r233176: &lt;https://trac.webkit.org/changeset/233176&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>343516</attachid>
            <date>2018-06-25 11:04:14 -0700</date>
            <delta_ts>2018-06-25 12:35:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187008-20180625110414.patch</filename>
            <type>text/plain</type>
            <size>3293</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMzMDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzJhNjQwNDRkMTYxYmY0
MTczZDVhY2QxMjE3YTQwZjhmM2ViN2RlNi4uMWU0YmZjMjIwMmJiZDgzMDE4NThkM2RkYWEzZjg2
MGQ0OTJhNTFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE4LTA2LTI1ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjIy
OTcyMik6IFdlYktpdExlZ2FjeSBjbGllbnRzIGNhbiBjcmFzaCB3aGVuIGxvYWRpbmcgYWx0ZXJu
YXRlIHBhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE4NzAwOAorICAgICAgICAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhlIG5ldyBjYWxsIHRvICdjbGVhclByb3Zpc2lvbmFsTG9hZEZvclBvbGljeUNo
ZWNrJyBhZGRlZCBpbiByMjI5NzIyIGJyb2tlIGxvYWRpbmcKKyAgICAgICAgYmVoYXZpb3IgaW4g
V2ViS2l0TGVnYWN5LgorCisgICAgICAgIDEuIFdlIGNhbiBub3cgZW50ZXIgJ2NhbmNlbFBvbGlj
eUNoZWNrSWZOZWVkZWQnIHdpdGhvdXQgYSBGcmFtZSBsb2FkZXIsIGluIHdoYXQgYXBwZWFycwor
ICAgICAgICAgICB0byBiZSBhIHJlY3Vyc2l2ZSBjYWxsIGR1cmluZyB0aGUgbG9hZCBjYW5jZWxs
YXRpb24gKHRoZSAnbV93YWl0aW5nRm9yQ29udGVudFBvbGljeScKKyAgICAgICAgICAgYW5kICdt
X3dhaXRpbmdGb3JOYXZpZ2F0aW9uUG9saWN5JyBoYXZlIGFscmVhZHkgYmVlbiBudWxsZWQpLiBJ
dCBzZWVtcyBsaWtlIHdlIHNob3VsZAorICAgICAgICAgICByZXR1cm4gZWFybHkgaGVyZSwgb3Ig
cGVyaGFwcyBqdXN0IG1vdmUgdGhlIFJFTEVBU0VfQVNTRVJUIGluc2lkZSB0aGUgY2FzZSB3aGVy
ZSB3ZQorICAgICAgICAgICBoYXZlIGFuIGFjdGl2ZSBwb2xpY3kgY2hlY2sgaGFwcGVuaW5nLgor
CisgICAgICAgIDIuIFdlIGFsc28gZW50ZXIgRnJhbWVMb2FkZXI6OmNoZWNrQ29udGVudFBvbGlj
eSB3aXRob3V0IGFuIGFjdGl2ZSBkb2N1bWVudCBsb2FkZXIuIFdlCisgICAgICAgICAgIHNob3Vs
ZCByZWNvZ25pemUgdGhpcyBjYXNlIGFuZCBoYW5kbGUgaXQsIHJhdGhlciB0aGFuIHRyeWluZyB0
byBkZXJlZmVyZW5jZSBhIG51bGxwdHIKKyAgICAgICAgICAgZG9jdW1lbnQgbG9hZGVyLgorCisg
ICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50TG9hZGVyOjpjYW5jZWxQb2xpY3lDaGVja0lmTmVlZGVkKTogTW92ZSB0aGUgUkVMRUFT
RV9BU1NFUlQgaW5zaWRlIHRoZQorICAgICAgICBjb25kaXRpb25hbCB3aGVyZSB0aGUgZnJhbWVM
b2FkZXIgaXMgYWN0dWFsbHkgdXNlZC4KKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmNoZWNrQ29udGVudFBvbGljeSk6IFJl
Y29nbml6ZSB0aGF0IHRoZSBhY3RpdmVEb2N1bWVudExvYWRlciBtYXkKKyAgICAgICAgYmUgbnVs
bHB0ciBhdCB0aGlzIHBvaW50LCBhbmQgdGFrZSBhcHByb3ByaWF0ZSBhY3Rpb24gKHJhdGhlciB0
aGFuIGNyYXNoaW5nKS4KKwogMjAxOC0wNi0yMiAgVGhpYmF1bHQgU2F1bmllciAgPHRzYXVuaWVy
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gQXZvaWQgc2VuZGluZyBTRUxFQ1Rf
U1RSRUFNIGV2ZW50cyB3aGVuIG5vdGhpbmcgY2hhbmdlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5jcHAKaW5kZXggMzA3NzViYzgzNzdlMTE1OWViMGU3OTcyMWNkMDA4N2M4
ZDUxN2YzMy4uOTU0OTYxNDk0Y2Q3MTE3NGQwZTM4ZjZmZWRjZGViMjBhNjJiZmNiOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCkBAIC0xODEzLDkgKzE4MTMsOCBA
QCB2b2lkIERvY3VtZW50TG9hZGVyOjpsb2FkTWFpblJlc291cmNlKFJlc291cmNlUmVxdWVzdCYm
IHJlcXVlc3QpCiAKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmNhbmNlbFBvbGljeUNoZWNrSWZOZWVk
ZWQoKQogewotICAgIFJFTEVBU0VfQVNTRVJUKGZyYW1lTG9hZGVyKCkpOwotCiAgICAgaWYgKG1f
d2FpdGluZ0ZvckNvbnRlbnRQb2xpY3kgfHwgbV93YWl0aW5nRm9yTmF2aWdhdGlvblBvbGljeSkg
eworICAgICAgICBSRUxFQVNFX0FTU0VSVChmcmFtZUxvYWRlcigpKTsKICAgICAgICAgZnJhbWVM
b2FkZXIoKS0+cG9saWN5Q2hlY2tlcigpLnN0b3BDaGVjaygpOwogICAgICAgICBtX3dhaXRpbmdG
b3JDb250ZW50UG9saWN5ID0gZmFsc2U7CiAgICAgICAgIG1fd2FpdGluZ0Zvck5hdmlnYXRpb25Q
b2xpY3kgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDlk
NzI2YWI0OGY0MGQ4ZjhjZmYxOGRmMGUyYzI4OTZiMjUyNDlmYmQuLmQzZGVhOGFmZTQ2MmU2MGIy
Yzg1MTIyMjkxNWE2YzM3Njk2ZGJiYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcApAQCAtMzYyLDYgKzM2MiwxMiBAQCB2b2lkIEZyYW1lTG9hZGVyOjpzZXREZWZlcnNMb2Fk
aW5nKGJvb2wgZGVmZXJzKQogCiB2b2lkIEZyYW1lTG9hZGVyOjpjaGVja0NvbnRlbnRQb2xpY3ko
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIENvbnRlbnRQb2xpY3lEZWNpc2lvbkZ1
bmN0aW9uJiYgZnVuY3Rpb24pCiB7CisgICAgaWYgKCFhY3RpdmVEb2N1bWVudExvYWRlcigpKSB7
CisgICAgICAgIC8vIExvYWQgd2FzIGNhbmNlbGxlZAorICAgICAgICBmdW5jdGlvbihQb2xpY3lB
Y3Rpb246Oklnbm9yZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBjbGllbnQoKS5k
aXNwYXRjaERlY2lkZVBvbGljeUZvclJlc3BvbnNlKHJlc3BvbnNlLCBhY3RpdmVEb2N1bWVudExv
YWRlcigpLT5yZXF1ZXN0KCksIFdURk1vdmUoZnVuY3Rpb24pKTsKIH0KIAo=
</data>
<flag name="review"
          id="361569"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>