<?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>102520</bug_id>
          
          <creation_ts>2012-11-16 08:18:23 -0800</creation_ts>
          <short_desc>[WK2] REGRESSION: After web process crash a new web process is created for every existing page</short_desc>
          <delta_ts>2012-11-18 03:19:28 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>769296</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-11-16 08:18:23 -0800</bug_when>
    <thetext>Even when process model is SharedSecondaryProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769302</commentid>
    <comment_count>1</comment_count>
      <attachid>174691</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-11-16 08:22:22 -0800</bug_when>
    <thetext>Created attachment 174691
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769403</commentid>
    <comment_count>2</comment_count>
      <attachid>174691</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-11-16 10:11:19 -0800</bug_when>
    <thetext>Comment on attachment 174691
Patch

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

Great catch!

&gt; Source/WebKit2/UIProcess/WebContext.h:223
&gt; +    PassRefPtr&lt;WebProcessProxy&gt; ensureWebProcess();

This function is quite confusing - there is no way one could figure out what it does without reading its code.

I could not come up with a better name or signature for it. Perhaps the logic can just be in WebPageProxy::reattachToWebProcess() inline?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769926</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-11-17 02:11:17 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 174691 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=174691&amp;action=review
&gt; 
&gt; Great catch!
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/WebContext.h:223
&gt; &gt; +    PassRefPtr&lt;WebProcessProxy&gt; ensureWebProcess();
&gt; 
&gt; This function is quite confusing - there is no way one could figure out what it does without reading its code.
&gt; 
&gt; I could not come up with a better name or signature for it. Perhaps the logic can just be in WebPageProxy::reattachToWebProcess() inline?

We would still need a way to get the shared process, because ensureSharedWebProcess() doesn&apos;t return the process and relaunchProcessIfNecessary is deprecated, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769929</commentid>
    <comment_count>4</comment_count>
      <attachid>174816</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-11-17 02:38:12 -0800</bug_when>
    <thetext>Created attachment 174816
Updated patch

Move the logic to WebPageProxy::reattachToWebProcess()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770069</commentid>
    <comment_count>5</comment_count>
      <attachid>174816</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-11-17 21:09:49 -0800</bug_when>
    <thetext>Comment on attachment 174816
Updated patch

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

&gt; Source/WebKit2/UIProcess/WebContext.h:221
&gt; +    PassRefPtr&lt;WebProcessProxy&gt; getOrCreateSharedWebProcess();

I think that this should still be called ensureSharedWebProcess, and return a plain pointer. There is no passing of ownership, so PassRefPtr is confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770105</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-11-18 03:19:28 -0800</bug_when>
    <thetext>Committed r135066: &lt;http://trac.webkit.org/changeset/135066&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174691</attachid>
            <date>2012-11-16 08:22:22 -0800</date>
            <delta_ts>2012-11-17 02:38:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-new-web-process-aafter-crash.diff</filename>
            <type>text/plain</type>
            <size>3529</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBlZDI3MjY5Li43ZGFiNzFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYg
QEAKKzIwMTItMTEtMTYgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtXSzJdIEFmdGVyIHdlYiBwcm9jZXNzIGNyYXNoIGEgbmV3IHdlYiBwcm9j
ZXNzIGlzIGNyZWF0ZWQgZm9yIGV2ZXJ5IGV4aXN0aW5nIHBhZ2UKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjUyMAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gcHJvY2VzcyBtb2RlbCBpcyBTaGFy
ZWRTZWNvbmRhcnlQcm9jZXNzIGEgbmV3IHNoYXJlZCBwcm9jZXNzCisgICAgICAgIHNob3VsZCBi
ZSBjcmVhdGVkIGluc3RlYWQgb2YgYSBuZXcgcHJvY2VzcyBwZXIgcGFnZS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6
ZW5zdXJlU2hhcmVkV2ViUHJvY2Vzcyk6IEFkZCBhbiBhc3NlcnQgdG8KKyAgICAgICAgbWFrZSBz
dXJlIHRoaXMgaXMgb25seSBjYWxsZWQgd2hlbiBwcm9jZXNzIG1vZGVsIGlzCisgICAgICAgIFNo
YXJlZFNlY29uZGFyeVByb2Nlc3MuCisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmVuc3Vy
ZVdlYlByb2Nlc3MpOiBFbnN1cmUgYSBzaGFyZWQgd2ViCisgICAgICAgIHByb2Nlc3MgZm9yIFNo
YXJlZFNlY29uZGFyeVByb2Nlc3MgbWpvZGVsIG9yIGNyZWF0ZSBhIG5ldyB3ZWIKKyAgICAgICAg
cHJvY2VzcyBmb3IgbXVsdGktcHJvY2VzcyBtb2RlbHMuCisgICAgICAgICogVUlQcm9jZXNzL1dl
YkNvbnRleHQuaDoKKyAgICAgICAgKFdlYkNvbnRleHQpOiBNYWtlIGVuc3VyZVNoYXJlZFdlYlBy
b2Nlc3MoKSBwcml2YXRlLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlYXR0YWNoVG9XZWJQcm9jZXNzKTogVXNl
CisgICAgICAgIGVuc3VyZVdlYlByb2Nlc3MoKSBpbnN0ZWFkIG9mIGNyZWF0ZU5ld1dlYlByb2Nl
c3MoKS4KKwogMjAxMi0xMS0xNiAgRGFuaWVsIEJhdGVzICA8ZGJhdGVzQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgQXR0ZW1wdCB0byBmaXggdGhlIEFwcGxlIFdpbmRvd3MgRGVidWcgYnVpbGQgYWZ0
ZXIgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTM0OTA4CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKaW5kZXggZjdlYTE0MS4uM2UwZmQ1OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcApAQCAtMzI0LDEwICszMjQsMjEgQEAgdm9p
ZCBXZWJDb250ZXh0OjpzZXRVc2VzTmV0d29ya1Byb2Nlc3MoYm9vbCB1c2VzTmV0d29ya1Byb2Nl
c3MpCiAKIHZvaWQgV2ViQ29udGV4dDo6ZW5zdXJlU2hhcmVkV2ViUHJvY2VzcygpCiB7CisgICAg
QVNTRVJUKG1fcHJvY2Vzc01vZGVsID09IFByb2Nlc3NNb2RlbFNoYXJlZFNlY29uZGFyeVByb2Nl
c3MpOwogICAgIGlmIChtX3Byb2Nlc3Nlcy5pc0VtcHR5KCkpCiAgICAgICAgIGNyZWF0ZU5ld1dl
YlByb2Nlc3MoKTsKIH0KIAorUGFzc1JlZlB0cjxXZWJQcm9jZXNzUHJveHk+IFdlYkNvbnRleHQ6
OmVuc3VyZVdlYlByb2Nlc3MoKQoreworICAgIGlmIChtX3Byb2Nlc3NNb2RlbCA9PSBQcm9jZXNz
TW9kZWxTaGFyZWRTZWNvbmRhcnlQcm9jZXNzKSB7CisgICAgICAgIGVuc3VyZVNoYXJlZFdlYlBy
b2Nlc3MoKTsKKyAgICAgICAgcmV0dXJuIG1fcHJvY2Vzc2VzWzBdOworICAgIH0KKworICAgIHJl
dHVybiBjcmVhdGVOZXdXZWJQcm9jZXNzKCk7Cit9CisKIFBhc3NSZWZQdHI8V2ViUHJvY2Vzc1By
b3h5PiBXZWJDb250ZXh0OjpjcmVhdGVOZXdXZWJQcm9jZXNzKCkKIHsKICNpZiBFTkFCTEUoTkVU
V09SS19QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNv
bnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKaW5kZXggZDFl
ZjE5NC4uMmNlOTY3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNv
bnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCkBAIC0y
MjAsNyArMjIwLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RGlza0NhY2hlRGlyZWN0b3J5KGNv
bnN0IFN0cmluZyYgZGlyKSB7IG1fb3ZlcnJpZGVEaXNrQ2FjaGVEaXJlY3RvcnkgPSBkaXI7IH0K
ICAgICB2b2lkIHNldENvb2tpZVN0b3JhZ2VEaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBkaXIpIHsg
bV9vdmVycmlkZUNvb2tpZVN0b3JhZ2VEaXJlY3RvcnkgPSBkaXI7IH0KIAotICAgIHZvaWQgZW5z
dXJlU2hhcmVkV2ViUHJvY2VzcygpOworICAgIFBhc3NSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiBl
bnN1cmVXZWJQcm9jZXNzKCk7CiAgICAgUGFzc1JlZlB0cjxXZWJQcm9jZXNzUHJveHk+IGNyZWF0
ZU5ld1dlYlByb2Nlc3MoKTsKICAgICB2b2lkIHdhcm1Jbml0aWFsUHJvY2VzcygpOwogCkBAIC0z
MTIsNiArMzEyLDggQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCByZWdpc3Rlck9jY2x1c2lv
bk5vdGlmaWNhdGlvbkhhbmRsZXJzKCk7CiAjZW5kaWYKIAorICAgIHZvaWQgZW5zdXJlU2hhcmVk
V2ViUHJvY2VzcygpOworCiAgICAgUHJvY2Vzc01vZGVsIG1fcHJvY2Vzc01vZGVsOwogICAgIAog
ICAgIFZlY3RvcjxSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiA+IG1fcHJvY2Vzc2VzOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBmMzM0OGM5Li5lNGQzMzM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMzgwLDcg
KzM4MCw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZWF0dGFjaFRvV2ViUHJvY2VzcygpCiAKICAg
ICBtX2lzVmFsaWQgPSB0cnVlOwogCi0gICAgbV9wcm9jZXNzID0gbV9wcm9jZXNzLT5jb250ZXh0
KCktPmNyZWF0ZU5ld1dlYlByb2Nlc3MoKTsKKyAgICBtX3Byb2Nlc3MgPSBtX3Byb2Nlc3MtPmNv
bnRleHQoKS0+ZW5zdXJlV2ViUHJvY2VzcygpOwogICAgIG1fcHJvY2Vzcy0+YWRkRXhpc3RpbmdX
ZWJQYWdlKHRoaXMsIG1fcGFnZUlEKTsKIAogICAgIGluaXRpYWxpemVXZWJQYWdlKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174816</attachid>
            <date>2012-11-17 02:38:12 -0800</date>
            <delta_ts>2012-11-17 21:09:49 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>wk2-shared-web-process-after-crash.diff</filename>
            <type>text/plain</type>
            <size>5580</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBlZDI3MjY5Li4xY2NiYzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTItMTEtMTcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtXSzJdIEFmdGVyIHdlYiBwcm9jZXNzIGNyYXNoIGEgbmV3IHdlYiBwcm9j
ZXNzIGlzIGNyZWF0ZWQgZm9yIGV2ZXJ5IGV4aXN0aW5nIHBhZ2UKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjUyMAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gcHJvY2VzcyBtb2RlbCBpcyBTaGFy
ZWRTZWNvbmRhcnlQcm9jZXNzIGEgbmV3IHNoYXJlZCBwcm9jZXNzCisgICAgICAgIHNob3VsZCBi
ZSBjcmVhdGVkIGluc3RlYWQgb2YgYSBuZXcgcHJvY2VzcyBwZXIgcGFnZS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6
Z2V0T3JDcmVhdGVTaGFyZWRXZWJQcm9jZXNzKTogRW5zdXJlIGEgc2hhcmVkCisgICAgICAgIHdl
YiBwcm9jZXNzIGFuZCByZXR1cm4gaXQuCisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmNy
ZWF0ZVdlYlBhZ2UpOiBVc2UgZ2V0T3JDcmVhdGVTaGFyZWRXZWJQcm9jZXNzKCkuCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYkNvbnRleHQuaDoKKyAgICAgICAgKFdlYkNvbnRleHQpOiBNYWtlIGVu
c3VyZVNoYXJlZFdlYlByb2Nlc3MoKSBwcml2YXRlIGFuZCByZW1vdmUKKyAgICAgICAgcmVsYXVu
Y2hQcm9jZXNzSWZOZWNlc3NhcnkoKS4KKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6c2Vu
ZFRvQWxsUHJvY2Vzc2VzUmVsYXVuY2hpbmdUaGVtSWZOZWNlc3NhcnkpOgorICAgICAgICBVc2Ug
ZW5zdXJlU2hhcmVkV2ViUHJvY2VzcygpIGluc3RlYWQgb2YKKyAgICAgICAgcmVsYXVuY2hQcm9j
ZXNzSWZOZWNlc3NhcnkoKSBzaW5jZSB3ZSBqdXN0IHdhbnQgdG8gcmVsYXVuY2ggdGhlCisgICAg
ICAgIHByb2Nlc3MgaWYgbmVjZXNzYXJ5IGJ1dCB3ZSBhcmUgbm90IGludGVyZXN0ZWQgaW4gdGhl
IHByb2Nlc3MgaXRzZWxmLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlYXR0YWNoVG9XZWJQcm9jZXNzKTogRW5z
dXJlIGEgc2hhcmVkIHdlYgorICAgICAgICBwcm9jZXNzIGZvciBTaGFyZWRTZWNvbmRhcnlQcm9j
ZXNzIG1vZGVsIG9yIGNyZWF0ZSBhIG5ldyB3ZWIKKyAgICAgICAgcHJvY2VzcyBmb3IgbXVsdGkt
cHJvY2VzcyBtb2RlbHMuCisKIDIwMTItMTEtMTYgIERhbmllbCBCYXRlcyAgPGRiYXRlc0B3ZWJr
aXQub3JnPgogCiAgICAgICAgIEF0dGVtcHQgdG8gZml4IHRoZSBBcHBsZSBXaW5kb3dzIERlYnVn
IGJ1aWxkIGFmdGVyIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEzNDkwOApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCmluZGV4IGY3ZWExNDEuLmM4MjBkMDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKQEAgLTMyOCw2ICszMjgs
MTMgQEAgdm9pZCBXZWJDb250ZXh0OjplbnN1cmVTaGFyZWRXZWJQcm9jZXNzKCkKICAgICAgICAg
Y3JlYXRlTmV3V2ViUHJvY2VzcygpOwogfQogCitQYXNzUmVmUHRyPFdlYlByb2Nlc3NQcm94eT4g
V2ViQ29udGV4dDo6Z2V0T3JDcmVhdGVTaGFyZWRXZWJQcm9jZXNzKCkKK3sKKyAgICBBU1NFUlQo
bV9wcm9jZXNzTW9kZWwgPT0gUHJvY2Vzc01vZGVsU2hhcmVkU2Vjb25kYXJ5UHJvY2Vzcyk7Cisg
ICAgZW5zdXJlU2hhcmVkV2ViUHJvY2VzcygpOworICAgIHJldHVybiBtX3Byb2Nlc3Nlc1swXTsK
K30KKwogUGFzc1JlZlB0cjxXZWJQcm9jZXNzUHJveHk+IFdlYkNvbnRleHQ6OmNyZWF0ZU5ld1dl
YlByb2Nlc3MoKQogewogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCkBAIC01NTksOCArNTY2
LDcgQEAgUGFzc1JlZlB0cjxXZWJQYWdlUHJveHk+IFdlYkNvbnRleHQ6OmNyZWF0ZVdlYlBhZ2Uo
UGFnZUNsaWVudCogcGFnZUNsaWVudCwgV2ViUGEKIHsKICAgICBSZWZQdHI8V2ViUHJvY2Vzc1By
b3h5PiBwcm9jZXNzOwogICAgIGlmIChtX3Byb2Nlc3NNb2RlbCA9PSBQcm9jZXNzTW9kZWxTaGFy
ZWRTZWNvbmRhcnlQcm9jZXNzKSB7Ci0gICAgICAgIGVuc3VyZVNoYXJlZFdlYlByb2Nlc3MoKTsK
LSAgICAgICAgcHJvY2VzcyA9IG1fcHJvY2Vzc2VzWzBdOworICAgICAgICBwcm9jZXNzID0gZ2V0
T3JDcmVhdGVTaGFyZWRXZWJQcm9jZXNzKCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKG1f
aGF2ZUluaXRpYWxFbXB0eVByb2Nlc3MpIHsKICAgICAgICAgICAgIHByb2Nlc3MgPSBtX3Byb2Nl
c3Nlcy5sYXN0KCk7CkBAIC01ODAsMTcgKzU4Niw2IEBAIFBhc3NSZWZQdHI8V2ViUGFnZVByb3h5
PiBXZWJDb250ZXh0OjpjcmVhdGVXZWJQYWdlKFBhZ2VDbGllbnQqIHBhZ2VDbGllbnQsIFdlYlBh
CiAgICAgcmV0dXJuIHByb2Nlc3MtPmNyZWF0ZVdlYlBhZ2UocGFnZUNsaWVudCwgdGhpcywgcGFn
ZUdyb3VwKTsKIH0KIAotV2ViUHJvY2Vzc1Byb3h5KiBXZWJDb250ZXh0OjpyZWxhdW5jaFByb2Nl
c3NJZk5lY2Vzc2FyeSgpCi17Ci0gICAgaWYgKG1fcHJvY2Vzc01vZGVsID09IFByb2Nlc3NNb2Rl
bFNoYXJlZFNlY29uZGFyeVByb2Nlc3MpIHsKLSAgICAgICAgZW5zdXJlU2hhcmVkV2ViUHJvY2Vz
cygpOwotICAgICAgICByZXR1cm4gbV9wcm9jZXNzZXNbMF0uZ2V0KCk7Ci0gICAgfQotCi0gICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KIERvd25sb2FkUHJveHkq
IFdlYkNvbnRleHQ6OmRvd25sb2FkKFdlYlBhZ2VQcm94eSogaW5pdGlhdGluZ1BhZ2UsIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKICAgICBpZiAobV9wcm9jZXNzTW9kZWwgPT0g
UHJvY2Vzc01vZGVsU2hhcmVkU2Vjb25kYXJ5UHJvY2VzcykgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb250ZXh0LmgKaW5kZXggZDFlZjE5NC4uZDc4NzJjZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29udGV4dC5oCkBAIC0xMTYsOCArMTE2LDYgQEAgcHVibGljOgogCiAgICAgUGFz
c1JlZlB0cjxXZWJQYWdlUHJveHk+IGNyZWF0ZVdlYlBhZ2UoUGFnZUNsaWVudCosIFdlYlBhZ2VH
cm91cCosIFdlYlBhZ2VQcm94eSogcmVsYXRlZFBhZ2UgPSAwKTsKIAotICAgIFdlYlByb2Nlc3NQ
cm94eSogcmVsYXVuY2hQcm9jZXNzSWZOZWNlc3NhcnkoKTsKLQogICAgIGNvbnN0IFN0cmluZyYg
aW5qZWN0ZWRCdW5kbGVQYXRoKCkgY29uc3QgeyByZXR1cm4gbV9pbmplY3RlZEJ1bmRsZVBhdGg7
IH0KIAogICAgIERvd25sb2FkUHJveHkqIGRvd25sb2FkKFdlYlBhZ2VQcm94eSogaW5pdGlhdGlu
Z1BhZ2UsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwpAQCAtMjIwLDcgKzIxOCw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldERpc2tDYWNoZURpcmVjdG9yeShjb25zdCBTdHJpbmcm
IGRpcikgeyBtX292ZXJyaWRlRGlza0NhY2hlRGlyZWN0b3J5ID0gZGlyOyB9CiAgICAgdm9pZCBz
ZXRDb29raWVTdG9yYWdlRGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgZGlyKSB7IG1fb3ZlcnJpZGVD
b29raWVTdG9yYWdlRGlyZWN0b3J5ID0gZGlyOyB9CiAKLSAgICB2b2lkIGVuc3VyZVNoYXJlZFdl
YlByb2Nlc3MoKTsKKyAgICBQYXNzUmVmUHRyPFdlYlByb2Nlc3NQcm94eT4gZ2V0T3JDcmVhdGVT
aGFyZWRXZWJQcm9jZXNzKCk7CiAgICAgUGFzc1JlZlB0cjxXZWJQcm9jZXNzUHJveHk+IGNyZWF0
ZU5ld1dlYlByb2Nlc3MoKTsKICAgICB2b2lkIHdhcm1Jbml0aWFsUHJvY2VzcygpOwogCkBAIC0z
MTIsNiArMzEwLDggQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCByZWdpc3Rlck9jY2x1c2lv
bk5vdGlmaWNhdGlvbkhhbmRsZXJzKCk7CiAjZW5kaWYKIAorICAgIHZvaWQgZW5zdXJlU2hhcmVk
V2ViUHJvY2VzcygpOworCiAgICAgUHJvY2Vzc01vZGVsIG1fcHJvY2Vzc01vZGVsOwogICAgIAog
ICAgIFZlY3RvcjxSZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiA+IG1fcHJvY2Vzc2VzOwpAQCAtNDI1
LDcgKzQyNSw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFU+IHZvaWQgV2ViQ29udGV4dDo6c2VuZFRv
QWxsUHJvY2Vzc2VzUmVsYXVuY2hpbmdUaGVtSWZOZWNlc3NhCiB7CiAvLyBGSVhNRSAoTXVsdGkt
V2ViUHJvY2Vzcyk6IFdlYkNvbnRleHQgZG9lc24ndCB0cmFjayBwcm9jZXNzZXMgdGhhdCBoYXZl
IGV4aXRlZCwgc28gaXQgY2Fubm90IHJlbGF1bmNoIHRoZXNlLiBQZXJoYXBzIHRoaXMgZnVuY3Rp
b25hbGl0eSB3b24ndCBiZSBuZWVkZWQgaW4gdGhpcyBtb2RlLgogICAgIGlmIChtX3Byb2Nlc3NN
b2RlbCA9PSBQcm9jZXNzTW9kZWxTaGFyZWRTZWNvbmRhcnlQcm9jZXNzKQotICAgICAgICByZWxh
dW5jaFByb2Nlc3NJZk5lY2Vzc2FyeSgpOworICAgICAgICBlbnN1cmVTaGFyZWRXZWJQcm9jZXNz
KCk7CiAgICAgc2VuZFRvQWxsUHJvY2Vzc2VzKG1lc3NhZ2UpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGYzMzQ4YzkuLjMxNTJkMTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0zODAsNyArMzgwLDEw
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZWF0dGFjaFRvV2ViUHJvY2VzcygpCiAKICAgICBtX2lz
VmFsaWQgPSB0cnVlOwogCi0gICAgbV9wcm9jZXNzID0gbV9wcm9jZXNzLT5jb250ZXh0KCktPmNy
ZWF0ZU5ld1dlYlByb2Nlc3MoKTsKKyAgICBpZiAobV9wcm9jZXNzLT5jb250ZXh0KCktPnByb2Nl
c3NNb2RlbCgpID09IFByb2Nlc3NNb2RlbFNoYXJlZFNlY29uZGFyeVByb2Nlc3MpCisgICAgICAg
IG1fcHJvY2VzcyA9IG1fcHJvY2Vzcy0+Y29udGV4dCgpLT5nZXRPckNyZWF0ZVNoYXJlZFdlYlBy
b2Nlc3MoKTsKKyAgICBlbHNlCisgICAgICAgIG1fcHJvY2VzcyA9IG1fcHJvY2Vzcy0+Y29udGV4
dCgpLT5jcmVhdGVOZXdXZWJQcm9jZXNzKCk7CiAgICAgbV9wcm9jZXNzLT5hZGRFeGlzdGluZ1dl
YlBhZ2UodGhpcywgbV9wYWdlSUQpOwogCiAgICAgaW5pdGlhbGl6ZVdlYlBhZ2UoKTsK
</data>
<flag name="review"
          id="190030"
          type_id="1"
          status="+"
          setter="ap"
    />
    <flag name="commit-queue"
          id="190068"
          type_id="3"
          status="-"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>