<?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>161842</bug_id>
          
          <creation_ts>2016-09-10 12:35:18 -0700</creation_ts>
          <short_desc>[GTK] Crash of WebProcess on the last WebView disconnect (take two)</short_desc>
          <delta_ts>2016-09-12 23:14:57 -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>WebKitGTK</component>
          <version>Other</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1228515</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-09-10 12:35:18 -0700</bug_when>
    <thetext>It&apos;s probably a regression from r205544. Every web process crashes when Epiphany is closed, in terminate:

pure virtual method called
terminate called without an active exception

Internet says &quot;pure virtual method called&quot; means we probably tried to call a virtual method from a constructor or destructor; in this case, it&apos;s obviously a destructor. To debug, I added this terminate handler in ChildProcess::initialize:

    std::set_terminate([] { CRASH(); });

So now I see a backtrace, it occurs in the destructor of the GLContextXL, which runs during the destructor of PlatformDisplayX11:

1   0x7f0f35e7308a /home/mcatanzaro/src/jhbuild/install/lib/libjavascriptcoregtk-4.0.so.18(WTFCrash+0x1e) [0x7f0f35e7308a]
2   0x7f0f3baa284f /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(+0x4a8f84f) [0x7f0f3baa284f]
3   0x7f0f3baa285d /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(+0x4a8f85d) [0x7f0f3baa285d]
4   0x7f0f29b81196 /lib64/libstdc++.so.6(+0x8f196) [0x7f0f29b81196]
5   0x7f0f29b811e1 /lib64/libstdc++.so.6(+0x8f1e1) [0x7f0f29b811e1]
6   0x7f0f29b81d5f /lib64/libstdc++.so.6(+0x8fd5f) [0x7f0f29b81d5f]
7   0x7f0f3bde0e77 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF14TypeCastTraitsIKN7WebCore18PlatformDisplayX11EKNS1_15PlatformDisplayELb0EE6isTypeERS5_+0x23) [0x7f0f3bde0e77]
8   0x7f0f3bde0c70 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF14TypeCastTraitsIKN7WebCore18PlatformDisplayX11EKNS1_15PlatformDisplayELb0EE8isOfTypeERS5_+0x18) [0x7f0f3bde0c70]
9   0x7f0f3bde0a57 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF2isIN7WebCore18PlatformDisplayX11ENS1_15PlatformDisplayEEEbRT0_+0x18) [0x7f0f3bde0a57]
10  0x7f0f3bde0051 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3WTF8downcastIN7WebCore18PlatformDisplayX11ENS1_15PlatformDisplayEEERNS_15match_constnessIT0_T_E4typeERS5_+0x18) [0x7f0f3bde0051]
11  0x7f0f3d80b576 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore12GLContextGLXD1Ev+0x74) [0x7f0f3d80b576]
12  0x7f0f3d80b5f8 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore12GLContextGLXD0Ev+0x18) [0x7f0f3d80b5f8]
13  0x7f0f3c002878 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZNKSt14default_deleteIN7WebCore9GLContextEEclEPS1_+0x2e) [0x7f0f3c002878]
14  0x7f0f3c001537 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZNSt10unique_ptrIN7WebCore9GLContextESt14default_deleteIS1_EED1Ev+0x47) [0x7f0f3c001537]
15  0x7f0f3d85a997 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore15PlatformDisplayD1Ev+0x5f) [0x7f0f3d85a997]
16  0x7f0f3d8331ca /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore18PlatformDisplayX11D1Ev+0x76) [0x7f0f3d8331ca]
17  0x7f0f3d8331e6 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore18PlatformDisplayX11D0Ev+0x18) [0x7f0f3d8331e6]
18  0x7f0f3d85bbb6 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZNKSt14default_deleteIN7WebCore15PlatformDisplayEEclEPS1_+0x2e) [0x7f0f3d85bbb6]
19  0x7f0f3d85b377 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZNSt10unique_ptrIN7WebCore15PlatformDisplayESt14default_deleteIS1_EED1Ev+0x47) [0x7f0f3d85b377]
20  0x7f0f292491e8 /lib64/libc.so.6(+0x391e8) [0x7f0f292491e8]
21  0x7f0f29249235 /lib64/libc.so.6(+0x39235) [0x7f0f29249235]
22  0x7f0f3ba6c661 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3IPC10Connection24didFailToSendSyncMessageEv+0x25) [0x7f0f3ba6c661]
23  0x7f0f3ba69fdb /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3IPC10Connection15sendSyncMessageEmSt10unique_ptrINS_7EncoderESt14default_deleteIS2_EENSt6chrono8durationIlSt5ratioILl1ELl1000EEEEN3WTF9OptionSetINS_14SendSyncOptionEEE+0xe5) [0x7f0f3ba69fdb]
24  0x7f0f3bd0a788 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3IPC10Connection8sendSyncIN8Messages15WebProcessProxy15ShouldTerminateEEEbOT_ONS5_5ReplyEmNSt6chrono8durationIlSt5ratioILl1ELl1000EEEEN3WTF9OptionSetINS_14SendSyncOptionEEE+0x120) [0x7f0f3bd0a788]
25  0x7f0f3bd013f8 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN6WebKit10WebProcess15shouldTerminateEv+0xc0) [0x7f0f3bd013f8]
26  0x7f0f3baa2ccd /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN6WebKit12ChildProcess21terminationTimerFiredEv+0x23) [0x7f0f3baa2ccd]
27  0x7f0f3baa2c48 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN6WebKit12ChildProcess17enableTerminationEv+0x80) [0x7f0f3baa2c48]
28  0x7f0f3bd01334 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN6WebKit10WebProcess13removeWebPageEm+0x8e) [0x7f0f3bd01334]
29  0x7f0f3be72116 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN6WebKit7WebPage5closeEv+0x46a) [0x7f0f3be72116]
30  0x7f0f3c1dc173 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3IPC22callMemberFunctionImplIN6WebKit7WebPageEMS2_FvvESt5tupleIJEEJEEEvPT_T0_OT1_St16integer_sequenceImJXspT2_EEE+0x65) [0x7f0f3c1dc173]
31  0x7f0f3c1da874 /home/mcatanzaro/src/jhbuild/install/lib/libwebkit2gtk-4.0.so.37(_ZN3IPC18callMemberFunctionIN6WebKit7WebPageEMS2_FvvESt5tupleIJEESt16integer_sequenceImJEEEEvOT1_PT_T0_+0x41) [0x7f0f3c1da874]

Specifically, in GLContextGLX::~GLContextGLX, in this downcast:

downcast&lt;PlatformDisplayX11&gt;(m_display)

But the PlatformDisplayX11 portion of this PlatformDisplay has already been destroyed; we&apos;re currently executing its destructor. I don&apos;t know how to fix it, but this code only exists to work around a bug in the nvidia proprietary driver, which might not even exist anymore, so my inclination is to just remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228705</commentid>
    <comment_count>1</comment_count>
      <attachid>288560</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-09-12 02:12:38 -0700</bug_when>
    <thetext>Created attachment 288560
Patch

I can&apos;t reproduce it, but this should fix the problem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228738</commentid>
    <comment_count>2</comment_count>
      <attachid>288560</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-09-12 06:47:18 -0700</bug_when>
    <thetext>Comment on attachment 288560
Patch

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

A bit awkward, but looks like it should work....

&gt; Source/WebCore/ChangeLog:8
&gt; +        The problem is that when PlatformDisplayX11 is destroyed, the sharing GL context is deleted and its desstructor

destructor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229093</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-09-12 23:14:57 -0700</bug_when>
    <thetext>Committed r205852: &lt;http://trac.webkit.org/changeset/205852&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288560</attachid>
            <date>2016-09-12 02:12:38 -0700</date>
            <delta_ts>2016-09-12 06:47:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-glx-crash.diff</filename>
            <type>text/plain</type>
            <size>8506</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkNWEyNGYxLi4zYWIzMTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTYtMDktMTIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIENyYXNoIG9mIFdlYlByb2Nlc3Mgb24gdGhlIGxhc3QgV2ViVmll
dyBkaXNjb25uZWN0ICh0YWtlIHR3bykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2MTg0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoZSBwcm9ibGVtIGlzIHRoYXQgd2hlbiBQbGF0Zm9ybURpc3BsYXlY
MTEgaXMgZGVzdHJveWVkLCB0aGUgc2hhcmluZyBHTCBjb250ZXh0IGlzIGRlbGV0ZWQgYW5kIGl0
cyBkZXNzdHJ1Y3RvcgorICAgICAgICBtYWtlcyBhIGRvd25jYXN0IG9mIFBsYXRmb3JtRGlzcGxh
eSB0byBnZXQgdGhlIG5hdGl2ZSBYMTEgZGlzcGxheS4gV2UgY291bGQgc2ltcGx5IGtlZXAgYSBw
b2ludGVyIHRvIHRoZSBuYXRpdmUKKyAgICAgICAgWDExIGRpc3BsYXkgaW4gR0xDb250ZXh0R0xY
LCBnb3QgYXQgY29uc3RydWN0aW9uIHRpbWUgZnJvbSB0aGUgUGxhdGZvcm1EaXNwbGF5LCBhbmQg
ZW5zdXJlIHRoZSBzaGFyaW5nIEdMCisgICAgICAgIGNvbnRleHQgaXMgZGVsZXRlZCBiZWZvcmUg
dGhlIG5hdGl2ZSBYMTEgZGlzcGxheSBpcyBjbG9zZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9QbGF0Zm9ybURpc3BsYXkuaDogTWFrZSBtX3NoYXJpbmdHTENvbnRleHQgcHJvdGVj
dGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dseC9HTENvbnRleHRHTFguY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6R0xDb250ZXh0R0xYOjpHTENvbnRleHRHTFgpOiBJbml0aWFsaXpl
IG1feDExRGlzcGxheS4KKyAgICAgICAgKFdlYkNvcmU6OkdMQ29udGV4dEdMWDo6fkdMQ29udGV4
dEdMWCk6IFVzZSBtX3gxMURpc3BsYXkgYW5kIHJlbW92ZSBjb25mdXNpbmcgY29tbWVudCBhYm91
dCBwb3NzaWJsZSBjcmFzaCB3aXRoCisgICAgICAgIG52aWVkaWEgY2xvc2VkIGRyaXZlcnMuCisg
ICAgICAgIChXZWJDb3JlOjpHTENvbnRleHRHTFg6OmRlZmF1bHRGcmFtZUJ1ZmZlclNpemUpOiBV
c2UgbV94MTFEaXNwbGF5LgorICAgICAgICAoV2ViQ29yZTo6R0xDb250ZXh0R0xYOjptYWtlQ29u
dGV4dEN1cnJlbnQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkdMQ29udGV4dEdMWDo6c3dh
cEJ1ZmZlcnMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkdMQ29udGV4dEdMWDo6c3dhcElu
dGVydmFsKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpHTENvbnRleHRHTFg6OmNhaXJvRGV2
aWNlKTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ2x4L0dMQ29udGV4dEdM
WC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3gxMS9QbGF0Zm9ybURpc3BsYXlYMTEu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5WDExOjp+UGxhdGZvcm1EaXNw
bGF5WDExKTogRGVsZXRlIHRoZSBzaGFyaW5nIEdMIGNvbnRleHQgYmVmb3JlIGNsb3NpbmcgdGhl
IGRpc3BsYXkuCisKIDIwMTYtMDktMTEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBIVE1MVHJhY2tFbGVtZW50LmtpbmQncyBpbnZhbGlkIHZhbHVlIGRlZmF1bHQg
c2hvdWxkIGJlIHRoZSBtZXRhZGF0YSBzdGF0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1EaXNwbGF5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybURpc3BsYXkuaAppbmRleCA3MDA3NzFjLi5mMjI4ZDZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybURpc3Bs
YXkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybURpc3Bs
YXkuaApAQCAtODAsNiArODAsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgRUdMRGlzcGxheSBtX2VnbERp
c3BsYXk7CiAjZW5kaWYKIAorICAgIHN0ZDo6dW5pcXVlX3B0cjxHTENvbnRleHQ+IG1fc2hhcmlu
Z0dMQ29udGV4dDsKKwogcHJpdmF0ZToKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFBsYXRm
b3JtRGlzcGxheT4gY3JlYXRlUGxhdGZvcm1EaXNwbGF5KCk7CiAKQEAgLTkwLDcgKzkyLDYgQEAg
cHJpdmF0ZToKICAgICBpbnQgbV9lZ2xNYWpvclZlcnNpb24geyAwIH07CiAgICAgaW50IG1fZWds
TWlub3JWZXJzaW9uIHsgMCB9OwogI2VuZGlmCi0gICAgc3RkOjp1bmlxdWVfcHRyPEdMQ29udGV4
dD4gbV9zaGFyaW5nR0xDb250ZXh0OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ2x4L0dMQ29udGV4dEdM
WC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nbHgvR0xDb250ZXh0R0xY
LmNwcAppbmRleCBkZmJiOTY1Li4wYTViNjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nbHgvR0xDb250ZXh0R0xYLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nbHgvR0xDb250ZXh0R0xYLmNwcApAQCAtMTU4LDYgKzE1OCw3
IEBAIHN0ZDo6dW5pcXVlX3B0cjxHTENvbnRleHRHTFg+IEdMQ29udGV4dEdMWDo6Y3JlYXRlU2hh
cmluZ0NvbnRleHQoUGxhdGZvcm1EaXNwbGF5CiAKIEdMQ29udGV4dEdMWDo6R0xDb250ZXh0R0xY
KFBsYXRmb3JtRGlzcGxheSYgZGlzcGxheSwgWFVuaXF1ZUdMWENvbnRleHQmJiBjb250ZXh0LCBY
SUQgd2luZG93KQogICAgIDogR0xDb250ZXh0KGRpc3BsYXkpCisgICAgLCBtX3gxMURpc3BsYXko
ZG93bmNhc3Q8UGxhdGZvcm1EaXNwbGF5WDExPihtX2Rpc3BsYXkpLm5hdGl2ZSgpKQogICAgICwg
bV9jb250ZXh0KFdURk1vdmUoY29udGV4dCkpCiAgICAgLCBtX3dpbmRvdyh3aW5kb3cpCiB7CkBA
IC0xNjUsNiArMTY2LDcgQEAgR0xDb250ZXh0R0xYOjpHTENvbnRleHRHTFgoUGxhdGZvcm1EaXNw
bGF5JiBkaXNwbGF5LCBYVW5pcXVlR0xYQ29udGV4dCYmIGNvbnRleHQKIAogR0xDb250ZXh0R0xY
OjpHTENvbnRleHRHTFgoUGxhdGZvcm1EaXNwbGF5JiBkaXNwbGF5LCBYVW5pcXVlR0xYQ29udGV4
dCYmIGNvbnRleHQsIFhVbmlxdWVHTFhQYnVmZmVyJiYgcGJ1ZmZlcikKICAgICA6IEdMQ29udGV4
dChkaXNwbGF5KQorICAgICwgbV94MTFEaXNwbGF5KGRvd25jYXN0PFBsYXRmb3JtRGlzcGxheVgx
MT4obV9kaXNwbGF5KS5uYXRpdmUoKSkKICAgICAsIG1fY29udGV4dChXVEZNb3ZlKGNvbnRleHQp
KQogICAgICwgbV9wYnVmZmVyKFdURk1vdmUocGJ1ZmZlcikpCiB7CkBAIC0xNzIsNiArMTc0LDcg
QEAgR0xDb250ZXh0R0xYOjpHTENvbnRleHRHTFgoUGxhdGZvcm1EaXNwbGF5JiBkaXNwbGF5LCBY
VW5pcXVlR0xYQ29udGV4dCYmIGNvbnRleHQKIAogR0xDb250ZXh0R0xYOjpHTENvbnRleHRHTFgo
UGxhdGZvcm1EaXNwbGF5JiBkaXNwbGF5LCBYVW5pcXVlR0xYQ29udGV4dCYmIGNvbnRleHQsIFhV
bmlxdWVQaXhtYXAmJiBwaXhtYXAsIFhVbmlxdWVHTFhQaXhtYXAmJiBnbHhQaXhtYXApCiAgICAg
OiBHTENvbnRleHQoZGlzcGxheSkKKyAgICAsIG1feDExRGlzcGxheShkb3duY2FzdDxQbGF0Zm9y
bURpc3BsYXlYMTE+KG1fZGlzcGxheSkubmF0aXZlKCkpCiAgICAgLCBtX2NvbnRleHQoV1RGTW92
ZShjb250ZXh0KSkKICAgICAsIG1fcGl4bWFwKFdURk1vdmUocGl4bWFwKSkKICAgICAsIG1fZ2x4
UGl4bWFwKFdURk1vdmUoZ2x4UGl4bWFwKSkKQEAgLTE4NCwxMCArMTg3LDggQEAgR0xDb250ZXh0
R0xYOjp+R0xDb250ZXh0R0xYKCkKICAgICAgICAgY2Fpcm9fZGV2aWNlX2Rlc3Ryb3kobV9jYWly
b0RldmljZSk7CiAKICAgICBpZiAobV9jb250ZXh0KSB7Ci0gICAgICAgIC8vIFRoaXMgbWF5IGJl
IG5lY2Vzc2FyeSB0byBwcmV2ZW50IGNyYXNoZXMgd2l0aCBOVmlkaWEncyBjbG9zZWQgc291cmNl
IGRyaXZlcnMuIE9yaWdpbmFsbHkKLSAgICAgICAgLy8gZnJvbSBNb3ppbGxhJ3MgM0QgY2FudmFz
IGltcGxlbWVudGF0aW9uIGF0OiBodHRwOi8vYml0YnVja2V0Lm9yZy9pbG1hcmkvY2FudmFzM2Qv
CiAgICAgICAgIGdsQmluZEZyYW1lYnVmZmVyRVhUKEdMX0ZSQU1FQlVGRkVSX0VYVCwgMCk7Ci0g
ICAgICAgIGdsWE1ha2VDdXJyZW50KGRvd25jYXN0PFBsYXRmb3JtRGlzcGxheVgxMT4obV9kaXNw
bGF5KS5uYXRpdmUoKSwgTm9uZSwgTm9uZSk7CisgICAgICAgIGdsWE1ha2VDdXJyZW50KG1feDEx
RGlzcGxheSwgTm9uZSwgTm9uZSk7CiAgICAgfQogfQogCkBAIC0yMDQsNyArMjA1LDcgQEAgSW50
U2l6ZSBHTENvbnRleHRHTFg6OmRlZmF1bHRGcmFtZUJ1ZmZlclNpemUoKQogICAgIGludCB4LCB5
OwogICAgIFdpbmRvdyByb290V2luZG93OwogICAgIHVuc2lnbmVkIGludCB3aWR0aCwgaGVpZ2h0
LCBib3JkZXJXaWR0aCwgZGVwdGg7Ci0gICAgaWYgKCFYR2V0R2VvbWV0cnkoZG93bmNhc3Q8UGxh
dGZvcm1EaXNwbGF5WDExPihtX2Rpc3BsYXkpLm5hdGl2ZSgpLCBtX3dpbmRvdywgJnJvb3RXaW5k
b3csICZ4LCAmeSwgJndpZHRoLCAmaGVpZ2h0LCAmYm9yZGVyV2lkdGgsICZkZXB0aCkpCisgICAg
aWYgKCFYR2V0R2VvbWV0cnkobV94MTFEaXNwbGF5LCBtX3dpbmRvdywgJnJvb3RXaW5kb3csICZ4
LCAmeSwgJndpZHRoLCAmaGVpZ2h0LCAmYm9yZGVyV2lkdGgsICZkZXB0aCkpCiAgICAgICAgIHJl
dHVybiBJbnRTaXplKCk7CiAKICAgICByZXR1cm4gSW50U2l6ZSh3aWR0aCwgaGVpZ2h0KTsKQEAg
LTIxOCwyMCArMjE5LDE5IEBAIGJvb2wgR0xDb250ZXh0R0xYOjptYWtlQ29udGV4dEN1cnJlbnQo
KQogICAgIGlmIChnbFhHZXRDdXJyZW50Q29udGV4dCgpID09IG1fY29udGV4dC5nZXQoKSkKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBEaXNwbGF5KiBkaXNwbGF5ID0gZG93bmNhc3Q8UGxh
dGZvcm1EaXNwbGF5WDExPihtX2Rpc3BsYXkpLm5hdGl2ZSgpOwogICAgIGlmIChtX3dpbmRvdykK
LSAgICAgICAgcmV0dXJuIGdsWE1ha2VDdXJyZW50KGRpc3BsYXksIG1fd2luZG93LCBtX2NvbnRl
eHQuZ2V0KCkpOworICAgICAgICByZXR1cm4gZ2xYTWFrZUN1cnJlbnQobV94MTFEaXNwbGF5LCBt
X3dpbmRvdywgbV9jb250ZXh0LmdldCgpKTsKIAogICAgIGlmIChtX3BidWZmZXIpCi0gICAgICAg
IHJldHVybiBnbFhNYWtlQ3VycmVudChkaXNwbGF5LCBtX3BidWZmZXIuZ2V0KCksIG1fY29udGV4
dC5nZXQoKSk7CisgICAgICAgIHJldHVybiBnbFhNYWtlQ3VycmVudChtX3gxMURpc3BsYXksIG1f
cGJ1ZmZlci5nZXQoKSwgbV9jb250ZXh0LmdldCgpKTsKIAotICAgIHJldHVybiA6OmdsWE1ha2VD
dXJyZW50KGRpc3BsYXksIG1fZ2x4UGl4bWFwLmdldCgpLCBtX2NvbnRleHQuZ2V0KCkpOworICAg
IHJldHVybiA6OmdsWE1ha2VDdXJyZW50KG1feDExRGlzcGxheSwgbV9nbHhQaXhtYXAuZ2V0KCks
IG1fY29udGV4dC5nZXQoKSk7CiB9CiAKIHZvaWQgR0xDb250ZXh0R0xYOjpzd2FwQnVmZmVycygp
CiB7CiAgICAgaWYgKG1fd2luZG93KQotICAgICAgICBnbFhTd2FwQnVmZmVycyhkb3duY2FzdDxQ
bGF0Zm9ybURpc3BsYXlYMTE+KG1fZGlzcGxheSkubmF0aXZlKCksIG1fd2luZG93KTsKKyAgICAg
ICAgZ2xYU3dhcEJ1ZmZlcnMobV94MTFEaXNwbGF5LCBtX3dpbmRvdyk7CiB9CiAKIHZvaWQgR0xD
b250ZXh0R0xYOjp3YWl0TmF0aXZlKCkKQEAgLTI0MSw3ICsyNDEsNyBAQCB2b2lkIEdMQ29udGV4
dEdMWDo6d2FpdE5hdGl2ZSgpCiAKIHZvaWQgR0xDb250ZXh0R0xYOjpzd2FwSW50ZXJ2YWwoaW50
IGludGVydmFsKQogewotICAgIGlmICghaGFzU0dJU3dhcENvbnRyb2xFeHRlbnNpb24oZG93bmNh
c3Q8UGxhdGZvcm1EaXNwbGF5WDExPihtX2Rpc3BsYXkpLm5hdGl2ZSgpKSkKKyAgICBpZiAoIWhh
c1NHSVN3YXBDb250cm9sRXh0ZW5zaW9uKG1feDExRGlzcGxheSkpCiAgICAgICAgIHJldHVybjsK
ICAgICBnbFhTd2FwSW50ZXJ2YWxTR0koaW50ZXJ2YWwpOwogfQpAQCAtMjUyLDcgKzI1Miw3IEBA
IGNhaXJvX2RldmljZV90KiBHTENvbnRleHRHTFg6OmNhaXJvRGV2aWNlKCkKICAgICAgICAgcmV0
dXJuIG1fY2Fpcm9EZXZpY2U7CiAKICNpZiBFTkFCTEUoQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAm
JiBDQUlST19IQVNfR0xYX0ZVTkNUSU9OUwotICAgIG1fY2Fpcm9EZXZpY2UgPSBjYWlyb19nbHhf
ZGV2aWNlX2NyZWF0ZShkb3duY2FzdDxQbGF0Zm9ybURpc3BsYXlYMTE+KG1fZGlzcGxheSkubmF0
aXZlKCksIG1fY29udGV4dC5nZXQoKSk7CisgICAgbV9jYWlyb0RldmljZSA9IGNhaXJvX2dseF9k
ZXZpY2VfY3JlYXRlKG1feDExRGlzcGxheSwgbV9jb250ZXh0LmdldCgpKTsKICNlbmRpZgogCiAg
ICAgcmV0dXJuIG1fY2Fpcm9EZXZpY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nbHgvR0xDb250ZXh0R0xYLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nbHgvR0xDb250ZXh0R0xYLmgKaW5kZXggMTlmYzM3NC4uYmUzYzIzYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ2x4L0dMQ29udGV4dEdM
WC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dseC9HTENvbnRleHRH
TFguaApAQCAtMjksNiArMjksNyBAQAogdHlwZWRlZiB1bnNpZ25lZCBjaGFyIEdMdWJ5dGU7CiB0
eXBlZGVmIHVuc2lnbmVkIGxvbmcgWElEOwogdHlwZWRlZiB2b2lkKiBDb250ZXh0S2V5VHlwZTsK
K3R5cGVkZWYgc3RydWN0IF9YRGlzcGxheSBEaXNwbGF5OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTYyLDYgKzYzLDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRy
PEdMQ29udGV4dEdMWD4gY3JlYXRlUGJ1ZmZlckNvbnRleHQoUGxhdGZvcm1EaXNwbGF5JiwgR0xY
Q29udGV4dCBzaGFyaW5nQ29udGV4dCA9IG51bGxwdHIpOwogICAgIHN0YXRpYyBzdGQ6OnVuaXF1
ZV9wdHI8R0xDb250ZXh0R0xYPiBjcmVhdGVQaXhtYXBDb250ZXh0KFBsYXRmb3JtRGlzcGxheSYs
IEdMWENvbnRleHQgc2hhcmluZ0NvbnRleHQgPSBudWxscHRyKTsKIAorICAgIERpc3BsYXkqIG1f
eDExRGlzcGxheSB7IG51bGxwdHIgfTsKICAgICBYVW5pcXVlR0xYQ29udGV4dCBtX2NvbnRleHQ7
CiAgICAgWElEIG1fd2luZG93IHsgMCB9OwogICAgIFhVbmlxdWVHTFhQYnVmZmVyIG1fcGJ1ZmZl
cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3gxMS9QbGF0
Zm9ybURpc3BsYXlYMTEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MveDEx
L1BsYXRmb3JtRGlzcGxheVgxMS5jcHAKaW5kZXggNTAxODdmZC4uNGM0ZmUwOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MveDExL1BsYXRmb3JtRGlzcGxheVgx
MS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MveDExL1BsYXRmb3Jt
RGlzcGxheVgxMS5jcHAKQEAgLTM1LDggKzM1LDE0IEBACiAKICNpZiBVU0UoRUdMKQogI2luY2x1
ZGUgPEVHTC9lZ2wuaD4KKyNpbmNsdWRlIDxFR0wvZWdscGxhdGZvcm0uaD4KICNlbmRpZgogCisv
LyBGSVhNRTogdGhpcyBuZWVkcyB0byBiZSBoZXJlLCBhZnRlciBlZ2xwbGF0Zm9ybS5oLCB0byBh
dm9pZCBFR0xOYXRpdmVEaXNwbGF5VHlwZSB0byBiZSBkZWZpbmVkIGFzIHdsX2Rpc3BsYXkuCisv
LyBTaW5jZSB3ZSBzdXBwb3J0IFdheWxhbmQgYW5kIFgxMSB0byBiZSBidWlsdCBhdCB0aGUgc2Ft
ZSB0aW1lLCBidXQgZWdscGxhdGZvcm0uaCBkZWZpbmVzIGFyZSBkZWNpZGVkIGF0IGNvbXBpbGUg
dGltZQorLy8gd2UgbmVlZCB0byBlbnN1cmUgd2Ugb25seSBpbmNsdWRlIGVnbHBsYXRmb3JtLmgg
ZnJvbSBYMTEgb3IgV2F5bGFuZCBzcGVjaWZpYyBmaWxlcy4KKyNpbmNsdWRlICJHTENvbnRleHQu
aCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBQbGF0Zm9ybURpc3BsYXlYMTE6OlBsYXRmb3Jt
RGlzcGxheVgxMSgpCkBAIC01Myw2ICs1OSw4IEBAIFBsYXRmb3JtRGlzcGxheVgxMTo6UGxhdGZv
cm1EaXNwbGF5WDExKERpc3BsYXkqIGRpc3BsYXkpCiAKIFBsYXRmb3JtRGlzcGxheVgxMTo6flBs
YXRmb3JtRGlzcGxheVgxMSgpCiB7CisgICAgLy8gQ2xlYXIgdGhlIHNoYXJpbmcgY29udGV4dCBi
ZWZvcmUgcmVsZWFzaW5nIHRoZSBkaXNwbGF5LgorICAgIG1fc2hhcmluZ0dMQ29udGV4dCA9IG51
bGxwdHI7CiAgICAgaWYgKG1fb3duZWREaXNwbGF5KQogICAgICAgICBYQ2xvc2VEaXNwbGF5KG1f
ZGlzcGxheSk7CiB9Cg==
</data>
<flag name="review"
          id="311870"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>