<?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>42102</bug_id>
          
          <creation_ts>2010-07-12 12:58:36 -0700</creation_ts>
          <short_desc>Moving BOM stripping from JSC specific code to V8+JSC shared code caused V8 crashes</short_desc>
          <delta_ts>2010-07-13 18:19:21 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.1616.net/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>42224</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tony Gentilcore">tonyg</reporter>
          <assigned_to name="Tony Gentilcore">tonyg</assigned_to>
          <cc>abarth</cc>
    
    <cc>ager</cc>
    
    <cc>commit-queue</cc>
    
    <cc>loki</cc>
    
    <cc>oliver</cc>
    
    <cc>zherczeg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>249979</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-07-12 12:58:36 -0700</bug_when>
    <thetext>It appears that https://bugs.webkit.org/show_bug.cgi?id=41539 moved BOM stripping from JSC specific code to CachedScript which is shared by V8 &amp; JSC.

This caused crashes in V8: http://code.google.com/p/chromium/issues/detail?id=48475

I&apos;m looking into a fix now. Oliver, please let me know if you have any suggestions or insight.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250080</commentid>
    <comment_count>1</comment_count>
      <attachid>61275</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-07-12 14:59:17 -0700</bug_when>
    <thetext>Created attachment 61275
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250096</commentid>
    <comment_count>2</comment_count>
      <attachid>61275</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-07-12 15:26:27 -0700</bug_when>
    <thetext>Comment on attachment 61275
Patch

How is v8 getting the text without boms removed?  this patch basically makes it so that decoded script data has the BOMs removed.  If V8 is getting scripts from webcore without decoding occuring then v8 is breaking itself.

That said the guard should be USE(JSC) not &quot;WTF_USE_JSC&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250124</commentid>
    <comment_count>3</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-07-12 16:17:45 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 61275 [details])
&gt; How is v8 getting the text without boms removed?

Ah yes, that is the key question. It gets it via bindings/v8/ScriptSourceCode.h. That seems to be the equivalent of JSC&apos;s StringSourceProvider to which you added the copyStringWithoutBOMs() call to the ctor. So an alternative and cleaner fix is to add the same code to that ctor that you added to StringSourceProvider&apos;s.

&gt;  this patch basically makes it so that decoded script data has the BOMs removed.  If V8 is getting scripts from webcore without decoding occuring then v8 is breaking itself.

Here&apos;s where I&apos;m not understanding something. Hopefully you can fill me in. V8 skips over BOMs, treating them as whitespace. This method copies the string, stripping the BOMs. But it doesn&apos;t appear to actually be doing anything with the BOM. So why pay the expense of the string copy to strip instead of just skipping them as whitespace during parsing.

&gt; 
&gt; That said the guard should be USE(JSC) not &quot;WTF_USE_JSC&quot;

Noted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250130</commentid>
    <comment_count>4</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-07-12 16:23:42 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 61275 [details] [details])
&gt; &gt; How is v8 getting the text without boms removed?
&gt; 
&gt; Ah yes, that is the key question. It gets it via bindings/v8/ScriptSourceCode.h. That seems to be the equivalent of JSC&apos;s StringSourceProvider to which you added the copyStringWithoutBOMs() call to the ctor. So an alternative and cleaner fix is to add the same code to that ctor that you added to StringSourceProvider&apos;s.
&gt; 
&gt; &gt;  this patch basically makes it so that decoded script data has the BOMs removed.  If V8 is getting scripts from webcore without decoding occuring then v8 is breaking itself.
&gt; 
&gt; Here&apos;s where I&apos;m not understanding something. Hopefully you can fill me in. V8 skips over BOMs, treating them as whitespace. This method copies the string, stripping the BOMs. But it doesn&apos;t appear to actually be doing anything with the BOM. So why pay the expense of the string copy to strip instead of just skipping them as whitespace during parsing.

We have found historically that there is a substantial cost to allowing BOMs to be scattered throughout the source -- the lexer needs to do a lot more work for any symbol that is more than a single character long.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250140</commentid>
    <comment_count>5</comment_count>
      <attachid>61289</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-07-12 16:41:08 -0700</bug_when>
    <thetext>Created attachment 61289
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250144</commentid>
    <comment_count>6</comment_count>
      <attachid>61289</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-07-12 16:43:29 -0700</bug_when>
    <thetext>Comment on attachment 61289
Patch

As long as the V8 lexer handles boms itself this is unlikely to be a win, you should test impact after removing bom handling from the v8 lexer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250166</commentid>
    <comment_count>7</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2010-07-12 17:10:55 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 61289 [details])
&gt; As long as the V8 lexer handles boms itself this is unlikely to be a win, you should test impact after removing bom handling from the v8 lexer.

@ager, I&apos;m landing this as a correctness fix. WebKit now guarantees not to pass BOMs to V8, so do you know if it is possible to remove the BOM check from scanner.cc? If so, this might actually be a win for V8. If not, we probably want to look into a clean way to avoid this extra copy for V8 without a #if guard in CachedScript.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250257</commentid>
    <comment_count>8</comment_count>
      <attachid>61289</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-12 19:57:59 -0700</bug_when>
    <thetext>Comment on attachment 61289
Patch

Clearing flags on attachment: 61289

Committed r63162: &lt;http://trac.webkit.org/changeset/63162&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250258</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-12 19:58:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250395</commentid>
    <comment_count>10</comment_count>
    <who name="Mads Ager">ager</who>
    <bug_when>2010-07-13 02:13:39 -0700</bug_when>
    <thetext>The BOM handling in the V8 scanner doesn&apos;t cost. I have removed it and I see no performance impact.

Also, I don&apos;t think the BOM handling should be removed from the scanner. I see a couple of issues:

1. Stripping BOM chars outside of the scanner means that all BOM chars are stripped no matter where they occur. This is not done in any of the other browsers. In particular BOM chars are not stripped from string literals. BOM chars are only treated as whitespace between tokens. This has been treated as a security issue in Firefox: 

http://www.mozilla.org/security/announce/2008/mfsa2008-43.html
https://bugzilla.mozilla.org/show_bug.cgi?id=430740

V8 is following the other engines here.

2. There is no handling of BOM chars in strings generated in JavaScript code and passed to eval if the handling is removed from the scanner. Therefore the handling of BOM in script blocks and in strings generated in JS is different.

3. The stripping currently done in WebKit only handles 0xFEFF. The other engines handle 0xFFFE as well.

For the above reasons i don&apos;t think BOM chars should be stripped early like this. It should be handled by the scanner and only between tokens. Oliver, what do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250425</commentid>
    <comment_count>11</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2010-07-13 03:40:28 -0700</bug_when>
    <thetext>(In reply to comment #10)
Wow, this is interesting. I have tried moz regression test:

https://bug430740.bugzilla.mozilla.org/attachment.cgi?id=318439

and it was passed. After a little thinking, I changed the \ufffe to \ufeff, and got the following output:

861480
STATUS: Do not strip format-control characters from string literals
evildone
FAILED!: [reported from test()] Do not strip format-control characters from string literals
FAILED!: [reported from test()] Expected value &apos;a%EF%BF%BE,+doevil()%5D)//&apos;, Actual value &apos;a&apos;,%20evildone&apos;
FAILED!: [reported from test()]

Evil things happen here.

The Unicode spec says (in chapter 2.13):

To have an efficient way to indicate which byte order is used in a text, the Unicode Standard contains two code points, U+FEFF zero width no-break space (byte order mark) and U+FFFE (a noncharacter), which are the byte-ordered mirror images of each other. When a BOM is received with the opposite byte order, it will be recognized as a noncharacter and can therefore be used to detect the intended byte order of the text. The BOM is not a control character that selects the byte order of the text; rather, its function is to allow recipients to determine which byte ordering is used in a file.

&quot;zero width no-break space&quot; : I cannot find the definition of &quot;no-break space&quot;, but it implies it is NOT a regular white space. AB\ufeffCD is simply an ABCD identifier, or 12\ufeff34 is number 1234. Looks like neither V8 nor SS do the right thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250683</commentid>
    <comment_count>12</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-07-13 12:53:42 -0700</bug_when>
    <thetext>It looks like there&apos;s a change in behaviour from ES3 to ES5 -- ES3 requires BOMs to be stripped, ES5 says we should treat BOMs as whitespace.  I&apos;m just harassing brendan to find out what the correct behaviour is meant to be.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61275</attachid>
            <date>2010-07-12 14:59:17 -0700</date>
            <delta_ts>2010-07-12 16:41:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42102-20100712145915.patch</filename>
            <type>text/plain</type>
            <size>2153</size>
            <attacher name="Tony Gentilcore">tonyg</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YjQ2OGQwMjI0NTdhZTZhM2U2M2ZmNzE1OTI0ZGYxYzU0MDQxNmNkNS4uZTg2MTQ4MDQwZGI4Yjdi
NzAzZGRjMzhkYzlmNWQ2M2U4ODU2ZTQ1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0wNy0xMiAgVG9u
eSBHZW50aWxjb3JlICA8dG9ueWdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERvIG5vdCBjb3B5IHN0cmluZyB3aXRob3V0IEJP
TXMgZm9yIFY4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00MjEwMgorCisgICAgICAgIFRoaXMgaXMgYSBjaGVlc3kgdGVtcG9yYXJ5IHNvbHV0aW9uIHVu
dGlsIHdlIHN0cmFpZ2h0ZW4gdGhpcyBvdXQuIEkKKyAgICAgICAgcGxhbiB0byBjcmVhdGUgYSB0
ZXN0IGNhc2UgdG8gcmVwcm9kdWNlIHRoaXMgYW5kIGZpeCBpdCBpbiB0aGUgcmlnaHQKKyAgICAg
ICAgd2F5LiBCdXQgSSdkIGxpa2UgdG8gZ2V0IHNvbWV0aGluZyBpbiBwbGFjZSBmb3Igbm93IHNp
bmNlIHRoaXMgaXMgYQorICAgICAgICBzaWduaWZpY2FudCBidWcuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzIGJlY2F1c2UgdGhvc2Ugd2lsbCBiZSBhZGRlZCB3aXRoIHJlYWwgZml4LgorCisgICAg
ICAgICogbG9hZGVyL0NhY2hlZFNjcmlwdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRT
Y3JpcHQ6OnNjcmlwdCk6CisKIDIwMTAtMDctMTIgIEFuZHJlYXMgS2xpbmcgIDxhbmRyZWFzLmts
aW5nQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvbG9hZGVyL0NhY2hlZFNjcmlwdC5jcHAgYi9XZWJDb3JlL2xvYWRlci9D
YWNoZWRTY3JpcHQuY3BwCmluZGV4IGUzZDYxOGFhN2NiMWY1YTgzOTNjMjYwNmM3OTE4M2NkOGU5
YjNlY2EuLjZjNTJhYWZkZWIyMzVlYTM3YTMwNDNjZWRkYmVlZWRjM2M1YTFkZDcgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvbG9hZGVyL0NhY2hlZFNjcmlwdC5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIv
Q2FjaGVkU2NyaXB0LmNwcApAQCAtNzMsMTEgKzczLDE4IEBAIGNvbnN0IFN0cmluZyYgQ2FjaGVk
U2NyaXB0OjpzY3JpcHQoKQogICAgIGlmICghbV9zY3JpcHQgJiYgbV9kYXRhKSB7CiAgICAgICAg
IG1fc2NyaXB0ID0gbV9kZWNvZGVyLT5kZWNvZGUobV9kYXRhLT5kYXRhKCksIGVuY29kZWRTaXpl
KCkpOwogICAgICAgICBtX3NjcmlwdCArPSBtX2RlY29kZXItPmZsdXNoKCk7CisvLyBGSVhNRTog
QXMgb2YgcjYyNDQ5LCBKU0MgZXhwZWN0cyBCT01zIHRvIGJlIHN0cmlwcGVkIGZyb20gdGhlIHNj
cmlwdCBzb3VyY2UuCisvLyBIb3dldmVyLCBWOCBzdGlsbCB0cmVhdHMgQk9NcyBhcyB3aGl0ZXNw
YWNlLCBzbyBjb3B5U3RyaW5nV2l0aG91dEJPTXMgaXMgbm90CisvLyBvbmx5IHVubmVjZXNzYXJ5
LCBidXQgY2hhbmdpbmcgbV9zY3JpcHQgYXQgdGhpcyBwb2ludCBicmVha3MgY2FjaGluZyBvZiBW
OCdzCisvLyBwcmUtcGFyc2VkIHNjcmlwdCBkYXRhLiBKU0MvVjggc3BlY2lmaWMgZ3VhcmRzIGRv
IG5vdCBiZWxvbmcgaW4gV2ViQ29yZSwKKy8vIHNvIHRoaXMgaXMgYSB0ZW1wb3JhcnkgZml4IHVu
dGlsIHRoZSBhcmNoaXRlY3R1cmUgaXMgc3RyYWlnaHRlbmVkIG91dC4KKyNpZiBXVEZfVVNFX0pT
QwogICAgICAgICBpZiAobV9zY3JpcHRIYXNCT01zICE9IFNvdXJjZUhhc05vQk9NcyAmJiBtX3Nj
cmlwdC5sZW5ndGgoKSkgewogICAgICAgICAgICAgYm9vbCBoYXNCT01zID0gZmFsc2U7CiAgICAg
ICAgICAgICBtX3NjcmlwdCA9IFN0cmluZyhtX3NjcmlwdC5pbXBsKCktPmNvcHlTdHJpbmdXaXRo
b3V0Qk9NcyhtX3NjcmlwdEhhc0JPTXMgPT0gU291cmNlSGFzQk9NcywgaGFzQk9NcykpOwogICAg
ICAgICAgICAgbV9zY3JpcHRIYXNCT01zID0gaGFzQk9NcyA/IFNvdXJjZUhhc0JPTXMgOiBTb3Vy
Y2VIYXNOb0JPTXM7CiAgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBzZXREZWNvZGVkU2l6ZSht
X3NjcmlwdC5sZW5ndGgoKSAqIHNpemVvZihVQ2hhcikpOwogICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61289</attachid>
            <date>2010-07-12 16:41:08 -0700</date>
            <delta_ts>2010-07-12 19:57:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42102-20100712164107.patch</filename>
            <type>text/plain</type>
            <size>1743</size>
            <attacher name="Tony Gentilcore">tonyg</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YjQ2OGQwMjI0NTdhZTZhM2U2M2ZmNzE1OTI0ZGYxYzU0MDQxNmNkNS4uZmIxY2MzZjM0MjYwMDg3
ODE1ZDRhMWI2NzM5MjMwZTE2ZWJjMGY2NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wNy0xMiAgVG9u
eSBHZW50aWxjb3JlICA8dG9ueWdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0cmlwIEJPTXMgZnJvbSBzb3VyY2UgYmVmb3Jl
IHBhc3NpbmcgdG8gVjgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQyMTAyCisKKyAgICAgICAgVGhpcyBleHRyYSBjb3B5IG1heSBjYXJyeSBhIHBlcmZv
cm1hbmNlIHBlbmFsdHkuIFdlIHNob3VsZCBpbnZlc3RpZ2F0ZQorICAgICAgICB3aGV0aGVyIHRo
aXMgYWxsb3dzIGFueSBzaW1wbGlmaWNhdGlvbiBpbiB2OC9zY2FubmVyLmNjOlNraXBKYXZhU2Ny
aXB0V2hpdGVTcGFjZSgpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIG5vIG5ldyBm
dW5jdGlvbmFsaXR5LgorCisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0U291cmNlQ29kZS5o
OgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0U291cmNlQ29kZTo6U2NyaXB0U291cmNlQ29kZSk6
CisKIDIwMTAtMDctMTIgIEFuZHJlYXMgS2xpbmcgIDxhbmRyZWFzLmtsaW5nQG5va2lhLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2NyaXB0U291cmNlQ29kZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3Jp
cHRTb3VyY2VDb2RlLmgKaW5kZXggZGJjOWQ1ZTZmYzYwMDdmY2ZkZDY2MDI0ZGIwNzgyNmM2NjI2
M2I1Yi4uNDg1ZGFlYTVmMTk3NGMyNzRlNjY3YjFmNWM5MTk5NWQyMDE1ZWI3YSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTb3VyY2VDb2RlLmgKKysrIGIvV2ViQ29yZS9i
aW5kaW5ncy92OC9TY3JpcHRTb3VyY2VDb2RlLmgKQEAgLTQ2LDYgKzQ2LDE0IEBAIHB1YmxpYzoK
ICAgICAgICAgLCBtX3VybCh1cmwpCiAgICAgICAgICwgbV9zdGFydExpbmUoc3RhcnRMaW5lKQog
ICAgIHsKKyAgICAgICAgLy8gRklYTUU6IENvcHlpbmcgdGhlIHNvdXJjZSB0byBzdHJpcCBCT01z
IGlzbid0IHN0cmljdGx5IG5lY2Vzc2FyeQorICAgICAgICAvLyBiZWNhdXNlIFY4IHRyZWF0cyBC
T01zIGFzIHdoaXRlc3BhY2UuIEhvd2V2ZXIsIGl0IGlzIGhlcmUgYmVjYXVzZSBpdAorICAgICAg
ICAvLyBtdXN0IGJlIGluIHN5bmMgd2l0aCBDYWNoZWRTY3JpcHQ6OnNjcmlwdCgpIHdoaWNoIHN0
cmlwcyB0aGUgQk9Ncy4gV2UKKyAgICAgICAgLy8gc2hvdWxkIGludmVzdGlnYXRlIHRoZSBwZXJm
b3JtYW5jZSBpbXBsaWNhdGlvbnMuCisgICAgICAgIGlmIChtX3NvdXJjZS5sZW5ndGgoKSkgeyAK
KyAgICAgICAgICAgIGJvb2wgc2NyYXRjaCA9IGZhbHNlOyAKKyAgICAgICAgICAgIG1fc291cmNl
ID0gU3RyaW5nKHNvdXJjZS5pbXBsKCktPmNvcHlTdHJpbmdXaXRob3V0Qk9NcyhmYWxzZSwgc2Ny
YXRjaCkpOyAKKyAgICAgICAgfSAKICAgICB9CiAKICAgICAvLyBXZSBsb3NlIHRoZSBlbmNvZGlu
ZyBpbmZvcm1hdGlvbiBmcm9tIENhY2hlZFNjcmlwdC4K
</data>

          </attachment>
      

    </bug>

</bugzilla>