<?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>232520</bug_id>
          
          <creation_ts>2021-10-29 17:52:30 -0700</creation_ts>
          <short_desc>Web process shouldn&apos;t crash if ImageBuffer::ensureBackendCreated() fails</short_desc>
          <delta_ts>2022-01-07 11:57:20 -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>Layout and Rendering</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>234680</dependson>
          <blocked>225377</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>heycam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1810351</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-10-29 17:52:30 -0700</bug_when>
    <thetext>RemoteLayerBackingStore::encode() assumes it can never fail, but it can. There may be other places, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810352</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-29 17:53:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/84829995&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810405</commentid>
    <comment_count>2</comment_count>
      <attachid>442906</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-10-30 00:49:40 -0700</bug_when>
    <thetext>Created attachment 442906
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810452</commentid>
    <comment_count>3</comment_count>
      <attachid>442906</attachid>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-10-30 14:48:04 -0700</bug_when>
    <thetext>Comment on attachment 442906
Patch

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

&gt; Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:121
&gt; +                if (auto* backend = m_frontBuffer.imageBuffer-&gt;ensureBackendCreated())

Since we do this check in all situations -- mapped IOSurface, non-mapped IOSurface, bitmap -- maybe do it once before the switch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810470</commentid>
    <comment_count>4</comment_count>
      <attachid>442906</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-10-30 19:34:53 -0700</bug_when>
    <thetext>Comment on attachment 442906
Patch

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

&gt;&gt; Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:121
&gt;&gt; +                if (auto* backend = m_frontBuffer.imageBuffer-&gt;ensureBackendCreated())
&gt; 
&gt; Since we do this check in all situations -- mapped IOSurface, non-mapped IOSurface, bitmap -- maybe do it once before the switch.

The third case below is slightly different, but yes I can hoist it somewhat.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810471</commentid>
    <comment_count>5</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-10-30 19:37:31 -0700</bug_when>
    <thetext>Committed r285088 (243730@main): &lt;https://commits.webkit.org/243730@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826801</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-12-25 02:11:56 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 234680</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1829020</commentid>
    <comment_count>7</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-01-07 11:53:54 -0800</bug_when>
    <thetext>The A/B test was using bogus data - before crashes were fixed, the memory data was reported from processes which didn&apos;t have the test page loaded. So, rolling this out was a mistake. Rolling back in now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1829024</commentid>
    <comment_count>8</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-01-07 11:57:20 -0800</bug_when>
    <thetext>Committed r287775 (245835@trunk): &lt;https://commits.webkit.org/245835@trunk&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442906</attachid>
            <date>2021-10-30 00:49:40 -0700</date>
            <delta_ts>2021-10-30 11:07:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232520-20211030004939.patch</filename>
            <type>text/plain</type>
            <size>4702</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE1MTQyNjM4YjNmNzUxNWY1
NzBkMGQ2YzZlNDYzYjdkMTIzYmY1NTcuLmJjYzFjYThiODM1Nzk1MTZhMzE2NGU1YTZlNmI4OGE1
YTY1MWIzOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMTAtMzAgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgcHJvY2VzcyBz
aG91bGRuJ3QgY3Jhc2ggaWYgSW1hZ2VCdWZmZXI6OmVuc3VyZUJhY2tlbmRDcmVhdGVkKCkgZmFp
bHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjUy
MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODQ4Mjk3MTc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR3VhcmQgYWdhaW5zdCB0aGUgcG9zc2liaWxp
dHkgb2YgaXQgcmV0dXJuaW5nIG51bGwuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2Ug
dGhlcmUgc2hvdWxkbid0IGJlIGFueSBiZWhhdmlvciBjaGFuZ2UgYWZ0ZXIgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjQ3MC4KKyAgICAgICAgSXQncyBzdGlsbCBn
b29kIHRvIGRvIHRoaXMsIHRob3VnaCwgdG8gYmUgZGVmZW5zaXZlLgorCisgICAgICAgICogU2hh
cmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbToKKyAgICAgICAg
KFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmVuY29kZSBjb25zdCk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVJbWFnZUJ1ZmZlclByb3h5OjpjcmVhdGVJbWFnZUJ1ZmZlckJh
Y2tlbmRIYW5kbGUpOgorCiAyMDIxLTEwLTI5ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVs
ZEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIEltYWdlQnVmZmVyLmxvZ2ljYWxTaXplIHRv
IEltYWdlQnVmZmVyLnRydW5jYXRlZExvZ2ljYWxTaXplCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0gYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmUubW0KaW5kZXggY2E0NjZiYWNkODg1MzkzZmM5NmFiYzE5ZjY3ZGI3YTE2YWZiNDc0YS4uY2Yw
NjYyOWJiYzcwNTg1N2ZiNThkZTFlZDEzZGY2MWRiNTRmZjMyMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllckJh
Y2tpbmdTdG9yZS5tbQpAQCAtMTE3LDEzICsxMTcsMTcgQEAgdm9pZCBSZW1vdGVMYXllckJhY2tp
bmdTdG9yZTo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBpZiAobV9m
cm9udEJ1ZmZlci5pbWFnZUJ1ZmZlcikgewogICAgICAgICBzd2l0Y2ggKG1fdHlwZSkgewogICAg
ICAgICBjYXNlIFR5cGU6OklPU3VyZmFjZToKLSAgICAgICAgICAgIGlmIChtX2Zyb250QnVmZmVy
LmltYWdlQnVmZmVyLT5jYW5NYXBCYWNraW5nU3RvcmUoKSkKLSAgICAgICAgICAgICAgICBoYW5k
bGUgPSBzdGF0aWNfY2FzdDxBY2NlbGVyYXRlZEltYWdlQnVmZmVyU2hhcmVhYmxlTWFwcGVkQmFj
a2VuZCY+KCptX2Zyb250QnVmZmVyLmltYWdlQnVmZmVyLT5lbnN1cmVCYWNrZW5kQ3JlYXRlZCgp
KS5jcmVhdGVJbWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUoKTsKLSAgICAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgICAgICBoYW5kbGUgPSBzdGF0aWNfY2FzdDxBY2NlbGVyYXRlZEltYWdlQnVmZmVy
U2hhcmVhYmxlQmFja2VuZCY+KCptX2Zyb250QnVmZmVyLmltYWdlQnVmZmVyLT5lbnN1cmVCYWNr
ZW5kQ3JlYXRlZCgpKS5jcmVhdGVJbWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUoKTsKKyAgICAgICAg
ICAgIGlmIChtX2Zyb250QnVmZmVyLmltYWdlQnVmZmVyLT5jYW5NYXBCYWNraW5nU3RvcmUoKSkg
eworICAgICAgICAgICAgICAgIGlmIChhdXRvKiBiYWNrZW5kID0gbV9mcm9udEJ1ZmZlci5pbWFn
ZUJ1ZmZlci0+ZW5zdXJlQmFja2VuZENyZWF0ZWQoKSkKKyAgICAgICAgICAgICAgICAgICAgaGFu
ZGxlID0gc3RhdGljX2Nhc3Q8QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZEJh
Y2tlbmQmPigqYmFja2VuZCkuY3JlYXRlSW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxlKCk7CisgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGlmIChhdXRvKiBiYWNrZW5kID0gbV9m
cm9udEJ1ZmZlci5pbWFnZUJ1ZmZlci0+ZW5zdXJlQmFja2VuZENyZWF0ZWQoKSkKKyAgICAgICAg
ICAgICAgICAgICAgaGFuZGxlID0gc3RhdGljX2Nhc3Q8QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlclNo
YXJlYWJsZUJhY2tlbmQmPigqYmFja2VuZCkuY3JlYXRlSW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxl
KCk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBUeXBl
OjpCaXRtYXA6Ci0gICAgICAgICAgICBoYW5kbGUgPSBzdGF0aWNfY2FzdDxVbmFjY2VsZXJhdGVk
SW1hZ2VCdWZmZXJTaGFyZWFibGVCYWNrZW5kJj4oKm1fZnJvbnRCdWZmZXIuaW1hZ2VCdWZmZXIt
PmVuc3VyZUJhY2tlbmRDcmVhdGVkKCkpLmNyZWF0ZUltYWdlQnVmZmVyQmFja2VuZEhhbmRsZSgp
OworICAgICAgICAgICAgaWYgKGF1dG8qIGJhY2tlbmQgPSBtX2Zyb250QnVmZmVyLmltYWdlQnVm
ZmVyLT5lbnN1cmVCYWNrZW5kQ3JlYXRlZCgpKQorICAgICAgICAgICAgICAgIGhhbmRsZSA9IHN0
YXRpY19jYXN0PFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlclNoYXJlYWJsZUJhY2tlbmQmPigqYmFj
a2VuZCkuY3JlYXRlSW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxlKCk7CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgfQogICAgIH0KQEAgLTEzMiw4ICsxMzYsMTAgQEAgdm9pZCBSZW1vdGVMYXll
ckJhY2tpbmdTdG9yZTo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIAogI2lm
IEVOQUJMRShDR19ESVNQTEFZX0xJU1RfQkFDS0VEX0lNQUdFX0JVRkZFUikKICAgICBzdGQ6Om9w
dGlvbmFsPEltYWdlQnVmZmVyQmFja2VuZEhhbmRsZT4gZGlzcGxheUxpc3RIYW5kbGU7Ci0gICAg
aWYgKG1fZnJvbnRCdWZmZXIuZGlzcGxheUxpc3RJbWFnZUJ1ZmZlcikKLSAgICAgICAgZGlzcGxh
eUxpc3RIYW5kbGUgPSBzdGF0aWNfY2FzdDxDR0Rpc3BsYXlMaXN0SW1hZ2VCdWZmZXJCYWNrZW5k
Jj4oKm1fZnJvbnRCdWZmZXIuZGlzcGxheUxpc3RJbWFnZUJ1ZmZlci0+ZW5zdXJlQmFja2VuZENy
ZWF0ZWQoKSkuY3JlYXRlSW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxlKCk7CisgICAgaWYgKG1fZnJv
bnRCdWZmZXIuZGlzcGxheUxpc3RJbWFnZUJ1ZmZlcikgeworICAgICAgICBpZiAoYXV0byogYmFj
a2VuZCA9IG1fZnJvbnRCdWZmZXIuZGlzcGxheUxpc3RJbWFnZUJ1ZmZlci0+ZW5zdXJlQmFja2Vu
ZENyZWF0ZWQoKSkKKyAgICAgICAgICAgIGRpc3BsYXlMaXN0SGFuZGxlID0gc3RhdGljX2Nhc3Q8
Q0dEaXNwbGF5TGlzdEltYWdlQnVmZmVyQmFja2VuZCY+KCpiYWNrZW5kKS5jcmVhdGVJbWFnZUJ1
ZmZlckJhY2tlbmRIYW5kbGUoKTsKKyAgICB9CiAKICAgICBlbmNvZGVyIDw8IGRpc3BsYXlMaXN0
SGFuZGxlOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oCmluZGV4IDA1ZDRmMTk2
MTRhYzk0MmY4YWIwNGViMTQ4MmRmMzQwNzkxMmM4NjAuLmM4YjAzNDlmZTZjNjdjNGY3OTFhYmRm
NDFiYTY3MjI0OTg3YzY1ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oCkBAIC03NSw4
ICs3NSw5IEBAIHB1YmxpYzoKIAogICAgIEltYWdlQnVmZmVyQmFja2VuZEhhbmRsZSBjcmVhdGVJ
bWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUoKQogICAgIHsKLSAgICAgICAgZW5zdXJlQmFja2VuZENy
ZWF0ZWQoKTsKLSAgICAgICAgcmV0dXJuIG1fYmFja2VuZC0+Y3JlYXRlSW1hZ2VCdWZmZXJCYWNr
ZW5kSGFuZGxlKCk7CisgICAgICAgIGlmIChlbnN1cmVCYWNrZW5kQ3JlYXRlZCgpKQorICAgICAg
ICAgICAgcmV0dXJuIG1fYmFja2VuZC0+Y3JlYXRlSW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxlKCk7
CisgICAgICAgIHJldHVybiB7IH07CiAgICAgfQogCiAgICAgV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0Rmx1c2hJZGVudGlmaWVyIGxhc3RTZW50Rmx1c2hJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1
cm4gbV9zZW50Rmx1c2hJZGVudGlmaWVyOyB9Cg==
</data>
<flag name="review"
          id="467498"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>