<?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>124177</bug_id>
          
          <creation_ts>2013-11-11 17:40:05 -0800</creation_ts>
          <short_desc>REGRESSION (r158014): Many webpages throw stack overflow exceptions on iOS (because Parser::parseMemberExpression uses ~130K more stack)</short_desc>
          <delta_ts>2013-11-13 11:10:26 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://apple.com</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="Michael Saboff">msaboff</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>ggaren</cc>
    
    <cc>msaboff</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>949508</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-11-11 17:40:05 -0800</bug_when>
    <thetext>The introduction of StringPrintStream as well as WTFString variables in http://trac.webkit.org/changeset/158014 in the error handling macros caused an increase in the stack space needed by Parser&lt;LexerType&gt;::parseMemberExpression.  On a X86 32 bit build, the size of the frame for parseMemberExpression (ebp - esp) is 82+K.

According to disassembly of parseMemberExpression, counting the number of StringPrintStream constructor calls we end up with 336.  Each of these appears to be allocated on the stack and has a static buffer of 128 bytes.  There are also 1348 calls to the String() destructor. Each of the strings is a RefPtr and a StringImpl, which also appear to be allocated on the stack.

Moving the StringPrintStream in the error macros to a member of the Parser class reduced the frame size to ~36K.  Even after the reduction we still get a &quot;RangeError: Maximum call stack size exceeded.” JSC exception.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949519</commentid>
    <comment_count>1</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-11-11 18:40:47 -0800</bug_when>
    <thetext>hurk, i&apos;ll look into pushing that code out of the arser functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949763</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-11-12 11:36:55 -0800</bug_when>
    <thetext>&lt;rdar://problem/15450444&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950242</commentid>
    <comment_count>3</comment_count>
      <attachid>216821</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-11-13 11:01:20 -0800</bug_when>
    <thetext>Created attachment 216821
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950246</commentid>
    <comment_count>4</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-11-13 11:10:26 -0800</bug_when>
    <thetext>Committed r159210: &lt;http://trac.webkit.org/changeset/159210&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216821</attachid>
            <date>2013-11-13 11:01:20 -0800</date>
            <delta_ts>2013-11-13 11:04:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124177-20131113110119.patch</filename>
            <type>text/plain</type>
            <size>9455</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5MjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
YTQ0YzU5YmJhNzMxZjgwNjIxNzJhNDA5ZjhjMTg1OThjNWMxM2Q0Li45NjUyZDMzNzQwZWQ4YmZk
MjFkOWE1ZDRjZDNjOTJjOWVjN2Q0OTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxMy0xMS0xMyAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFJFR1JFU1NJT04gKHIxNTgwMTQpOiBNYW55IHdlYnBhZ2VzIHRocm93IHN0YWNr
IG92ZXJmbG93IGV4Y2VwdGlvbnMgb24gaU9TIChiZWNhdXNlIFBhcnNlcjo6cGFyc2VNZW1iZXJF
eHByZXNzaW9uIHVzZXMgfjEzMEsgbW9yZSBzdGFjaykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDE3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggcHVzaGVzIGVycm9yIGhhbmRsaW5n
IGludG8gTkVWRVJfSU5MSU5FIGZ1bmN0aW9ucyB0byBwZXJmb3JtCisgICAgICAgIHRoZSBhY3R1
YWwgZXJyb3IgbWVzc2FnZSBjb25zdHJ1Y3Rpb24uICBUaGlzIGRyYW1hdGljYWxseSByZWR1Y2Vz
IHRoZQorICAgICAgICBzdGFjayB1c2FnZSBvZiB0aGUgUGFyc2VyLiAgRm9yIHRoZSBsYXJnZSBm
dW5jdGlvbnMgKHN1Y2ggYXMgcGFyc2VNZW1iZXJFeHByZXNzaW9uKQorICAgICAgICB0aGUgaW1w
cm92ZW1lbnQgaXMgb24gdGhlIG9yZGVyIG9mIDIuNXggcmVkdWN0aW9uIGluIHN0YWNrIHVzYWdl
LiAgRm9yCisgICAgICAgIHNtYWxsZXIgZnVuY3Rpb25zIHRoZSByZWR1Y3Rpb24gaXMgaW4gdGhl
IG9yZGVyIG9mIDUtNnguCisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAg
KEpTQzo6Ojpsb2dFcnJvcik6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorCiAyMDEzLTEx
LTEzICBKdWxpZW4gQnJpYW5jZWF1ICA8amJyaWFuY2VAY2lzY28uY29tPgogCiAgICAgICAgIFtz
aDRdIFByb3RlY3QgcmVwYXRjaENvbXBhY3QgZnJvbSBmbHVzaENvbnN0YW50UG9vbC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCA2YWNiNTcxZjVkNWI2OTc0OGJh
NTAwMDJiYzM3YmM1YmMwNWNiNDI3Li4yYmY1NzU0ZWZiZmIyNDk1ZGFkOTYxMGEzMjhlYmQwZTRh
NzEyMmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0zNywy
MiArMzcsMTYgQEAKICNpbmNsdWRlIDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0uaD4KICNpbmNsdWRl
IDx3dGYvV1RGVGhyZWFkRGF0YS5oPgogCisKICNkZWZpbmUgdXBkYXRlRXJyb3JNZXNzYWdlKHNo
b3VsZFByaW50VG9rZW4sIC4uLikgZG8ge1wKICAgICBBU1NFUlQoIWhhc0Vycm9yKCkpO1wKLSAg
ICBTdHJpbmdQcmludFN0cmVhbSBzdHJlYW07XAotICAgIGlmIChzaG91bGRQcmludFRva2VuKSB7
XAotICAgICAgICBwcmludFVuZXhwZWN0ZWRUb2tlblRleHQoc3RyZWFtKTsgXAotICAgICAgICBz
dHJlYW0ucHJpbnQoIi4gIik7IFwKLSAgICB9XAotICAgIHN0cmVhbS5wcmludChfX1ZBX0FSR1Nf
Xyk7XAotICAgIHN0cmVhbS5wcmludCgiLiIpO1wKLSAgICBzZXRFcnJvck1lc3NhZ2Uoc3RyZWFt
LnRvU3RyaW5nKCkpO1wKKyAgICBsb2dFcnJvcihzaG91bGRQcmludFRva2VuLCBfX1ZBX0FSR1Nf
Xyk7IFwKIH0gd2hpbGUgKDApCiAKICNkZWZpbmUgcHJvcGFnYXRlRXJyb3IoKSBkbyB7IGlmICho
YXNFcnJvcigpKSByZXR1cm4gMDsgfSB3aGlsZSAoMCkKLSNkZWZpbmUgaW50ZXJuYWxGYWlsV2l0
aE1lc3NhZ2Uoc2hvdWxkUHJpbnRUb2tlbiwgLi4uKSBkbyB7IGlmICghaGFzRXJyb3IoKSkgdXBk
YXRlRXJyb3JNZXNzYWdlKHNob3VsZFByaW50VG9rZW4sIF9fVkFfQVJHU19fKTsgcmV0dXJuIDA7
IH0gd2hpbGUgKDApCisjZGVmaW5lIGludGVybmFsRmFpbFdpdGhNZXNzYWdlKHNob3VsZFByaW50
VG9rZW4sIC4uLikgZG8geyB1cGRhdGVFcnJvck1lc3NhZ2Uoc2hvdWxkUHJpbnRUb2tlbiwgX19W
QV9BUkdTX18pOyByZXR1cm4gMDsgfSB3aGlsZSAoMCkKICNkZWZpbmUgaGFuZGxlRXJyb3JUb2tl
bigpIGRvIHsgaWYgKG1fdG9rZW4ubV90eXBlID09IEVPRlRPSyB8fCBtX3Rva2VuLm1fdHlwZSAm
IEVycm9yVG9rZW5GbGFnKSB7IGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigpOyB9IH0gd2hpbGUg
KDApCi0jZGVmaW5lIGZhaWxXaXRoTWVzc2FnZSguLi4pIGRvIHsgaWYgKCFoYXNFcnJvcigpKSB7
IGhhbmRsZUVycm9yVG9rZW4oKTsgdXBkYXRlRXJyb3JNZXNzYWdlKHRydWUsIF9fVkFfQVJHU19f
KTsgfSByZXR1cm4gMDsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgZmFpbFdpdGhNZXNzYWdlKC4uLikg
ZG8geyB7IGhhbmRsZUVycm9yVG9rZW4oKTsgdXBkYXRlRXJyb3JNZXNzYWdlKHRydWUsIF9fVkFf
QVJHU19fKTsgfSByZXR1cm4gMDsgfSB3aGlsZSAoMCkKICNkZWZpbmUgZmFpbFdpdGhTdGFja092
ZXJmbG93KCkgZG8geyB1cGRhdGVFcnJvck1lc3NhZ2UoZmFsc2UsICJTdGFjayBleGhhdXN0ZWQi
KTsgbV9oYXNTdGFja092ZXJmbG93ID0gdHJ1ZTsgcmV0dXJuIDA7IH0gd2hpbGUgKDApCiAjZGVm
aW5lIGZhaWxJZkZhbHNlKGNvbmQsIC4uLikgZG8geyBpZiAoIShjb25kKSkgeyBoYW5kbGVFcnJv
clRva2VuKCk7IGludGVybmFsRmFpbFdpdGhNZXNzYWdlKHRydWUsIF9fVkFfQVJHU19fKTsgfSB9
IHdoaWxlICgwKQogI2RlZmluZSBmYWlsSWZUcnVlKGNvbmQsIC4uLikgZG8geyBpZiAoKGNvbmQp
KSB7IGhhbmRsZUVycm9yVG9rZW4oKTsgaW50ZXJuYWxGYWlsV2l0aE1lc3NhZ2UodHJ1ZSwgX19W
QV9BUkdTX18pOyB9IH0gd2hpbGUgKDApCkBAIC02NSwxMyArNTksOSBAQAogI2RlZmluZSBzZW1h
bnRpY0ZhaWwoLi4uKSBkbyB7IGludGVybmFsRmFpbFdpdGhNZXNzYWdlKGZhbHNlLCBfX1ZBX0FS
R1NfXyk7IH0gd2hpbGUgKDApCiAjZGVmaW5lIHNlbWFudGljRmFpbElmVHJ1ZShjb25kLCAuLi4p
IGRvIHsgaWYgKChjb25kKSkgaW50ZXJuYWxGYWlsV2l0aE1lc3NhZ2UoZmFsc2UsIF9fVkFfQVJH
U19fKTsgfSB3aGlsZSAoMCkKICNkZWZpbmUgc2VtYW50aWNGYWlsSWZGYWxzZShjb25kLCAuLi4p
IGRvIHsgaWYgKCEoY29uZCkpIGludGVybmFsRmFpbFdpdGhNZXNzYWdlKGZhbHNlLCBfX1ZBX0FS
R1NfXyk7IH0gd2hpbGUgKDApCi0jZGVmaW5lIHJlZ2V4RmFpbChmYWlsdXJlKSBkbyB7IGlmICgh
aGFzRXJyb3IoKSkgc2V0RXJyb3JNZXNzYWdlKGZhaWx1cmUpOyByZXR1cm4gMDsgfSB3aGlsZSAo
MCkKKyNkZWZpbmUgcmVnZXhGYWlsKGZhaWx1cmUpIGRvIHsgc2V0RXJyb3JNZXNzYWdlKGZhaWx1
cmUpOyByZXR1cm4gMDsgfSB3aGlsZSAoMCkKICNkZWZpbmUgZmFpbER1ZVRvVW5leHBlY3RlZFRv
a2VuKCkgZG8ge1wKLSAgICBpZiAoIWhhc0Vycm9yKCkpIHtcCi0gICAgICAgIFN0cmluZ1ByaW50
U3RyZWFtIHN0cmVhbTtcCi0gICAgICAgIHByaW50VW5leHBlY3RlZFRva2VuVGV4dChzdHJlYW0p
OyBcCi0gICAgICAgIHNldEVycm9yTWVzc2FnZShzdHJlYW0udG9TdHJpbmcoKSk7XAotICAgIH1c
CisgICAgICAgIGxvZ0Vycm9yKHRydWUpO1wKICAgICByZXR1cm4gMDtcCiB9IHdoaWxlICgwKQog
CkBAIC05Myw2ICs4MywxMTUgQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIG5hbWVzcGFjZSBKU0Mg
ewogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordm9pZCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6bG9nRXJyb3IoYm9vbCkKK3sKKyAgICBpZiAoaGFzRXJyb3IoKSkKKyAgICAgICAgcmV0dXJu
OworICAgIFN0cmluZ1ByaW50U3RyZWFtIHN0cmVhbTsKKyAgICBwcmludFVuZXhwZWN0ZWRUb2tl
blRleHQoc3RyZWFtKTsKKyAgICBzdHJlYW0ucHJpbnQoIi4gIik7CisgICAgc2V0RXJyb3JNZXNz
YWdlKHN0cmVhbS50b1N0cmluZygpKTsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4gdGVtcGxhdGUgPHR5cGVuYW1lIEE+Cit2b2lkIFBhcnNlcjxMZXhlclR5cGU+Ojpsb2dFcnJv
cihib29sIHNob3VsZFByaW50VG9rZW4sIGNvbnN0IEEmIHZhbHVlMSkKK3sKKyAgICBpZiAoaGFz
RXJyb3IoKSkKKyAgICAgICAgcmV0dXJuOworICAgIFN0cmluZ1ByaW50U3RyZWFtIHN0cmVhbTsK
KyAgICBpZiAoc2hvdWxkUHJpbnRUb2tlbikgeworICAgICAgICBwcmludFVuZXhwZWN0ZWRUb2tl
blRleHQoc3RyZWFtKTsKKyAgICAgICAgc3RyZWFtLnByaW50KCIuICIpOworICAgIH0KKyAgICBz
dHJlYW0ucHJpbnQodmFsdWUxLCAiLiIpOworICAgIHNldEVycm9yTWVzc2FnZShzdHJlYW0udG9T
dHJpbmcoKSk7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+IHRlbXBsYXRlIDx0
eXBlbmFtZSBBLCB0eXBlbmFtZSBCPgordm9pZCBQYXJzZXI8TGV4ZXJUeXBlPjo6bG9nRXJyb3Io
Ym9vbCBzaG91bGRQcmludFRva2VuLCBjb25zdCBBJiB2YWx1ZTEsIGNvbnN0IEImIHZhbHVlMikK
K3sKKyAgICBpZiAoaGFzRXJyb3IoKSkKKyAgICAgICAgcmV0dXJuOworICAgIFN0cmluZ1ByaW50
U3RyZWFtIHN0cmVhbTsKKyAgICBpZiAoc2hvdWxkUHJpbnRUb2tlbikgeworICAgICAgICBwcmlu
dFVuZXhwZWN0ZWRUb2tlblRleHQoc3RyZWFtKTsKKyAgICAgICAgc3RyZWFtLnByaW50KCIuICIp
OworICAgIH0KKyAgICBzdHJlYW0ucHJpbnQodmFsdWUxLCB2YWx1ZTIsICIuIik7CisgICAgc2V0
RXJyb3JNZXNzYWdlKHN0cmVhbS50b1N0cmluZygpKTsKK30KKwordGVtcGxhdGUgPHR5cGVuYW1l
IExleGVyVHlwZT4gdGVtcGxhdGUgPHR5cGVuYW1lIEEsIHR5cGVuYW1lIEIsIHR5cGVuYW1lIEM+
Cit2b2lkIFBhcnNlcjxMZXhlclR5cGU+Ojpsb2dFcnJvcihib29sIHNob3VsZFByaW50VG9rZW4s
IGNvbnN0IEEmIHZhbHVlMSwgY29uc3QgQiYgdmFsdWUyLCBjb25zdCBDJiB2YWx1ZTMpCit7Cisg
ICAgaWYgKGhhc0Vycm9yKCkpCisgICAgICAgIHJldHVybjsKKyAgICBTdHJpbmdQcmludFN0cmVh
bSBzdHJlYW07CisgICAgaWYgKHNob3VsZFByaW50VG9rZW4pIHsKKyAgICAgICAgcHJpbnRVbmV4
cGVjdGVkVG9rZW5UZXh0KHN0cmVhbSk7CisgICAgICAgIHN0cmVhbS5wcmludCgiLiAiKTsKKyAg
ICB9CisgICAgc3RyZWFtLnByaW50KHZhbHVlMSwgdmFsdWUyLCB2YWx1ZTMsICIuIik7CisgICAg
c2V0RXJyb3JNZXNzYWdlKHN0cmVhbS50b1N0cmluZygpKTsKK30KKwordGVtcGxhdGUgPHR5cGVu
YW1lIExleGVyVHlwZT4gdGVtcGxhdGUgPHR5cGVuYW1lIEEsIHR5cGVuYW1lIEIsIHR5cGVuYW1l
IEMsIHR5cGVuYW1lIEQ+Cit2b2lkIFBhcnNlcjxMZXhlclR5cGU+Ojpsb2dFcnJvcihib29sIHNo
b3VsZFByaW50VG9rZW4sIGNvbnN0IEEmIHZhbHVlMSwgY29uc3QgQiYgdmFsdWUyLCBjb25zdCBD
JiB2YWx1ZTMsIGNvbnN0IEQmIHZhbHVlNCkKK3sKKyAgICBpZiAoaGFzRXJyb3IoKSkKKyAgICAg
ICAgcmV0dXJuOworICAgIFN0cmluZ1ByaW50U3RyZWFtIHN0cmVhbTsKKyAgICBpZiAoc2hvdWxk
UHJpbnRUb2tlbikgeworICAgICAgICBwcmludFVuZXhwZWN0ZWRUb2tlblRleHQoc3RyZWFtKTsK
KyAgICAgICAgc3RyZWFtLnByaW50KCIuICIpOworICAgIH0KKyAgICBzdHJlYW0ucHJpbnQodmFs
dWUxLCB2YWx1ZTIsIHZhbHVlMywgdmFsdWU0LCAiLiIpOworICAgIHNldEVycm9yTWVzc2FnZShz
dHJlYW0udG9TdHJpbmcoKSk7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+IHRl
bXBsYXRlIDx0eXBlbmFtZSBBLCB0eXBlbmFtZSBCLCB0eXBlbmFtZSBDLCB0eXBlbmFtZSBELCB0
eXBlbmFtZSBFPgordm9pZCBQYXJzZXI8TGV4ZXJUeXBlPjo6bG9nRXJyb3IoYm9vbCBzaG91bGRQ
cmludFRva2VuLCBjb25zdCBBJiB2YWx1ZTEsIGNvbnN0IEImIHZhbHVlMiwgY29uc3QgQyYgdmFs
dWUzLCBjb25zdCBEJiB2YWx1ZTQsIGNvbnN0IEUmIHZhbHVlNSkKK3sKKyAgICBpZiAoaGFzRXJy
b3IoKSkKKyAgICAgICAgcmV0dXJuOworICAgIFN0cmluZ1ByaW50U3RyZWFtIHN0cmVhbTsKKyAg
ICBpZiAoc2hvdWxkUHJpbnRUb2tlbikgeworICAgICAgICBwcmludFVuZXhwZWN0ZWRUb2tlblRl
eHQoc3RyZWFtKTsKKyAgICAgICAgc3RyZWFtLnByaW50KCIuICIpOworICAgIH0KKyAgICBzdHJl
YW0ucHJpbnQodmFsdWUxLCB2YWx1ZTIsIHZhbHVlMywgdmFsdWU0LCB2YWx1ZTUsICIuIik7Cisg
ICAgc2V0RXJyb3JNZXNzYWdlKHN0cmVhbS50b1N0cmluZygpKTsKK30KKwordGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4gdGVtcGxhdGUgPHR5cGVuYW1lIEEsIHR5cGVuYW1lIEIsIHR5cGVu
YW1lIEMsIHR5cGVuYW1lIEQsIHR5cGVuYW1lIEUsIHR5cGVuYW1lIEY+Cit2b2lkIFBhcnNlcjxM
ZXhlclR5cGU+Ojpsb2dFcnJvcihib29sIHNob3VsZFByaW50VG9rZW4sIGNvbnN0IEEmIHZhbHVl
MSwgY29uc3QgQiYgdmFsdWUyLCBjb25zdCBDJiB2YWx1ZTMsIGNvbnN0IEQmIHZhbHVlNCwgY29u
c3QgRSYgdmFsdWU1LCBjb25zdCBGJiB2YWx1ZTYpCit7CisgICAgaWYgKGhhc0Vycm9yKCkpCisg
ICAgICAgIHJldHVybjsKKyAgICBTdHJpbmdQcmludFN0cmVhbSBzdHJlYW07CisgICAgaWYgKHNo
b3VsZFByaW50VG9rZW4pIHsKKyAgICAgICAgcHJpbnRVbmV4cGVjdGVkVG9rZW5UZXh0KHN0cmVh
bSk7CisgICAgICAgIHN0cmVhbS5wcmludCgiLiAiKTsKKyAgICB9CisgICAgc3RyZWFtLnByaW50
KHZhbHVlMSwgdmFsdWUyLCB2YWx1ZTMsIHZhbHVlNCwgdmFsdWU1LCB2YWx1ZTYsICIuIik7Cisg
ICAgc2V0RXJyb3JNZXNzYWdlKHN0cmVhbS50b1N0cmluZygpKTsKK30KKwordGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4gdGVtcGxhdGUgPHR5cGVuYW1lIEEsIHR5cGVuYW1lIEIsIHR5cGVu
YW1lIEMsIHR5cGVuYW1lIEQsIHR5cGVuYW1lIEUsIHR5cGVuYW1lIEYsIHR5cGVuYW1lIEc+Cit2
b2lkIFBhcnNlcjxMZXhlclR5cGU+Ojpsb2dFcnJvcihib29sIHNob3VsZFByaW50VG9rZW4sIGNv
bnN0IEEmIHZhbHVlMSwgY29uc3QgQiYgdmFsdWUyLCBjb25zdCBDJiB2YWx1ZTMsIGNvbnN0IEQm
IHZhbHVlNCwgY29uc3QgRSYgdmFsdWU1LCBjb25zdCBGJiB2YWx1ZTYsIGNvbnN0IEcmIHZhbHVl
NykKK3sKKyAgICBpZiAoaGFzRXJyb3IoKSkKKyAgICAgICAgcmV0dXJuOworICAgIFN0cmluZ1By
aW50U3RyZWFtIHN0cmVhbTsKKyAgICBpZiAoc2hvdWxkUHJpbnRUb2tlbikgeworICAgICAgICBw
cmludFVuZXhwZWN0ZWRUb2tlblRleHQoc3RyZWFtKTsKKyAgICAgICAgc3RyZWFtLnByaW50KCIu
ICIpOworICAgIH0KKyAgICBzdHJlYW0ucHJpbnQodmFsdWUxLCB2YWx1ZTIsIHZhbHVlMywgdmFs
dWU0LCB2YWx1ZTUsIHZhbHVlNiwgdmFsdWU3LCAiLiIpOworICAgIHNldEVycm9yTWVzc2FnZShz
dHJlYW0udG9TdHJpbmcoKSk7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiBQ
YXJzZXI8TGV4ZXJUeXBlPjo6UGFyc2VyKFZNKiB2bSwgY29uc3QgU291cmNlQ29kZSYgc291cmNl
LCBGdW5jdGlvblBhcmFtZXRlcnMqIHBhcmFtZXRlcnMsIGNvbnN0IElkZW50aWZpZXImIG5hbWUs
IEpTUGFyc2VyU3RyaWN0bmVzcyBzdHJpY3RuZXNzLCBKU1BhcnNlck1vZGUgcGFyc2VyTW9kZSkK
ICAgICA6IG1fdm0odm0pCiAgICAgLCBtX3NvdXJjZSgmc291cmNlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggM2M0N2M1NDAzMmNkOTkzN2E3MTg2NzU3N2M0NWY5MGE5
NWI3NDJjOS4uMDBjNGRlODA1NGQ4Njk4MjQ2N2FjN2M0OWFhNjBjZjM4ODIxMjAyZCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC02MzQsNiArNjM0LDE1IEBAIHByaXZh
dGU6CiAgICAgICAgIG1fZXJyb3JNZXNzYWdlID0gbXNnOwogICAgIH0KICAgICAKKyAgICBORVZF
Ul9JTkxJTkUgdm9pZCBsb2dFcnJvcihib29sKTsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQT4g
TkVWRVJfSU5MSU5FIHZvaWQgbG9nRXJyb3IoYm9vbCwgY29uc3QgQSYpOworICAgIHRlbXBsYXRl
IDx0eXBlbmFtZSBBLCB0eXBlbmFtZSBCPiBORVZFUl9JTkxJTkUgdm9pZCBsb2dFcnJvcihib29s
LCBjb25zdCBBJiwgY29uc3QgQiYpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBBLCB0eXBlbmFt
ZSBCLCB0eXBlbmFtZSBDPiBORVZFUl9JTkxJTkUgdm9pZCBsb2dFcnJvcihib29sLCBjb25zdCBB
JiwgY29uc3QgQiYsIGNvbnN0IEMmKTsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQSwgdHlwZW5h
bWUgQiwgdHlwZW5hbWUgQywgdHlwZW5hbWUgRD4gTkVWRVJfSU5MSU5FIHZvaWQgbG9nRXJyb3Io
Ym9vbCwgY29uc3QgQSYsIGNvbnN0IEImLCBjb25zdCBDJiwgY29uc3QgRCYpOworICAgIHRlbXBs
YXRlIDx0eXBlbmFtZSBBLCB0eXBlbmFtZSBCLCB0eXBlbmFtZSBDLCB0eXBlbmFtZSBELCB0eXBl
bmFtZSBFPiBORVZFUl9JTkxJTkUgdm9pZCBsb2dFcnJvcihib29sLCBjb25zdCBBJiwgY29uc3Qg
QiYsIGNvbnN0IEMmLCBjb25zdCBEJiwgY29uc3QgRSYpOworICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBBLCB0eXBlbmFtZSBCLCB0eXBlbmFtZSBDLCB0eXBlbmFtZSBELCB0eXBlbmFtZSBFLCB0eXBl
bmFtZSBGPiBORVZFUl9JTkxJTkUgdm9pZCBsb2dFcnJvcihib29sLCBjb25zdCBBJiwgY29uc3Qg
QiYsIGNvbnN0IEMmLCBjb25zdCBEJiwgY29uc3QgRSYsIGNvbnN0IEYmKTsKKyAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgQSwgdHlwZW5hbWUgQiwgdHlwZW5hbWUgQywgdHlwZW5hbWUgRCwgdHlwZW5h
bWUgRSwgdHlwZW5hbWUgRiwgdHlwZW5hbWUgRz4gTkVWRVJfSU5MSU5FIHZvaWQgbG9nRXJyb3Io
Ym9vbCwgY29uc3QgQSYsIGNvbnN0IEImLCBjb25zdCBDJiwgY29uc3QgRCYsIGNvbnN0IEUmLCBj
b25zdCBGJiwgY29uc3QgRyYpOworICAgIAogICAgIE5FVkVSX0lOTElORSB2b2lkIHVwZGF0ZUVy
cm9yV2l0aE5hbWVBbmRNZXNzYWdlKGNvbnN0IGNoYXIqIGJlZm9yZU1zZywgU3RyaW5nIG5hbWUs
IGNvbnN0IGNoYXIqIGFmdGVyTXNnKQogICAgIHsKICAgICAgICAgbV9lcnJvck1lc3NhZ2UgPSBt
YWtlU3RyaW5nKGJlZm9yZU1zZywgIiAnIiwgbmFtZSwgIicgIiwgYWZ0ZXJNc2cpOwo=
</data>
<flag name="review"
          id="239871"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>