<?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>213265</bug_id>
          
          <creation_ts>2020-06-16 15:35:15 -0700</creation_ts>
          <short_desc>[WebGL] Lose the context if IOSurface allocation fails</short_desc>
          <delta_ts>2020-06-16 17:58:05 -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>WebGL</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="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>noam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1663274</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-06-16 15:35:15 -0700</bug_when>
    <thetext>If we can&apos;t create the backing store for WebGL, we should immediately lose the context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663275</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-16 15:35:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/64424742&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663279</commentid>
    <comment_count>2</comment_count>
      <attachid>402050</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-06-16 15:38:13 -0700</bug_when>
    <thetext>Created attachment 402050
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663282</commentid>
    <comment_count>3</comment_count>
      <attachid>402050</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-06-16 15:41:32 -0700</bug_when>
    <thetext>Comment on attachment 402050
Patch

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

&gt; Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:221
&gt; +    if (!allocateIOSurfaceBackingStore(IntSize(width, height))) {

Weird that we have size above then break it out into width/height then put it back to size here.

&gt; Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:224
&gt; +        return true;

What does the true mean? Shouldn&apos;t this be false? Or should it be an enum?

&gt; Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp:195
&gt; +    if (!allocateIOSurfaceBackingStore(IntSize(width, height))) {
&gt; +        RELEASE_LOG(WebGL, &quot;Fatal: Unable to allocate backing store of size %d x %d&quot;, width, height);
&gt; +        forceContextLost();
&gt; +        return true;

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663300</commentid>
    <comment_count>4</comment_count>
      <attachid>402050</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-06-16 16:28:56 -0700</bug_when>
    <thetext>Comment on attachment 402050
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:221
&gt;&gt; +    if (!allocateIOSurfaceBackingStore(IntSize(width, height))) {
&gt; 
&gt; Weird that we have size above then break it out into width/height then put it back to size here.

Yeah.

&gt;&gt; Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:224
&gt;&gt; +        return true;
&gt; 
&gt; What does the true mean? Shouldn&apos;t this be false? Or should it be an enum?

This should be in a separate cleanup. It indicates whether or not to restore the FBO bindings, so unrelated to allocation.

Given that we&apos;re losing the context here, it doesn&apos;t matter what we return.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1663332</commentid>
    <comment_count>5</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-06-16 17:58:05 -0700</bug_when>
    <thetext>Committed r263127: &lt;https://trac.webkit.org/changeset/263127&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402050</attachid>
            <date>2020-06-16 15:38:13 -0700</date>
            <delta_ts>2020-06-16 15:41:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213265-20200617083811.patch</filename>
            <type>text/plain</type>
            <size>8873</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyOTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzNkNjQ2NTRkZWM1ZjA1
MWNkZDVlYjBhMzJlY2FhMGQyMDExNGMxMy4uNDU0NDA4NzVjNDE1ZWY2MDUwYjVkYjQ3ODc1Nzhm
ODhjZWJhNzg4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTA2LTE2ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR0xdIExvc2UgdGhlIGNv
bnRleHQgaWYgSU9TdXJmYWNlIGFsbG9jYXRpb24gZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzI2NQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNjQ0MjQ3NDI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSWYgd2UgYXJlIHVuYWJsZSB0byBhbGxvY2F0ZSB0aGUgYmFja2luZyBzdG9yZSBmb3Ig
dGhlIFdlYkdMCisgICAgICAgIGNvbnRlbnQsIHdlIHNob3VsZCBpbW1lZGlhdGVseSBsb3NlIHRo
ZSBjb250ZXh0LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3ND
b250ZXh0R0xBTkdMRS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9w
ZW5HTDo6cmVzaGFwZUZCT3MpOiBMb3NlIHRoZSBjb250ZXh0IGlmIHRoZQorICAgICAgICBjYWxs
IHRvIGFsbG9jYXRlSU9TdXJmYWNlQmFja2luZ1N0b3JlIGRpZG4ndCB3b3JrLgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29jb2EubW06
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6YWxsb2NhdGVJT1N1
cmZhY2VCYWNraW5nU3RvcmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dl
YkdMTGF5ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHTExheWVy
Lm1tOgorICAgICAgICAoLVtXZWJHTExheWVyIGFsbG9jYXRlSU9TdXJmYWNlQmFja2luZ1N0b3Jl
V2l0aFNpemU6dXNpbmdBbHBoYTpdKTogUmV0dXJuIGEgYm9vbGVhbgorICAgICAgICBzbyB0aGF0
IHdlIGNhbiBkZXRlY3QgaWYgdGhlIGFsbG9jYXRpb24gZmFpbGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTEJhc2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OnJlc2hhcGVGQk9z
KToKKwogMjAyMC0wNi0xNSAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAg
ICAgUkVHUkVTU0lPTiAocjI2MjY0Myk6IER1bXBSZW5kZXJUcmVlIGF0IGNvbS5hcHBsZS5XZWJD
b3JlOiBXZWJDb3JlOjpEb2N1bWVudDo6cHJlcGFyZUNhbnZhc2VzRm9yRGlzcGxheUlmTmVlZGVk
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFw
aGljc0NvbnRleHRHTEFOR0xFLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwCmluZGV4IDNhODQ2ZWIxOGM2YTA2NThh
OTI1NmRiZTkxMzA2NGE1YTA3OGQ3OWEuLmI2MmI3NzAzMjg4NDM3ZjE4Y2Y0MzQzNTcxOWQzN2Ji
NjM4YWFmODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Fu
Z2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwCkBAIC0yMTgsNyAr
MjE4LDExIEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OnJlc2hhcGVGQk9zKGNvbnN0
IEludFNpemUmIHNpemUpCiAgICAgQVNTRVJUKG1fdGV4dHVyZSk7CiAKICNpZiBQTEFURk9STShD
T0NPQSkKLSAgICBhbGxvY2F0ZUlPU3VyZmFjZUJhY2tpbmdTdG9yZShJbnRTaXplKHdpZHRoLCBo
ZWlnaHQpKTsKKyAgICBpZiAoIWFsbG9jYXRlSU9TdXJmYWNlQmFja2luZ1N0b3JlKEludFNpemUo
d2lkdGgsIGhlaWdodCkpKSB7CisgICAgICAgIFJFTEVBU0VfTE9HKFdlYkdMLCAiRmF0YWw6IFVu
YWJsZSB0byBhbGxvY2F0ZSBiYWNraW5nIHN0b3JlIG9mIHNpemUgJWQgeCAlZCIsIHdpZHRoLCBo
ZWlnaHQpOworICAgICAgICBmb3JjZUNvbnRleHRMb3N0KCk7CisgICAgICAgIHJldHVybiB0cnVl
OworICAgIH0KICAgICB1cGRhdGVGcmFtZWJ1ZmZlclRleHR1cmVCYWNraW5nU3RvcmVGcm9tTGF5
ZXIoKTsKICAgICBpZiAobV9wcmVzZXJ2ZURyYXdpbmdCdWZmZXJUZXh0dXJlKSB7CiAgICAgICAg
IC8vIFRoZSBjb250ZXh0IHJlcXVpcmVzIHRoZSB1c2Ugb2YgYW4gaW50ZXJtZWRpYXRlIHRleHR1
cmUgaW4gb3JkZXIgdG8gaW1wbGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvY29hLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvR3JhcGhpY3NDb250ZXh0R0xPcGVu
R0xDb2NvYS5tbQppbmRleCA0MzFjNjFmMTExZDM3N2IzZGJkODE3M2M2OTVjZmFjNzFhMDlkZmEx
Li5kMDYwNjQzZjBkMzA2Y2RjYzI1OTAxYzQxZWQ3OWY5YTVmNjdhNTRmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9HcmFwaGljc0NvbnRleHRHTE9w
ZW5HTENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29jb2EubW0KQEAgLTczMywxMCArNzMzLDEwIEBAIGJv
b2wgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OnRleEltYWdlSU9TdXJmYWNlMkQoR0NHTGVudW0g
dGFyZ2V0LCBHQ0dMZW51bSBpbnRlCiB9CiAKICNpZiBVU0UoT1BFTkdMKQotdm9pZCBHcmFwaGlj
c0NvbnRleHRHTE9wZW5HTDo6YWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmUoSW50U2l6ZSBz
aXplKQorYm9vbCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6YWxsb2NhdGVJT1N1cmZhY2VCYWNr
aW5nU3RvcmUoSW50U2l6ZSBzaXplKQogewogICAgIExPRyhXZWJHTCwgIkdyYXBoaWNzQ29udGV4
dEdMT3BlbkdMOjphbGxvY2F0ZUlPU3VyZmFjZUJhY2tpbmdTdG9yZSBhdCAlZCB4ICVkLiAoJXAp
Iiwgc2l6ZS53aWR0aCgpLCBzaXplLmhlaWdodCgpLCB0aGlzKTsKLSAgICBbbV93ZWJHTExheWVy
IGFsbG9jYXRlSU9TdXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6c2l6ZSB1c2luZ0FscGhhOmNv
bnRleHRBdHRyaWJ1dGVzKCkuYWxwaGFdOworICAgIHJldHVybiBbbV93ZWJHTExheWVyIGFsbG9j
YXRlSU9TdXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6c2l6ZSB1c2luZ0FscGhhOmNvbnRleHRB
dHRyaWJ1dGVzKCkuYWxwaGFdOwogfQogCiB2b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjp1
cGRhdGVGcmFtZWJ1ZmZlclRleHR1cmVCYWNraW5nU3RvcmVGcm9tTGF5ZXIoKQpAQCAtNzkyLDEw
ICs3OTIsMTAgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6dXBkYXRlQ0dMQ29udGV4
dCgpCiB9CiAjZW5kaWYKIAotdm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6YWxsb2NhdGVJ
T1N1cmZhY2VCYWNraW5nU3RvcmUoSW50U2l6ZSBzaXplKQorYm9vbCBHcmFwaGljc0NvbnRleHRH
TE9wZW5HTDo6YWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmUoSW50U2l6ZSBzaXplKQogewog
ICAgIExPRyhXZWJHTCwgIkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjphbGxvY2F0ZUlPU3VyZmFj
ZUJhY2tpbmdTdG9yZSBhdCAlZCB4ICVkLiAoJXApIiwgc2l6ZS53aWR0aCgpLCBzaXplLmhlaWdo
dCgpLCB0aGlzKTsKLSAgICBbbV93ZWJHTExheWVyIGFsbG9jYXRlSU9TdXJmYWNlQmFja2luZ1N0
b3JlV2l0aFNpemU6c2l6ZSB1c2luZ0FscGhhOmNvbnRleHRBdHRyaWJ1dGVzKCkuYWxwaGFdOwor
ICAgIHJldHVybiBbbV93ZWJHTExheWVyIGFsbG9jYXRlSU9TdXJmYWNlQmFja2luZ1N0b3JlV2l0
aFNpemU6c2l6ZSB1c2luZ0FscGhhOmNvbnRleHRBdHRyaWJ1dGVzKCkuYWxwaGFdOwogfQogCiB2
b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjp1cGRhdGVGcmFtZWJ1ZmZlclRleHR1cmVCYWNr
aW5nU3RvcmVGcm9tTGF5ZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvV2ViR0xMYXllci5oCmluZGV4IDI4NzI5YjE4N2YwM2FlNzIzMmM5YTRhYmZi
YmMyNzczOWRkZWE4NWEuLjcyNzhiYjRmMmFmOWNiMGQ1ZWI4N2NiYThkNDYwODhlMGVhNTBkN2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdM
TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJH
TExheWVyLmgKQEAgLTU0LDcgKzU0LDcgQEAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNf
QkVHSU4KIC0gKHZvaWQpcHJlcGFyZUZvckRpc3BsYXk7CiAKICNpZiBVU0UoT1BFTkdMKSB8fCBV
U0UoQU5HTEUpCi0tICh2b2lkKWFsbG9jYXRlSU9TdXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6
KFdlYkNvcmU6OkludFNpemUpc2l6ZSB1c2luZ0FscGhhOihCT09MKXVzaW5nQWxwaGE7CistIChi
b29sKWFsbG9jYXRlSU9TdXJmYWNlQmFja2luZ1N0b3JlV2l0aFNpemU6KFdlYkNvcmU6OkludFNp
emUpc2l6ZSB1c2luZ0FscGhhOihCT09MKXVzaW5nQWxwaGE7CiAtICh2b2lkKWJpbmRGcmFtZWJ1
ZmZlclRvTmV4dEF2YWlsYWJsZVN1cmZhY2U7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW0KaW5kZXggNzhhNmYw
MzU4ODQ0ZjQ2NGU0ZDZjOTgzM2ZjMDM4MzUwODdlNjZhMC4uOTczZTBjODY1NGM0ZGRiNmYxZTI3
ODQ3NzdmODkzYzc2MTIyMTkxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9XZWJHTExheWVyLm1tCkBAIC0yNzQsNyArMjc0LDcgQEAgc3RhdGlj
IHZvaWQgZnJlZURhdGEodm9pZCAqLCBjb25zdCB2b2lkICpkYXRhLCBzaXplX3QgLyogc2l6ZSAq
LykKICNlbmRpZgogCiAjaWYgVVNFKE9QRU5HTCkgfHwgVVNFKEFOR0xFKQotLSAodm9pZClhbGxv
Y2F0ZUlPU3VyZmFjZUJhY2tpbmdTdG9yZVdpdGhTaXplOihXZWJDb3JlOjpJbnRTaXplKXNpemUg
dXNpbmdBbHBoYTooQk9PTCl1c2luZ0FscGhhCistIChib29sKWFsbG9jYXRlSU9TdXJmYWNlQmFj
a2luZ1N0b3JlV2l0aFNpemU6KFdlYkNvcmU6OkludFNpemUpc2l6ZSB1c2luZ0FscGhhOihCT09M
KXVzaW5nQWxwaGEKIHsKICAgICBfYnVmZmVyU2l6ZSA9IHNpemU7CiAgICAgX3VzaW5nQWxwaGEg
PSB1c2luZ0FscGhhOwpAQCAtMjgyLDkgKzI4Miw4IEBAIHN0YXRpYyB2b2lkIGZyZWVEYXRhKHZv
aWQgKiwgY29uc3Qgdm9pZCAqZGF0YSwgc2l6ZV90IC8qIHNpemUgKi8pCiAgICAgX2RyYXdpbmdC
dWZmZXIgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShzaXplLCBXZWJDb3JlOjpzUkdCQ29s
b3JTcGFjZVJlZigpKTsKICAgICBfc3BhcmVCdWZmZXIgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNy
ZWF0ZShzaXplLCBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpKTsKIAotICAgIEFTU0VSVChf
Y29udGVudHNCdWZmZXIpOwotICAgIEFTU0VSVChfZHJhd2luZ0J1ZmZlcik7Ci0gICAgQVNTRVJU
KF9zcGFyZUJ1ZmZlcik7CisgICAgaWYgKCFfY29udGVudHNCdWZmZXIgfHwgIV9kcmF3aW5nQnVm
ZmVyIHx8ICFfc3BhcmVCdWZmZXIpCisgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIF9jb250
ZW50c0J1ZmZlci0+bWlncmF0ZUNvbG9yU3BhY2VUb1Byb3BlcnRpZXMoKTsKICAgICBfZHJhd2lu
Z0J1ZmZlci0+bWlncmF0ZUNvbG9yU3BhY2VUb1Byb3BlcnRpZXMoKTsKQEAgLTMwNyw3ICszMDYs
MTIgQEAgc3RhdGljIHZvaWQgZnJlZURhdGEodm9pZCAqLCBjb25zdCB2b2lkICpkYXRhLCBzaXpl
X3QgLyogc2l6ZSAqLykKICAgICBfY29udGVudHNQYnVmZmVyID0gRUdMX0NyZWF0ZVBidWZmZXJG
cm9tQ2xpZW50QnVmZmVyKF9lZ2xEaXNwbGF5LCBFR0xfSU9TVVJGQUNFX0FOR0xFLCBfY29udGVu
dHNCdWZmZXItPnN1cmZhY2UoKSwgX2VnbENvbmZpZywgc3VyZmFjZUF0dHJpYnV0ZXMpOwogICAg
IF9kcmF3aW5nUGJ1ZmZlciA9IEVHTF9DcmVhdGVQYnVmZmVyRnJvbUNsaWVudEJ1ZmZlcihfZWds
RGlzcGxheSwgRUdMX0lPU1VSRkFDRV9BTkdMRSwgX2RyYXdpbmdCdWZmZXItPnN1cmZhY2UoKSwg
X2VnbENvbmZpZywgc3VyZmFjZUF0dHJpYnV0ZXMpOwogICAgIF9zcGFyZVBidWZmZXIgPSBFR0xf
Q3JlYXRlUGJ1ZmZlckZyb21DbGllbnRCdWZmZXIoX2VnbERpc3BsYXksIEVHTF9JT1NVUkZBQ0Vf
QU5HTEUsIF9zcGFyZUJ1ZmZlci0+c3VyZmFjZSgpLCBfZWdsQ29uZmlnLCBzdXJmYWNlQXR0cmli
dXRlcyk7CisKKyAgICBpZiAoIV9jb250ZW50c1BidWZmZXIgfHwgIV9kcmF3aW5nUGJ1ZmZlciB8
fCAhX3NwYXJlUGJ1ZmZlcikKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCisKKyAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAogLSAodm9pZCliaW5kRnJhbWVidWZmZXJUb05leHRBdmFpbGFibGVT
dXJmYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
Z2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oCmluZGV4IDQ5ZTEwNjlmNmZl
ZGE0YzNiOGJjMmJmMDgzYjJmODdiMzA2MzIzNGUuLmRlODE1NzFkOTExZWEyNTAzMzFhNzQyZDFi
Nzg3Y2VmZmVhOWRjN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oCkBAIC01
NTQsNyArNTU0LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBVU0UoT1BFTkdMKSB8fCBVU0Uo
QU5HTEUpCi0gICAgdm9pZCBhbGxvY2F0ZUlPU3VyZmFjZUJhY2tpbmdTdG9yZShJbnRTaXplKTsK
KyAgICBib29sIGFsbG9jYXRlSU9TdXJmYWNlQmFja2luZ1N0b3JlKEludFNpemUpOwogICAgIHZv
aWQgdXBkYXRlRnJhbWVidWZmZXJUZXh0dXJlQmFja2luZ1N0b3JlRnJvbUxheWVyKCk7CiAjaWYg
UExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKICAgICB2b2lkIHVwZGF0ZUNH
TENvbnRleHQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQmFzZS5jcHAK
aW5kZXggNDQ1YzdkNzhhNGExYThjZGIwZTA4YTg1OWQzOTEyZTVjYzYyYjZjNi4uYzVlNTBiODIz
ZmNjMTg5NTEwZjUwN2UyZjQ2MjY1YzlkN2MwMWZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQmFzZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNz
Q29udGV4dEdMT3BlbkdMQmFzZS5jcHAKQEAgLTE4OSw3ICsxODksMTEgQEAgYm9vbCBHcmFwaGlj
c0NvbnRleHRHTE9wZW5HTDo6cmVzaGFwZUZCT3MoY29uc3QgSW50U2l6ZSYgc2l6ZSkKICAgICA6
OmdsRnJhbWVidWZmZXJSZW5kZXJidWZmZXIoR0xfRlJBTUVCVUZGRVIsIEdMX0NPTE9SX0FUVEFD
SE1FTlQwLCBHTF9SRU5ERVJCVUZGRVIsIG1fdGV4dHVyZSk7CiAgICAgc2V0UmVuZGVyYnVmZmVy
U3RvcmFnZUZyb21EcmF3YWJsZShtX2N1cnJlbnRXaWR0aCwgbV9jdXJyZW50SGVpZ2h0KTsKICNl
bHNlCi0gICAgYWxsb2NhdGVJT1N1cmZhY2VCYWNraW5nU3RvcmUoSW50U2l6ZSh3aWR0aCwgaGVp
Z2h0KSk7CisgICAgaWYgKCFhbGxvY2F0ZUlPU3VyZmFjZUJhY2tpbmdTdG9yZShJbnRTaXplKHdp
ZHRoLCBoZWlnaHQpKSkgeworICAgICAgICBSRUxFQVNFX0xPRyhXZWJHTCwgIkZhdGFsOiBVbmFi
bGUgdG8gYWxsb2NhdGUgYmFja2luZyBzdG9yZSBvZiBzaXplICVkIHggJWQiLCB3aWR0aCwgaGVp
Z2h0KTsKKyAgICAgICAgZm9yY2VDb250ZXh0TG9zdCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICB9CiAgICAgdXBkYXRlRnJhbWVidWZmZXJUZXh0dXJlQmFja2luZ1N0b3JlRnJvbUxheWVy
KCk7CiAgICAgOjpnbEZyYW1lYnVmZmVyVGV4dHVyZTJERVhUKEdMX0ZSQU1FQlVGRkVSX0VYVCwg
R0xfQ09MT1JfQVRUQUNITUVOVDBfRVhULCBHTF9URVhUVVJFX1JFQ1RBTkdMRV9BUkIsIG1fdGV4
dHVyZSwgMCk7CiAjZW5kaWYgLy8gIVVTRShPUEVOR0xfRVMpKQo=
</data>
<flag name="review"
          id="417486"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>