<?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>197192</bug_id>
          
          <creation_ts>2019-04-23 03:00:49 -0700</creation_ts>
          <short_desc>[GTK][WPE][JSCOnly] compile error when -DWTF_CPU_ARM64_CORTEXA53=ON set for arm64</short_desc>
          <delta_ts>2020-04-24 16:36:15 -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>JavaScriptCore</component>
          <version>WebKit Local Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=138315</see_also>
          <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="Kai">kai.7.kang</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>annulen</cc>
    
    <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>msaboff</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1529548</commentid>
    <comment_count>0</comment_count>
    <who name="Kai">kai.7.kang</who>
    <bug_when>2019-04-23 03:00:49 -0700</bug_when>
    <thetext>It removes function JSC::AssemblerBuffer::data() for ARM64 in commit https://trac.webkit.org/changeset/236589/webkit.
But it is required by Cortex A53 from https://trac.webkit.org/changeset/175514/webkit.

When compile webkitgtk in Yocto Project (https://www.yoctoproject.org) for qemuarm64 which a qemu arm64 bsp. It sets &apos;-DWTF_CPU_ARM64_CORTEXA53=ON&apos; and causes webkitgtk 2.24.0 fails with error:

| In file included from /home/kkang/buildarea/wrlx-201902/LIN1019-1104/tmp-glibc/work/aarch64-wrs-linux/webkitgtk/2.24.0-r0/webkitgtk-2.24.0/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:30,                                                                   
|                  from /home/kkang/buildarea/wrlx-201902/LIN1019-1104/tmp-glibc/work/aarch64-wrs-linux/webkitgtk/2.24.0-r0/webkitgtk
-2.24.0/Source/JavaScriptCore/assembler/MacroAssembler.h:46,                                                                        
|                  from /home/kkang/buildarea/wrlx-201902/LIN1019-1104/tmp-glibc/work/aarch64-wrs-linux/webkitgtk/2.24.0-r0/webkitgtk-2.24.0/Source/JavaScriptCore/jit/GPRInfo.h:28,                                                                                     
|                  from /home/kkang/buildarea/wrlx-201902/LIN1019-1104/tmp-glibc/work/aarch64-wrs-linux/webkitgtk/2.24.0-r0/webkitgtk-2.24.0/Source/JavaScriptCore/bytecode/ArithProfile.h:28,                                                                           
|                  from /home/kkang/buildarea/wrlx-201902/LIN1019-1104/tmp-glibc/work/aarch64-wrs-linux/webkitgtk/2.24.0-r0/webkitgtk-2.24.0/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:28:                                                                   
| /home/kkang/buildarea/wrlx-201902/LIN1019-1104/tmp-glibc/work/aarch64-wrs-linux/webkitgtk/2.24.0-r0/webkitgtk-2.24.0/Source/JavaScr
iptCore/assembler/ARM64Assembler.h:465:48: warning: &apos;JSC::ARM64Assembler::LinkRecord::&lt;unnamed union&gt;::RealTypes::m_compareRegister&apos;
is too small to hold all values of &apos;JSC::ARM64Assembler::RegisterID&apos; {aka &apos;enum JSC::ARM64Registers::RegisterID&apos;}                   
|                  RegisterID m_compareRegister : 6;                                                                                
|                                                 ^                                                                                 
| In file included from DerivedSources/ForwardingHeaders/wtf/Platform.h:31,                                                         
|                  from DerivedSources/ForwardingHeaders/wtf/ExportMacros.h:32,                                                     
|                  from /home/kkang/buildarea/wrlx-201902/LIN1019-1104/tmp-glibc/work/aarch64-wrs-linux/webkitgtk/2.24.0-r0/webkitgtk-2.24.0/Source/JavaScriptCore/runtime/JSExportMacros.h:32,                                                                          
|                  from /home/kkang/buildarea/wrlx-201902/LIN1019-1104/tmp-glibc/work/aarch64-wrs-linux/webkitgtk/2.24.0-r0/webkitgtk-2.24.0/Source/JavaScriptCore/config.h:32,                                                                                          
|                  from /home/kkang/buildarea/wrlx-201902/LIN1019-1104/tmp-glibc/work/aarch64-wrs-linux/webkitgtk/2.24.0-r0/webkitgtk
-2.24.0/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:26:                                                                   
| /home/kkang/buildarea/wrlx-201902/LIN1019-1104/tmp-glibc/work/aarch64-wrs-linux/webkitgtk/2.24.0-r0/webkitgtk-2.24.0/Source/JavaScr
iptCore/assembler/ARM64Assembler.h: In member function &apos;void JSC::ARM64Assembler::nopCortexA53Fix835769()&apos;:                         
| /home/kkang/buildarea/wrlx-201902/LIN1019-1104/tmp-glibc/work/aarch64-wrs-linux/webkitgtk/2.24.0-r0/webkitgtk-2.24.0/Source/JavaScr
iptCore/assembler/ARM64Assembler.h:3769:100: error: &apos;class JSC::AssemblerBuffer&apos; has no member named &apos;data&apos;                         
|                  if (UNLIKELY((*reinterpret_cast_ptr&lt;int32_t*&gt;(reinterpret_cast_ptr&lt;char*&gt;(m_buffer.data()) + m_buffer.codeSize() -
 sizeof(int32_t)) &amp; 0x0a000000) == 0x08000000))                                                                                     
|                                                                                                     ^~~~                          
| DerivedSources/ForwardingHeaders/wtf/Compiler.h:343:41: note: in definition of macro &apos;UNLIKELY&apos;                                   
|  #define UNLIKELY(x) __builtin_expect(!!(x), 0)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577731</commentid>
    <comment_count>1</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2019-10-08 04:20:51 -0700</bug_when>
    <thetext>The Debian arm64 buildd is also having this problem, I confirm that the build works if WTF_CPU_ARM64_CORTEXA53 is OFF.

This is the full build log (note that it&apos;s a 1.4 MiB text file):

https://buildd.debian.org/status/fetch.php?pkg=webkit2gtk&amp;arch=arm64&amp;ver=2.26.1-2&amp;stamp=1570464655&amp;raw=0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577760</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-10-08 06:49:33 -0700</bug_when>
    <thetext>&apos;-DWTF_CPU_ARM64_CORTEXA53=ON&apos; Enables a workaround for a CPU Bug (erratum 835769) present in early versions of ARM64 Cortex A53 (in more detail, according to what I find in Internet, to revisions &lt;= r0p4 of the Cortex A53 CPU).

This workaround was added 5 years ago in r175514 but it seems it stopped building after r236589 removed removes function JSC::AssemblerBuffer::data() for ARM64.

There are two major problems with this workaround:

1) The way it gets enabled its completely broken for cross-building. The CMake logic tries to parse /proc/cpuinfo to see if the build machine is a Cortex A53 (it just assumes build_machine==target_machine). It also doesn&apos;t do any extra effort to match the revision of the CPU to see if its newer than r0p4. It simply enables it for any build_machine==cortex_a53.

2) Testing that the workaround continues to be necessary and that it continues to work is tricky because it requires the affected hardware available.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577766</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-10-08 07:06:24 -0700</bug_when>
    <thetext>Our current Linux JSCOnly ARM64 test bot happens to be an x86_64 machine that cross-builds and then runs the tests remotely.

Because it cross-builds its not enabling the workaround by default

The test machine where it currently runs is a Raspberry Pi 3, which happens to be an ARM Cortex A53 with a revision 4 of the core (r0p4)

	# head /proc/cpuinfo
	processor	: 0
	BogoMIPS	: 38.40
	Features	: fp asimd evtstrm crc32
	CPU implementer	: 0x41
	CPU architecture: 8
	CPU variant	: 0x0
	CPU part	: 0xd03
	CPU revision	: 4

	[....]


So, in theory, it would be affected by this erratum 835769. In practice I&apos;m not 100% sure if its affected. But its the closed hardware I have that might have the bug.


And according to the current test results https://build.webkit.org/builders/JSCOnly%20Linux%20AArch64%20Release things seems to be fine there, right?
So I guess that either the workaround is not necessary anymore, or that the RPi3 is not affected.

But, even if we assume that the RPi3 is not affected, the workaround its not building anymore, and we can&apos;t test it works because we don&apos;t have hardware.

And previously it was not getting enabled by default (only when the build machine was a Cortex A53 ... and native building on ARM is not the usual way of building WebKit).


So I think we should just remove this code for the workaround unless there is some bug report about this issue or a way to test it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577769</commentid>
    <comment_count>4</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2019-10-08 07:08:41 -0700</bug_when>
    <thetext>What happens if you have this enabled but your CPU is not Cortex A53?

Does it break?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577782</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2019-10-08 08:53:12 -0700</bug_when>
    <thetext>(In reply to Alberto Garcia from comment #4)
&gt; What happens if you have this enabled but your CPU is not Cortex A53?
&gt; 
&gt; Does it break?

No, but it can affect performance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640850</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-04-13 07:34:16 -0700</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #3)
&gt; So I think we should just remove this code for the workaround unless there
&gt; is some bug report about this issue or a way to test it.

Agreed. It clearly doesn&apos;t work and breaks the build on this hardware. Let&apos;s just remove it for now. The people who are trying to make things work on this hardware can come up with a new workaround if required.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640862</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-04-13 07:54:38 -0700</bug_when>
    <thetext>Warning: this might require a clean build to pass EWS. I saw Ruby-level crashes until I deleted my build directory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640863</commentid>
    <comment_count>8</comment_count>
      <attachid>396274</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-04-13 07:54:53 -0700</bug_when>
    <thetext>Created attachment 396274
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645461</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-04-24 16:08:52 -0700</bug_when>
    <thetext>Ping reviewers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645462</commentid>
    <comment_count>10</comment_count>
      <attachid>396274</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-04-24 16:10:53 -0700</bug_when>
    <thetext>Comment on attachment 396274
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645476</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-24 16:35:07 -0700</bug_when>
    <thetext>Committed r260680: &lt;https://trac.webkit.org/changeset/260680&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 396274.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645477</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-24 16:36:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/62347977&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396274</attachid>
            <date>2020-04-13 07:54:53 -0700</date>
            <delta_ts>2020-04-24 16:35:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197192-20200413095452.patch</filename>
            <type>text/plain</type>
            <size>10353</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5ODI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
MWEwM2MwYmRmMmNkMWNkOThlZjMyNzM2N2YyZDA5NzdiZGY0NzZjLi45MWU5NGEzMWZmZTI5NzI5
ZTMxYWE3ZTRiMWExMTRlMTU3ZTEwYjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAyMC0wNC0xMyAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdu
b21lLm9yZz4KKworICAgICAgICBbR1RLXVtXUEVdW0pTQ09ubHldIGNvbXBpbGUgZXJyb3Igd2hl
biAtRFdURl9DUFVfQVJNNjRfQ09SVEVYQTUzPU9OIHNldCBmb3IgYXJtNjQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NzE5MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgd29ya2Fyb3VuZCBpcyBz
dXBwb3NlZCB0byBmaXggV2ViS2l0IG9uIG9sZCBDb3J0ZXggQTUzIENQVXMsIGJ1dCBpdCBoYXMg
YmVlbiBicm9rZW4KKyAgICAgICAgc2luY2UgMjAxOCwgYW5kIHBlb3BsZSB3b3VsZCBsaWtlIHRv
IHVzZSBXZWJLaXQgb24gbW9kZXJuIENvcnRleCBBNTMuIElmIGFueW9uZSB1c2luZyBXZWJLaXQK
KyAgICAgICAgb24gdGhlIG9yaWdpbmFsIGhhcmR3YXJlIHdhbnRzIHRvIGZpeCBhbmQgcmVpbXBs
ZW1lbnQgdGhlIHdvcmthcm91bmQsIGZlZWwgZnJlZS4KKworICAgICAgICAqIGFzc2VtYmxlci9B
Uk02NEFzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6YWRycCk6Cisg
ICAgICAgIChKU0M6OkFSTTY0QXNzZW1ibGVyOjptYWRkKToKKyAgICAgICAgKEpTQzo6QVJNNjRB
c3NlbWJsZXI6Om1zdWIpOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6c21hZGRsKToK
KyAgICAgICAgKEpTQzo6QVJNNjRBc3NlbWJsZXI6OnNtc3VibCk6CisgICAgICAgIChKU0M6OkFS
TTY0QXNzZW1ibGVyOjp1bWFkZGwpOgorICAgICAgICAoSlNDOjpBUk02NEFzc2VtYmxlcjo6dW1z
dWJsKToKKyAgICAgICAgKEpTQzo6QVJNNjRBc3NlbWJsZXI6Om5vcENvcnRleEE1M0ZpeDgzNTc2
OSk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkFSTTY0QXNzZW1ibGVyOjpub3BDb3J0ZXhBNTNG
aXg4NDM0MTkpOiBEZWxldGVkLgorICAgICAgICAqIG9mZmxpbmVhc20vYXJtNjQucmI6CisgICAg
ICAgICogb2ZmbGluZWFzbS9pbnN0cnVjdGlvbnMucmI6CisKIDIwMjAtMDQtMDkgIEFsZXhleSBT
aHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIFByb3h5T2JqZWN0Ojpk
ZWZpbmVPd25Qcm9wZXJ0eSgpIHNob3VsZCBjb25kaXRpb25hbGx5IHRocm93IG9uIGZhbHN5IHRy
YXAgcmVzdWx0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FS
TTY0QXNzZW1ibGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTTY0QXNz
ZW1ibGVyLmgKaW5kZXggMTNjM2YxNjkwM2Y2ZTQzY2Q5Y2RlZWUwNTJlZjBhNjQxZWRhYWNlZC4u
MzU5OWZlNjc4OGQ3OWMxMzU4ZDlkNzc3ZDRhMjFkMTJjZTUzZjgzMyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk02NEFzc2VtYmxlci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNNjRBc3NlbWJsZXIuaApAQCAtNzQwLDcgKzc0
MCw2IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIEFTU0VSVCghKG9mZnNldCAmIDB4ZmZmKSk7
CiAgICAgICAgIGluc24ocGNSZWxhdGl2ZSh0cnVlLCBvZmZzZXQgPj4gMTIsIHJkKSk7Ci0gICAg
ICAgIG5vcENvcnRleEE1M0ZpeDg0MzQxOSgpOwogICAgIH0KIAogICAgIHRlbXBsYXRlPGludCBk
YXRhc2l6ZSwgU2V0RmxhZ3Mgc2V0RmxhZ3MgPSBEb250U2V0RmxhZ3M+CkBAIC0xMzg1LDcgKzEz
ODQsNiBAQCBwdWJsaWM6CiAgICAgQUxXQVlTX0lOTElORSB2b2lkIG1hZGQoUmVnaXN0ZXJJRCBy
ZCwgUmVnaXN0ZXJJRCBybiwgUmVnaXN0ZXJJRCBybSwgUmVnaXN0ZXJJRCByYSkKICAgICB7CiAg
ICAgICAgIENIRUNLX0RBVEFTSVpFKCk7Ci0gICAgICAgIG5vcENvcnRleEE1M0ZpeDgzNTc2OTxk
YXRhc2l6ZT4oKTsKICAgICAgICAgaW5zbihkYXRhUHJvY2Vzc2luZzNTb3VyY2UoREFUQVNJWkUs
IERhdGFPcF9NQURELCBybSwgcmEsIHJuLCByZCkpOwogICAgIH0KIApAQCAtMTQzOCw3ICsxNDM2
LDYgQEAgcHVibGljOgogICAgIEFMV0FZU19JTkxJTkUgdm9pZCBtc3ViKFJlZ2lzdGVySUQgcmQs
IFJlZ2lzdGVySUQgcm4sIFJlZ2lzdGVySUQgcm0sIFJlZ2lzdGVySUQgcmEpCiAgICAgewogICAg
ICAgICBDSEVDS19EQVRBU0laRSgpOwotICAgICAgICBub3BDb3J0ZXhBNTNGaXg4MzU3Njk8ZGF0
YXNpemU+KCk7CiAgICAgICAgIGluc24oZGF0YVByb2Nlc3NpbmczU291cmNlKERBVEFTSVpFLCBE
YXRhT3BfTVNVQiwgcm0sIHJhLCBybiwgcmQpKTsKICAgICB9CiAKQEAgLTE2ODYsNyArMTY4Myw2
IEBAIHB1YmxpYzoKIAogICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzbWFkZGwoUmVnaXN0ZXJJRCBy
ZCwgUmVnaXN0ZXJJRCBybiwgUmVnaXN0ZXJJRCBybSwgUmVnaXN0ZXJJRCByYSkKICAgICB7Ci0g
ICAgICAgIG5vcENvcnRleEE1M0ZpeDgzNTc2OTw2ND4oKTsKICAgICAgICAgaW5zbihkYXRhUHJv
Y2Vzc2luZzNTb3VyY2UoRGF0YXNpemVfNjQsIERhdGFPcF9TTUFEREwsIHJtLCByYSwgcm4sIHJk
KSk7CiAgICAgfQogCkBAIC0xNjk3LDcgKzE2OTMsNiBAQCBwdWJsaWM6CiAKICAgICBBTFdBWVNf
SU5MSU5FIHZvaWQgc21zdWJsKFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcm4sIFJlZ2lzdGVy
SUQgcm0sIFJlZ2lzdGVySUQgcmEpCiAgICAgewotICAgICAgICBub3BDb3J0ZXhBNTNGaXg4MzU3
Njk8NjQ+KCk7CiAgICAgICAgIGluc24oZGF0YVByb2Nlc3NpbmczU291cmNlKERhdGFzaXplXzY0
LCBEYXRhT3BfU01TVUJMLCBybSwgcmEsIHJuLCByZCkpOwogICAgIH0KIApAQCAtMTk1NSw3ICsx
OTUwLDYgQEAgcHVibGljOgogCiAgICAgQUxXQVlTX0lOTElORSB2b2lkIHVtYWRkbChSZWdpc3Rl
cklEIHJkLCBSZWdpc3RlcklEIHJuLCBSZWdpc3RlcklEIHJtLCBSZWdpc3RlcklEIHJhKQogICAg
IHsKLSAgICAgICAgbm9wQ29ydGV4QTUzRml4ODM1NzY5PDY0PigpOwogICAgICAgICBpbnNuKGRh
dGFQcm9jZXNzaW5nM1NvdXJjZShEYXRhc2l6ZV82NCwgRGF0YU9wX1VNQURETCwgcm0sIHJhLCBy
biwgcmQpKTsKICAgICB9CiAKQEAgLTE5NjYsNyArMTk2MCw2IEBAIHB1YmxpYzoKIAogICAgIEFM
V0FZU19JTkxJTkUgdm9pZCB1bXN1YmwoUmVnaXN0ZXJJRCByZCwgUmVnaXN0ZXJJRCBybiwgUmVn
aXN0ZXJJRCBybSwgUmVnaXN0ZXJJRCByYSkKICAgICB7Ci0gICAgICAgIG5vcENvcnRleEE1M0Zp
eDgzNTc2OTw2ND4oKTsKICAgICAgICAgaW5zbihkYXRhUHJvY2Vzc2luZzNTb3VyY2UoRGF0YXNp
emVfNjQsIERhdGFPcF9VTVNVQkwsIHJtLCByYSwgcm4sIHJkKSk7CiAgICAgfQogCkBAIC0zNzI4
LDM3ICszNzIxLDYgQEAgcHJvdGVjdGVkOgogICAgICAgICByZXR1cm4gMHgxZTdlMDAwMCB8IChk
biA8PCA1KSB8IHJkOwogICAgIH0KIAotICAgIC8vIFdvcmthcm91bmQgZm9yIENvcnRleC1BNTMg
ZXJyYXR1bSAoODM1NzY5KS4gRW1pdCBhbiBleHRyYSBub3AgaWYgdGhlCi0gICAgLy8gbGFzdCBp
bnN0cnVjdGlvbiBpbiB0aGUgYnVmZmVyIGlzIGEgbG9hZCwgc3RvcmUgb3IgcHJlZmV0Y2guIE5l
ZWRlZAotICAgIC8vIGJlZm9yZSA2NC1iaXQgbXVsdGlwbHktYWNjdW11bGF0ZSBpbnN0cnVjdGlv
bnMuCi0gICAgdGVtcGxhdGU8aW50IGRhdGFzaXplPgotICAgIEFMV0FZU19JTkxJTkUgdm9pZCBu
b3BDb3J0ZXhBNTNGaXg4MzU3NjkoKQotICAgIHsKLSNpZiBDUFUoQVJNNjRfQ09SVEVYQTUzKQot
ICAgICAgICBDSEVDS19EQVRBU0laRSgpOwotICAgICAgICBpZiAoZGF0YXNpemUgPT0gNjQpIHsK
LSAgICAgICAgICAgIGlmIChMSUtFTFkobV9idWZmZXIuY29kZVNpemUoKSA+PSBzaXplb2YoaW50
MzJfdCkpKSB7Ci0gICAgICAgICAgICAgICAgLy8gRnJvbSBBUk12OCBSZWZlcmVuY2UgTWFudWFs
LCBTZWN0aW9uIEM0LjE6IHRoZSBlbmNvZGluZyBvZiB0aGUKLSAgICAgICAgICAgICAgICAvLyBp
bnN0cnVjdGlvbnMgaW4gdGhlIExvYWRzIGFuZCBzdG9yZXMgaW5zdHJ1Y3Rpb24gZ3JvdXAgaXM6
Ci0gICAgICAgICAgICAgICAgLy8gLS0tLSAxLTAtIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAt
LS0tCi0gICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKCgqcmVpbnRlcnByZXRfY2FzdF9wdHI8
aW50MzJfdCo+KHJlaW50ZXJwcmV0X2Nhc3RfcHRyPGNoYXIqPihtX2J1ZmZlci5kYXRhKCkpICsg
bV9idWZmZXIuY29kZVNpemUoKSAtIHNpemVvZihpbnQzMl90KSkgJiAweDBhMDAwMDAwKSA9PSAw
eDA4MDAwMDAwKSkKLSAgICAgICAgICAgICAgICAgICAgbm9wKCk7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgIH0KLSNlbmRpZgotICAgIH0KLQotICAgIC8vIFdvcmthcm91bmQgZm9yIENvcnRleC1B
NTMgZXJyYXR1bSAoODQzNDE5KS4gRW1pdCBleHRyYSBub3BzIHRvIGF2b2lkCi0gICAgLy8gd3Jv
bmcgYWRkcmVzcyBhY2Nlc3MgYWZ0ZXIgQURSUCBpbnN0cnVjdGlvbi4KLSAgICBBTFdBWVNfSU5M
SU5FIHZvaWQgbm9wQ29ydGV4QTUzRml4ODQzNDE5KCkKLSAgICB7Ci0jaWYgQ1BVKEFSTTY0X0NP
UlRFWEE1MykKLSAgICAgICAgbm9wKCk7Ci0gICAgICAgIG5vcCgpOwotICAgICAgICBub3AoKTsK
LSNlbmRpZgotICAgIH0KLQogICAgIFZlY3RvcjxMaW5rUmVjb3JkLCAwLCBVbnNhZmVWZWN0b3JP
dmVyZmxvdz4gbV9qdW1wc1RvTGluazsKICAgICBpbnQgbV9pbmRleE9mTGFzdFdhdGNocG9pbnQ7
CiAgICAgaW50IG1faW5kZXhPZlRhaWxPZkxhc3RXYXRjaHBvaW50OwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYXJtNjQucmIgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvb2ZmbGluZWFzbS9hcm02NC5yYgppbmRleCBmY2QyNzZmMzZiOGUwZDRjZTVmMzJmNGEx
YmQ0YTJjODllYmU5NWFiLi5mOWU1NzMyZmFmMTRiMDgwOWJjMmJiNmMxOWIxYzgwMmM1OWY4MzAy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hcm02NC5yYgor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9hcm02NC5yYgpAQCAtMzUxLDM0
ICszNTEsNiBAQCBkZWYgYXJtNjRGaXhTcGVjaWFsUmVnaXN0ZXJBcml0aG1ldGljTW9kZShsaXN0
KQogICAgIG5ld0xpc3QKIGVuZAogCi0jIFdvcmthcm91bmQgZm9yIENvcnRleC1BNTMgZXJyYXR1
bSAoODM1NzY5KQotZGVmIGFybTY0Q29ydGV4QTUzRml4ODM1NzY5KGxpc3QpCi0gICAgbmV3TGlz
dCA9IFtdCi0gICAgbGFzdE9wY29kZVVuc2FmZSA9IGZhbHNlCi0KLSAgICBsaXN0LmVhY2ggewot
ICAgICAgICB8IG5vZGUgfAotICAgICAgICBpZiBub2RlLmlzX2E/IEluc3RydWN0aW9uCi0gICAg
ICAgICAgICBjYXNlIG5vZGUub3Bjb2RlCi0gICAgICAgICAgICB3aGVuIC9ec3RvcmUvLCAvXmxv
YWQvCi0gICAgICAgICAgICAgICAgIyBMaXN0IGFsbCBtYWNybyBpbnN0cnVjdGlvbnMgdGhhdCBj
YW4gYmUgbG93ZXJlZCB0byBhIGxvYWQsIHN0b3JlIG9yIHByZWZldGNoIEFSTTY0IGFzc2VtYmx5
IGluc3RydWN0aW9uCi0gICAgICAgICAgICAgICAgbGFzdE9wY29kZVVuc2FmZSA9IHRydWUKLSAg
ICAgICAgICAgIHdoZW4gICJtdWxpIiwgIm11bHAiLCAibXVscSIsICJzbXVsbGkiCi0gICAgICAg
ICAgICAgICAgIyBMaXN0IGFsbCBtYWNybyBpbnN0cnVjdGlvbnMgdGhhdCBjYW4gYmUgbG93ZXJl
ZCB0byBhIDY0LWJpdCBtdWx0aXBseS1hY2N1bXVsYXRlIEFSTTY0IGFzc2VtYmx5IGluc3RydWN0
aW9uCi0gICAgICAgICAgICAgICAgIyAoZGVmaW5lZCBhcyBvbmUgb2YgTUFERCwgTVNVQiwgU01B
RERMLCBTTVNVQkwsIFVNQURETCBvciBVTVNVQkwpLgotICAgICAgICAgICAgICAgIGlmIGxhc3RP
cGNvZGVVbnNhZmUKLSAgICAgICAgICAgICAgICAgICAgbmV3TGlzdCA8PCBJbnN0cnVjdGlvbi5u
ZXcobm9kZS5jb2RlT3JpZ2luLCAibm9wQ29ydGV4QTUzRml4ODM1NzY5IiwgW10pCi0gICAgICAg
ICAgICAgICAgZW5kCi0gICAgICAgICAgICAgICAgbGFzdE9wY29kZVVuc2FmZSA9IGZhbHNlCi0g
ICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgbGFzdE9wY29kZVVuc2FmZSA9IGZhbHNl
Ci0gICAgICAgICAgICBlbmQKLSAgICAgICAgZW5kCi0gICAgICAgIG5ld0xpc3QgPDwgbm9kZQot
ICAgIH0KLSAgICBuZXdMaXN0Ci1lbmQKLQogY2xhc3MgU2VxdWVuY2UKICAgICBkZWYgZ2V0TW9k
aWZpZWRMaXN0QVJNNjQocmVzdWx0ID0gQGxpc3QpCiAgICAgICAgIHJlc3VsdCA9IHJpc2NMb3dl
ck5vdChyZXN1bHQpCkBAIC00NzAsNyArNDQyLDYgQEAgY2xhc3MgU2VxdWVuY2UKICAgICAgICAg
cmVzdWx0ID0gYXJtNjRGaXhTcGVjaWFsUmVnaXN0ZXJBcml0aG1ldGljTW9kZShyZXN1bHQpCiAg
ICAgICAgIHJlc3VsdCA9IGFzc2lnblJlZ2lzdGVyc1RvVGVtcG9yYXJpZXMocmVzdWx0LCA6Z3By
LCBBUk02NF9FWFRSQV9HUFJTKQogICAgICAgICByZXN1bHQgPSBhc3NpZ25SZWdpc3RlcnNUb1Rl
bXBvcmFyaWVzKHJlc3VsdCwgOmZwciwgQVJNNjRfRVhUUkFfRlBSUykKLSAgICAgICAgcmVzdWx0
ID0gYXJtNjRDb3J0ZXhBNTNGaXg4MzU3NjkocmVzdWx0KQogICAgICAgICByZXR1cm4gcmVzdWx0
CiAgICAgZW5kCiBlbmQKQEAgLTExMTUsMTAgKzEwODYsNiBAQCBjbGFzcyBJbnN0cnVjdGlvbgog
ICAgICAgICAgICAgJGFzbS5wdXRzICJiZmkgI3tvcGVyYW5kc1szXS5hcm02NE9wZXJhbmQoOnF1
YWQpfSwgI3tvcGVyYW5kc1swXS5hcm02NE9wZXJhbmQoOnF1YWQpfSwgI3tvcGVyYW5kc1sxXS52
YWx1ZX0sICN7b3BlcmFuZHNbMl0udmFsdWV9IgogICAgICAgICB3aGVuICJwY3J0b2FkZHIiCiAg
ICAgICAgICAgICAkYXNtLnB1dHMgImFkciAje29wZXJhbmRzWzFdLmFybTY0T3BlcmFuZCg6cXVh
ZCl9LCAje29wZXJhbmRzWzBdLnZhbHVlfSIKLSAgICAgICAgd2hlbiAibm9wQ29ydGV4QTUzRml4
ODM1NzY5IgotICAgICAgICAgICAgJGFzbS5wdXRTdHIoIiNpZiBDUFUoQVJNNjRfQ09SVEVYQTUz
KSIpCi0gICAgICAgICAgICAkYXNtLnB1dHMgIm5vcCIKLSAgICAgICAgICAgICRhc20ucHV0U3Ry
KCIjZW5kaWYiKQogICAgICAgICB3aGVuICJnbG9iYWxhZGRyIgogICAgICAgICAgICAgdWlkID0g
JGFzbS5uZXdVSUQKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVh
c20vaW5zdHJ1Y3Rpb25zLnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vaW5z
dHJ1Y3Rpb25zLnJiCmluZGV4IGE0MWUwNmY3ZDZhMWEyMjIzM2Q5MzcyNjZjNDRjMjcwZTMzOWQz
OTMuLjczNjM4YTE3OGI2OWQzM2EyMThlNTZmMzBmOTIyMGE1ODFkY2JjNjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2luc3RydWN0aW9ucy5yYgorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS9pbnN0cnVjdGlvbnMucmIKQEAgLTM1NCw3
ICszNTQsNiBAQCBBUk02NF9JTlNUUlVDVElPTlMgPQogICAgIFsKICAgICAgImJmaXEiLCAjIEJp
dCBmaWVsZCBpbnNlcnQgPHNvdXJjZSByZWc+IDxsYXN0IGJpdCB3cml0dGVuPiA8d2lkdGggaW1t
ZWRpYXRlPiA8ZGVzdCByZWc+CiAgICAgICJwY3J0b2FkZHIiLCAgICMgQWRkcmVzcyBmcm9tIFBD
IHJlbGF0aXZlIG9mZnNldCAtIGFkciBpbnN0cnVjdGlvbgotICAgICAibm9wRml4Q29ydGV4QTUz
RXJyODM1NzY5IiwgIyBub3Agb24gQ29ydGV4LUE1MyAobm90aGluZyBvdGhlcndpc2UpCiAgICAg
ICJnbG9iYWxhZGRyIiwKICAgICAgImRpdmkiLAogICAgICAiZGl2aXMiLApkaWZmIC0tZ2l0IGEv
U291cmNlL2NtYWtlL09wdGlvbnNDb21tb24uY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0Nv
bW1vbi5jbWFrZQppbmRleCA5M2ZiZTIwZDNlNTQ5NDZlZWNkNjQ2ZjVkM2YxMmM3ZGNlMDU3OWUw
Li5hNmJkODVjOTc0N2RjNjcxNDI0NmE0MjkzNzVjYWE2YTY3OWI4ZDRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvY21ha2UvT3B0aW9uc0NvbW1vbi5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9u
c0NvbW1vbi5jbWFrZQpAQCAtMTksMzIgKzE5LDYgQEAgZW5kaWYgKCkKIHNldF9wcm9wZXJ0eShH
TE9CQUwgUFJPUEVSVFkgVVNFX0ZPTERFUlMgT04pCiBkZWZpbmVfcHJvcGVydHkoVEFSR0VUIFBS
T1BFUlRZIEZPTERFUiBJTkhFUklURUQgQlJJRUZfRE9DUyAiZm9sZGVyIiBGVUxMX0RPQ1MgIklE
RSBmb2xkZXIgbmFtZSIpCiAKLSMgRGV0ZWN0IENvcnRleC1BNTMgY29yZSBpZiBDUFUgaXMgQVJN
NjQgYW5kIE9TIGlzIExpbnV4LgotIyBRdWVyeSAvcHJvYy9jcHVpbmZvIGZvciBlYWNoIGF2YWls
YWJsZSBjb3JlIGFuZCBjaGVjayByZXBvcnRlZCBDUFUgcGFydCBudW1iZXI6IDB4ZDAzIHNpZ25h
bHMgQ29ydGV4LUE1My4KLSMgKHNlZSBNYWluIElEIFJlZ2lzdGVyIGluIEFSTSBDb3J0ZXgtQTUz
IE1QQ29yZSBQcm9jZXNzb3IgVGVjaG5pY2FsIFJlZmVyZW5jZSBNYW51YWwpCi1zZXQoV1RGX0NQ
VV9BUk02NF9DT1JURVhBNTNfSU5JVElBTFZBTFVFIE9GRikKLWlmIChXVEZfQ1BVX0FSTTY0IEFO
RCAoJHtDTUFLRV9TWVNURU1fTkFNRX0gU1RSRVFVQUwgIkxpbnV4IikpCi0gICAgZXhlY3V0ZV9w
cm9jZXNzKENPTU1BTkQgbnByb2MgT1VUUFVUX1ZBUklBQkxFIFBST0NfQ09VTlQpCi0gICAgbWF0
aChFWFBSIFBST0NfTUFYICR7UFJPQ19DT1VOVH0tMSkKLSAgICBmb3JlYWNoIChQUk9DX0lEIFJB
TkdFICR7UFJPQ19NQVh9KQotICAgICAgICBleGVjdXRlX3Byb2Nlc3MoQ09NTUFORCB0YXNrc2V0
IC1jICR7UFJPQ19JRH0gZ3JlcCAiXkNQVSBwYXJ0IiAvcHJvYy9jcHVpbmZvIE9VVFBVVF9WQVJJ
QUJMRSBQUk9DX1BBUlQpCi0gICAgICAgIGlmIChQUk9DX1BBUlQgTUFUQ0hFUyAiMHhkMDMiKQot
ICAgICAgICAgICAgc2V0KFdURl9DUFVfQVJNNjRfQ09SVEVYQTUzX0lOSVRJQUxWQUxVRSBPTikK
LSAgICAgICAgICAgIGJyZWFrICgpCi0gICAgICAgIGVuZGlmICgpCi0gICAgZW5kZm9yZWFjaCAo
KQotZW5kaWYgKCkKLW9wdGlvbihXVEZfQ1BVX0FSTTY0X0NPUlRFWEE1MyAiRW5hYmxlIENvcnRl
eC1BNTMtc3BlY2lmaWMgY29kZSBwYXRocyIgJHtXVEZfQ1BVX0FSTTY0X0NPUlRFWEE1M19JTklU
SUFMVkFMVUV9KQotCi1pZiAoV1RGX0NQVV9BUk02NF9DT1JURVhBNTMpCi0gICAgaWYgKE5PVCBX
VEZfQ1BVX0FSTTY0KQotICAgICAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJXVEZfQ1BVX0FSTTY0
X0NPUlRFWEE1MyBzZXQgd2l0aG91dCBXVEZfQ1BVX0FSTTY0IikKLSAgICBlbmRpZiAoKQotICAg
IFdFQktJVF9QUkVQRU5EX0dMT0JBTF9DT01QSUxFUl9GTEFHUygtbWZpeC1jb3J0ZXgtYTUzLTgz
NTc2OSkKLWVuZGlmICgpCi0KLUVYUE9TRV9WQVJJQUJMRV9UT19CVUlMRChXVEZfQ1BVX0FSTTY0
X0NPUlRFWEE1MykKLQogc2V0KEFSTV9UUkFESVRJT05BTF9ERVRFQ1RFRCBGQUxTRSkKIGlmIChX
VEZfQ1BVX0FSTSkKICAgICBzZXQoQVJNX1RIVU1CMl9URVNUX1NPVVJDRQpkaWZmIC0tZ2l0IGEv
Q2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDA4ODg2OGVlMTIwNTllODc4YTlkYzg3ZDlmZTAz
YTFmODBhM2EzMzMuLjc0NDdmYTcyY2VkOGFkOGVjY2VmODkxNTQ3NzJiMDBmZjEyOTg4OTcgMTAw
NjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAy
MC0wNC0xMyAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGdub21lLm9yZz4KKworICAg
ICAgICBbR1RLXVtXUEVdW0pTQ09ubHldIGNvbXBpbGUgZXJyb3Igd2hlbiAtRFdURl9DUFVfQVJN
NjRfQ09SVEVYQTUzPU9OIHNldCBmb3IgYXJtNjQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NzE5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNDb21tb24uY21ha2U6
CisKIDIwMjAtMDQtMDggIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgog
CiAgICAgICAgIFJlbW92ZSBFTkFCTEVfSU5UTCBkZWZpbmUK
</data>

          </attachment>
      

    </bug>

</bugzilla>