<?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>46077</bug_id>
          
          <creation_ts>2010-09-20 00:27:17 -0700</creation_ts>
          <short_desc>ASSERT failure in YARR JIT</short_desc>
          <delta_ts>2011-02-22 13:13:47 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>info</cc>
    
    <cc>possessedpenguinbob</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>281410</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-09-20 00:27:17 -0700</bug_when>
    <thetext>ASSERTION FAILED: to.m_offset != -1
(/Volumes/Data/CopperHead/JavaScriptCore/assembler/X86Assembler.h:1535 void JSC::X86Assembler::linkJump(JSC::X86Assembler::JmpSrc, JSC::X86Assembler::JmpDst))
Segmentation fault: 11

The problem is hit when there are multiple alternatives in the top level disjunction, the last disjunction is longer than the first, and all are BOL predicated, e.g.:
/^a|^bc/
Two optimizations are coming into conflict here.
Due to the BOL unrolling there is no need to ever loop, so no head of loop label has been set, however the optimized code path that loops without checking length is available (since we have already checked N+1 characters for the last alternative before looping) doesn&apos;t check the flag indicating whether a label has been set.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281422</commentid>
    <comment_count>1</comment_count>
      <attachid>68056</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-09-20 00:47:09 -0700</bug_when>
    <thetext>Created attachment 68056
The patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281693</commentid>
    <comment_count>2</comment_count>
      <attachid>68056</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-20 11:31:33 -0700</bug_when>
    <thetext>Comment on attachment 68056
The patch

Clearing flags on attachment: 68056

Committed r67867: &lt;http://trac.webkit.org/changeset/67867&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281694</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-20 11:31:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281709</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-09-20 11:46:16 -0700</bug_when>
    <thetext>*** Bug 46075 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355546</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-22 13:13:47 -0800</bug_when>
    <thetext>*** Bug 46102 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68056</attachid>
            <date>2010-09-20 00:47:09 -0700</date>
            <delta_ts>2010-09-20 11:31:33 -0700</delta_ts>
            <desc>The patch</desc>
            <filename>yarrcrash.patch</filename>
            <type>text/plain</type>
            <size>10189</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY3ODQwKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDktMjAgIEdhdmluIEJh
cnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyA0NjA3NyAtIEFTU0VSVCBmYWlsdXJlIGlu
IFlBUlIgSklUCisKKyAgICAgICAgV2Ugd2lsbCBjdXJyZW50bHkgYXR0ZW1wdCB0byBsb29wIGlm
IHRoZXJlIGFyZSBtdWx0aXBsZSBhbHRlcm5hdGl2ZXMsIHRoZXkgYXJlIGFsbAorICAgICAgICBC
T0wgcHJlZGljYXRlZCwgYW5kIHRoZSBsYXN0IGFsdGVybmF0aXZlIGlzIGxvbmdlciB0aGVuIHRo
ZSBmaXJzdCAtIGhvd2V2ZXIgaWYgYWxsCisgICAgICAgIGFsdGVybmF0aXZlcyBhcmUgQk9MIHBy
ZWRpY2F0ZWQgdGhlIGhlYWQgb2YgbG9vcCBsYWJlbCB3aWxsIG5vdCBoYXZlIGJlZW4gc2V0LCBh
bmQKKyAgICAgICAgd2UnbGwgdHJ5IHRvIGxpbmsgYSBqdW1wIHRvIGFuIHVuZGVmaW5lZCBsYWJl
bC4gU3RvcCBkb2luZyBzby4KKworICAgICAgICAqIHlhcnIvUmVnZXhKSVQuY3BwOgorICAgICAg
ICAoSlNDOjpZYXJyOjpSZWdleEdlbmVyYXRvcjo6Z2VuZXJhdGVEaXNqdW5jdGlvbik6CisKIDIw
MTAtMDktMTkgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgogCiAg
ICAgICAgIFdpbmRvd3MgYnVpbGQgZml4IHB0IDIuCkluZGV4OiBKYXZhU2NyaXB0Q29yZS95YXJy
L1JlZ2V4SklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklU
LmNwcAkocmV2aXNpb24gNjc4MzgpCisrKyBKYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SklULmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTMzNSw1NSArMTMzNSw1OSBAQCBjbGFzcyBSZWdleEdlbmVy
YXRvciA6IHByaXZhdGUgTWFjcm9Bc3NlCiAKICAgICAgICAgc3RhdGUuY2hlY2tlZFRvdGFsIC09
IGNvdW50Q2hlY2tlZEZvckN1cnJlbnRBbHRlcm5hdGl2ZTsKIAotICAgICAgICAvLyBIb3cgbXVj
aCBtb3JlIGlucHV0IG5lZWQgdGhlcmUgYmUgdG8gYmUgYWJsZSB0byByZXRyeSBmcm9tIHRoZSBm
aXJzdCBhbHRlcm5hdGl2ZT8KLSAgICAgICAgLy8gZXhhbXBsZXM6Ci0gICAgICAgIC8vICAgL3lh
cnJfaml0LyBvciAvd3JlY3xwY3JlLwotICAgICAgICAvLyAgICAgSW4gdGhlc2UgZXhhbXBsZXMg
d2UgbmVlZCBjaGVjayBmb3Igb25lIG1vcmUgaW5wdXQgYmVmb3JlIGxvb3BpbmcuCi0gICAgICAg
IC8vICAgL3lhcnJfaml0fHBjcmUvCi0gICAgICAgIC8vICAgICBJbiB0aGlzIGNhc2Ugd2UgbmVl
ZCBjaGVjayBmb3IgNSBtb3JlIGlucHV0IHRvIGxvb3AgKCs0IHRvIGFsbG93IGZvciB0aGUgZmly
c3QgYWx0ZXJhdGl2ZQotICAgICAgICAvLyAgICAgYmVpbmcgZm91ciBsb25nZXIgdGhhbiB0aGUg
bGFzdCBhbHRlcm5hdGl2ZSBjaGVja2VkLCBhbmQgYW5vdGhlciArMSB0byBlZmZlY3RpdmVseSBt
b3ZlCi0gICAgICAgIC8vICAgICB0aGUgc3RhcnQgcG9zaXRpb24gYWxvbmcgYnkgb25lKS4KLSAg
ICAgICAgLy8gICAveWFycnxydWxlcy8gb3IgL3dyZWN8bm90c29tdWNoLwotICAgICAgICAvLyAg
ICAgSW4gdGhlc2UgZXhhbXBsZXMsIHByb3ZpZGVkIHRoYXQgdGhlcmUgd2FzIHN1ZmZpY2llbnQg
aW5wdXQgdG8gaGF2ZSBqdXN0IGJlZW4gbWF0Y2hpbmcgZm9yCi0gICAgICAgIC8vICAgICB0aGUg
c2Vjb25kIGFsdGVybmF0aXZlIHdlIGNhbiBsb29wIHdpdGhvdXQgY2hlY2tpbmcgZm9yIGF2YWls
YWJsZSBpbnB1dCAoc2luY2UgdGhlIHNlY29uZAotICAgICAgICAvLyAgICAgYWx0ZXJuYXRpdmUg
aXMgbG9uZ2VyIHRoYW4gdGhlIGZpcnN0KS4gIEluIHRoZSBsYXR0ZXIgZXhhbXBsZSB3ZSBuZWVk
IHRvIGRlY3JlbWVudCBpbmRleAotICAgICAgICAvLyAgICAgKGJ5IDQpIHNvIHRoZSBzdGFydCBw
b3NpdGlvbiBpcyBvbmx5IHByb2dyZXNzZWQgYnkgMSBmcm9tIHRoZSBsYXN0IGl0ZXJhdGlvbi4K
LSAgICAgICAgaW50IGluY3JlbWVudEZvck5leHRJdGVyID0gKGNvdW50VG9DaGVja0ZvckZpcnN0
QWx0ZXJuYXRpdmUgLSBjb3VudENoZWNrZWRGb3JDdXJyZW50QWx0ZXJuYXRpdmUpICsgMTsKLQot
ICAgICAgICAvLyBGaXJzdCwgZGVhbCB3aXRoIHRoZSBjYXNlcyB3aGVyZSB0aGVyZSB3YXMgc3Vm
ZmljaWVudCBpbnB1dCB0byB0cnkgdGhlIGxhc3QgYWx0ZXJuYXRpdmUuCi0gICAgICAgIGlmIChp
bmNyZW1lbnRGb3JOZXh0SXRlciA+IDApIC8vIFdlIG5lZWQgdG8gY2hlY2sgZm9yIG1vcmUgaW5w
dXQgYW55d2F5LCBmYWxsIHRocm91Z2ggdG8gdGhlIGNoZWNraW5nIGJlbG93LgotICAgICAgICAg
ICAgc3RhdGUubGlua0FsdGVybmF0aXZlQmFja3RyYWNrcyh0aGlzKTsKLSAgICAgICAgZWxzZSBp
ZiAobV9wYXR0ZXJuLm1fYm9keS0+bV9oYXNGaXhlZFNpemUgJiYgIWluY3JlbWVudEZvck5leHRJ
dGVyKSAvLyBObyBuZWVkIHRvIHVwZGF0ZSBhbnl0aGluZywgbGluayB0aGVzZSBiYWNrdHJhY2tz
IHN0cmFpZ2h0IHRvIHRoZSB0byBwb2YgdGhlIGxvb3AhCi0gICAgICAgICAgICBzdGF0ZS5saW5r
QWx0ZXJuYXRpdmVCYWNrdHJhY2tzVG8oZmlyc3RBbHRlcm5hdGl2ZUlucHV0Q2hlY2tlZCwgdGhp
cyk7Ci0gICAgICAgIGVsc2UgeyAvLyBubyBuZWVkIHRvIGNoZWNrIHRoZSBpbnB1dCwgYnV0IHdl
IGRvIGhhdmUgc29tZSBib29ra2VlcGluZyB0byBkbyBmaXJzdC4KKyAgICAgICAgaWYgKCFzZXRS
ZXBlYXRBbHRlcm5hdGl2ZUxhYmVscykgeworICAgICAgICAgICAgLy8gSWYgdGhlcmUgYXJlIG5v
IGFsdGVybmF0aXZlcyB0aGF0IG5lZWQgcmVwZWF0aW5nIChhbGwgYXJlIG1hcmtlZCAnb25jZVRo
cm91Z2gnKSB0aGVuIGp1c3QgbGluaworICAgICAgICAgICAgLy8gdGhlIG1hdGNoIGZhaWx1cmVz
IHRvIHRoaXMgcG9pbnQsIGFuZCBmYWxsIHRocm91Z2ggdG8gdGhlIHJldHVybiBiZWxvdy4KICAg
ICAgICAgICAgIHN0YXRlLmxpbmtBbHRlcm5hdGl2ZUJhY2t0cmFja3ModGhpcyk7CisgICAgICAg
ICAgICBub3RFbm91Z2hJbnB1dEZvclByZXZpb3VzQWx0ZXJuYXRpdmUubGluayh0aGlzKTsKKyAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8vIEhvdyBtdWNoIG1vcmUgaW5wdXQgbmVlZCB0
aGVyZSBiZSB0byBiZSBhYmxlIHRvIHJldHJ5IGZyb20gdGhlIGZpcnN0IGFsdGVybmF0aXZlPwor
ICAgICAgICAgICAgLy8gZXhhbXBsZXM6CisgICAgICAgICAgICAvLyAgIC95YXJyX2ppdC8gb3Ig
L3dyZWN8cGNyZS8KKyAgICAgICAgICAgIC8vICAgICBJbiB0aGVzZSBleGFtcGxlcyB3ZSBuZWVk
IGNoZWNrIGZvciBvbmUgbW9yZSBpbnB1dCBiZWZvcmUgbG9vcGluZy4KKyAgICAgICAgICAgIC8v
ICAgL3lhcnJfaml0fHBjcmUvCisgICAgICAgICAgICAvLyAgICAgSW4gdGhpcyBjYXNlIHdlIG5l
ZWQgY2hlY2sgZm9yIDUgbW9yZSBpbnB1dCB0byBsb29wICgrNCB0byBhbGxvdyBmb3IgdGhlIGZp
cnN0IGFsdGVyYXRpdmUKKyAgICAgICAgICAgIC8vICAgICBiZWluZyBmb3VyIGxvbmdlciB0aGFu
IHRoZSBsYXN0IGFsdGVybmF0aXZlIGNoZWNrZWQsIGFuZCBhbm90aGVyICsxIHRvIGVmZmVjdGl2
ZWx5IG1vdmUKKyAgICAgICAgICAgIC8vICAgICB0aGUgc3RhcnQgcG9zaXRpb24gYWxvbmcgYnkg
b25lKS4KKyAgICAgICAgICAgIC8vICAgL3lhcnJ8cnVsZXMvIG9yIC93cmVjfG5vdHNvbXVjaC8K
KyAgICAgICAgICAgIC8vICAgICBJbiB0aGVzZSBleGFtcGxlcywgcHJvdmlkZWQgdGhhdCB0aGVy
ZSB3YXMgc3VmZmljaWVudCBpbnB1dCB0byBoYXZlIGp1c3QgYmVlbiBtYXRjaGluZyBmb3IKKyAg
ICAgICAgICAgIC8vICAgICB0aGUgc2Vjb25kIGFsdGVybmF0aXZlIHdlIGNhbiBsb29wIHdpdGhv
dXQgY2hlY2tpbmcgZm9yIGF2YWlsYWJsZSBpbnB1dCAoc2luY2UgdGhlIHNlY29uZAorICAgICAg
ICAgICAgLy8gICAgIGFsdGVybmF0aXZlIGlzIGxvbmdlciB0aGFuIHRoZSBmaXJzdCkuICBJbiB0
aGUgbGF0dGVyIGV4YW1wbGUgd2UgbmVlZCB0byBkZWNyZW1lbnQgaW5kZXgKKyAgICAgICAgICAg
IC8vICAgICAoYnkgNCkgc28gdGhlIHN0YXJ0IHBvc2l0aW9uIGlzIG9ubHkgcHJvZ3Jlc3NlZCBi
eSAxIGZyb20gdGhlIGxhc3QgaXRlcmF0aW9uLgorICAgICAgICAgICAgaW50IGluY3JlbWVudEZv
ck5leHRJdGVyID0gKGNvdW50VG9DaGVja0ZvckZpcnN0QWx0ZXJuYXRpdmUgLSBjb3VudENoZWNr
ZWRGb3JDdXJyZW50QWx0ZXJuYXRpdmUpICsgMTsKKworICAgICAgICAgICAgLy8gRmlyc3QsIGRl
YWwgd2l0aCB0aGUgY2FzZXMgd2hlcmUgdGhlcmUgd2FzIHN1ZmZpY2llbnQgaW5wdXQgdG8gdHJ5
IHRoZSBsYXN0IGFsdGVybmF0aXZlLgorICAgICAgICAgICAgaWYgKGluY3JlbWVudEZvck5leHRJ
dGVyID4gMCkgLy8gV2UgbmVlZCB0byBjaGVjayBmb3IgbW9yZSBpbnB1dCBhbnl3YXksIGZhbGwg
dGhyb3VnaCB0byB0aGUgY2hlY2tpbmcgYmVsb3cuCisgICAgICAgICAgICAgICAgc3RhdGUubGlu
a0FsdGVybmF0aXZlQmFja3RyYWNrcyh0aGlzKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKG1fcGF0
dGVybi5tX2JvZHktPm1faGFzRml4ZWRTaXplICYmICFpbmNyZW1lbnRGb3JOZXh0SXRlcikgLy8g
Tm8gbmVlZCB0byB1cGRhdGUgYW55dGhpbmcsIGxpbmsgdGhlc2UgYmFja3RyYWNrcyBzdHJhaWdo
dCB0byB0aGUgdG8gcG9mIHRoZSBsb29wIQorICAgICAgICAgICAgICAgIHN0YXRlLmxpbmtBbHRl
cm5hdGl2ZUJhY2t0cmFja3NUbyhmaXJzdEFsdGVybmF0aXZlSW5wdXRDaGVja2VkLCB0aGlzKTsK
KyAgICAgICAgICAgIGVsc2UgeyAvLyBubyBuZWVkIHRvIGNoZWNrIHRoZSBpbnB1dCwgYnV0IHdl
IGRvIGhhdmUgc29tZSBib29ra2VlcGluZyB0byBkbyBmaXJzdC4KKyAgICAgICAgICAgICAgICBz
dGF0ZS5saW5rQWx0ZXJuYXRpdmVCYWNrdHJhY2tzKHRoaXMpOworCisgICAgICAgICAgICAgICAg
Ly8gV2hlcmUgbmVjZXNzYXJ5IHVwZGF0ZSBvdXIgcHJlc2VydmVkIHN0YXJ0IHBvc2l0aW9uLgor
ICAgICAgICAgICAgICAgIGlmICghbV9wYXR0ZXJuLm1fYm9keS0+bV9oYXNGaXhlZFNpemUpIHsK
KyAgICAgICAgICAgICAgICAgICAgbW92ZShpbmRleCwgcmVnVDApOworICAgICAgICAgICAgICAg
ICAgICBzdWIzMihJbW0zMihjb3VudENoZWNrZWRGb3JDdXJyZW50QWx0ZXJuYXRpdmUgLSAxKSwg
cmVnVDApOworICAgICAgICAgICAgICAgICAgICBzdG9yZTMyKHJlZ1QwLCBBZGRyZXNzKG91dHB1
dCkpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIC8vIFVwZGF0ZSBpbmRl
eCBpZiBuZWNlc3NhcnksIGFuZCBsb29wICh3aXRob3V0IGNoZWNraW5nKS4KKyAgICAgICAgICAg
ICAgICBpZiAoaW5jcmVtZW50Rm9yTmV4dEl0ZXIpCisgICAgICAgICAgICAgICAgICAgIGFkZDMy
KEltbTMyKGluY3JlbWVudEZvck5leHRJdGVyKSwgaW5kZXgpOworICAgICAgICAgICAgICAgIGp1
bXAoKS5saW5rVG8oZmlyc3RBbHRlcm5hdGl2ZUlucHV0Q2hlY2tlZCwgdGhpcyk7CisgICAgICAg
ICAgICB9CiAKLSAgICAgICAgICAgIC8vIFdoZXJlIG5lY2Vzc2FyeSB1cGRhdGUgb3VyIHByZXNl
cnZlZCBzdGFydCBwb3NpdGlvbi4KKyAgICAgICAgICAgIG5vdEVub3VnaElucHV0Rm9yUHJldmlv
dXNBbHRlcm5hdGl2ZS5saW5rKHRoaXMpOworICAgICAgICAgICAgLy8gVXBkYXRlIG91ciBpZGVh
IG9mIHRoZSBzdGFydCBwb3NpdGlvbiwgaWYgd2UncmUgdHJhY2tpbmcgdGhpcy4KICAgICAgICAg
ICAgIGlmICghbV9wYXR0ZXJuLm1fYm9keS0+bV9oYXNGaXhlZFNpemUpIHsKLSAgICAgICAgICAg
ICAgICBtb3ZlKGluZGV4LCByZWdUMCk7Ci0gICAgICAgICAgICAgICAgc3ViMzIoSW1tMzIoY291
bnRDaGVja2VkRm9yQ3VycmVudEFsdGVybmF0aXZlIC0gMSksIHJlZ1QwKTsKLSAgICAgICAgICAg
ICAgICBzdG9yZTMyKHJlZ1QwLCBBZGRyZXNzKG91dHB1dCkpOworICAgICAgICAgICAgICAgIGlm
IChjb3VudENoZWNrZWRGb3JDdXJyZW50QWx0ZXJuYXRpdmUgLSAxKSB7CisgICAgICAgICAgICAg
ICAgICAgIG1vdmUoaW5kZXgsIHJlZ1QwKTsKKyAgICAgICAgICAgICAgICAgICAgc3ViMzIoSW1t
MzIoY291bnRDaGVja2VkRm9yQ3VycmVudEFsdGVybmF0aXZlIC0gMSksIHJlZ1QwKTsKKyAgICAg
ICAgICAgICAgICAgICAgc3RvcmUzMihyZWdUMCwgQWRkcmVzcyhvdXRwdXQpKTsKKyAgICAgICAg
ICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgc3RvcmUzMihpbmRleCwgQWRkcmVz
cyhvdXRwdXQpKTsKICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgLy8gVXBkYXRlIGluZGV4
IGlmIG5lY2Vzc2FyeSwgYW5kIGxvb3AgKHdpdGhvdXQgY2hlY2tpbmcpLgotICAgICAgICAgICAg
aWYgKGluY3JlbWVudEZvck5leHRJdGVyKQotICAgICAgICAgICAgICAgIGFkZDMyKEltbTMyKGlu
Y3JlbWVudEZvck5leHRJdGVyKSwgaW5kZXgpOwotICAgICAgICAgICAganVtcCgpLmxpbmtUbyhm
aXJzdEFsdGVybmF0aXZlSW5wdXRDaGVja2VkLCB0aGlzKTsKLSAgICAgICAgfQotCi0gICAgICAg
IG5vdEVub3VnaElucHV0Rm9yUHJldmlvdXNBbHRlcm5hdGl2ZS5saW5rKHRoaXMpOwotICAgICAg
ICAvLyBVcGRhdGUgb3VyIGlkZWEgb2YgdGhlIHN0YXJ0IHBvc2l0aW9uLCBpZiB3ZSdyZSB0cmFj
a2luZyB0aGlzLgotICAgICAgICBpZiAoIW1fcGF0dGVybi5tX2JvZHktPm1faGFzRml4ZWRTaXpl
KSB7Ci0gICAgICAgICAgICBpZiAoY291bnRDaGVja2VkRm9yQ3VycmVudEFsdGVybmF0aXZlIC0g
MSkgewotICAgICAgICAgICAgICAgIG1vdmUoaW5kZXgsIHJlZ1QwKTsKLSAgICAgICAgICAgICAg
ICBzdWIzMihJbW0zMihjb3VudENoZWNrZWRGb3JDdXJyZW50QWx0ZXJuYXRpdmUgLSAxKSwgcmVn
VDApOwotICAgICAgICAgICAgICAgIHN0b3JlMzIocmVnVDAsIEFkZHJlc3Mob3V0cHV0KSk7Ci0g
ICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBzdG9yZTMyKGluZGV4LCBBZGRyZXNz
KG91dHB1dCkpOwotICAgICAgICB9CiAgICAgICAgIAotICAgICAgICAvLyBMb29wIGlmIHRoZXJl
IGFyZSByZXBlYXRpbmcgYWx0ZXJuYXRpdmVzLgotICAgICAgICBpZiAoc2V0UmVwZWF0QWx0ZXJu
YXRpdmVMYWJlbHMpIHsKICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoZXJlIGlzIHN1ZmZpY2Vu
dCBpbnB1dCB0byBydW4gdGhlIGZpcnN0IGFsdGVybmF0aXZlIGFnYWluLgogICAgICAgICAgICAg
anVtcElmQXZhaWxhYmxlSW5wdXQoaW5jcmVtZW50Rm9yTmV4dEl0ZXIpLmxpbmtUbyhmaXJzdEFs
dGVybmF0aXZlSW5wdXRDaGVja2VkLCB0aGlzKTsKICAgICAgICAgICAgIC8vIE5vIC0gaW5zdWZm
aWNlbnQgaW5wdXQgdG8gcnVuIHRoZSBmaXJzdCBhbHRlcmFuYXRpdmUsIGFyZSB0aGVyZSBhbnkg
b3RoZXIgYWx0ZXJuYXRpdmVzIHdlCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2Nzg0MCkKKysrIExheW91
dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDEwLTA5
LTIwICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCdWcgNDYwNzcgLSBBU1NF
UlQgZmFpbHVyZSBpbiBZQVJSIEpJVAorCisgICAgICAgIFdlIHdpbGwgY3VycmVudGx5IGF0dGVt
cHQgdG8gbG9vcCBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgYWx0ZXJuYXRpdmVzLCB0aGV5IGFyZSBh
bGwKKyAgICAgICAgQk9MIHByZWRpY2F0ZWQsIGFuZCB0aGUgbGFzdCBhbHRlcm5hdGl2ZSBpcyBs
b25nZXIgdGhlbiB0aGUgZmlyc3QgLSBob3dldmVyIGlmIGFsbAorICAgICAgICBhbHRlcm5hdGl2
ZXMgYXJlIEJPTCBwcmVkaWNhdGVkIHRoZSBoZWFkIG9mIGxvb3AgbGFiZWwgd2lsbCBub3QgaGF2
ZSBiZWVuIHNldCwgYW5kCisgICAgICAgIHdlJ2xsIHRyeSB0byBsaW5rIGEganVtcCB0byBhbiB1
bmRlZmluZWQgbGFiZWwuIFN0b3AgZG9pbmcgc28uCisKKyAgICAgICAgKiBmYXN0L2pzL3JlZ2V4
cC1ub3JlcGVhdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvcmVnZXhw
LW5vcmVwZWF0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvc2NyaXB0LXRlc3RzL3Jl
Z2V4cC1ub3JlcGVhdC5qczogQWRkZWQuCisKIDIwMTAtMDktMjAgIEphbWVzIEtvemlhbnNraSAg
PGtvekBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvanMvcmVnZXhwLW5vcmVwZWF0LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL3JlZ2V4cC1ub3JlcGVhdC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3JlZ2V4cC1ub3JlcGVhdC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTAgQEAKK1Rlc3QgZm9yIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjA3NworCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyByZS50ZXN0KHN0cikgaXMgZmFsc2UKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2pzL3JlZ2V4cC1ub3JlcGVhdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvanMvcmVnZXhwLW5vcmVwZWF0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L2pzL3JlZ2V4cC1ub3JlcGVhdC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEz
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3JlZ2V4cC1ub3Jl
cGVhdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pz
L3NjcmlwdC10ZXN0cy9yZWdleHAtbm9yZXBlYXQuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvcmVnZXhwLW5vcmVwZWF0LmpzCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvcmVnZXhwLW5vcmVwZWF0LmpzCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkgQEAKK2Rlc2NyaXB0aW9uKAorJ1Rlc3QgZm9yIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjA3NycKKyk7CisKK3ZhciByZSA9
IC9eYnxeY2QvOwordmFyIHN0ciA9ICJhYmNkIjsKK3Nob3VsZEJlKCdyZS50ZXN0KHN0ciknLCAn
ZmFsc2UnKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>