<?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>189070</bug_id>
          
          <creation_ts>2018-08-28 17:03:45 -0700</creation_ts>
          <short_desc>lldb-webkit: KeyError thrown for OptionSet with invalid value</short_desc>
          <delta_ts>2018-08-31 09:45:48 -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>Tools / Tests</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>darin</cc>
    
    <cc>lforschler</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1454630</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-08-28 17:03:45 -0700</bug_when>
    <thetext>An OptionSet variable can be in scope and uninitialized as a variable is not initialized until execution has flowed over its assignment. We need to take care to handle this case and not try to compute the set of enumerators in an uninitialized OptionSet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454638</commentid>
    <comment_count>1</comment_count>
      <attachid>348363</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-08-28 17:17:32 -0700</bug_when>
    <thetext>Created attachment 348363
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454640</commentid>
    <comment_count>2</comment_count>
      <attachid>348363</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-08-28 17:22:24 -0700</bug_when>
    <thetext>Comment on attachment 348363
Patch

This is wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454947</commentid>
    <comment_count>3</comment_count>
      <attachid>348436</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-08-29 15:12:02 -0700</bug_when>
    <thetext>Created attachment 348436
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454951</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-08-29 15:20:28 -0700</bug_when>
    <thetext>Committed r235482: &lt;https://trac.webkit.org/changeset/235482&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1454952</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-29 15:21:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/43860433&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455086</commentid>
    <comment_count>6</comment_count>
      <attachid>348436</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-08-29 18:13:33 -0700</bug_when>
    <thetext>Comment on attachment 348436
Patch

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

&gt; Tools/lldb/lldb_webkit.py:627
&gt; +            return  # self.valobj is uninitialized memory

This comment and the bug title is too specific and potentially incorrect.

This code path can occur any time the OptionSet has an invalid value.

An uninitialized variable is one case when something might have an invalid value, but of course something uninitialized might also have a valid value. But there are many others such as a variable that has been overwritten by a buffer overrun, a variable been overwritten by something writing through a stale pointer, trying to display a value after a local variable memory region is reused for another purpose because we are past the point of use of the local variable in the code, a value from following a pointer to an object that has already been deleted, and many more.

On the other hand, I suspect the *behavior* of the code you wrote is probably good; it writes out something that lets you see the value of the memory and makes it clear that the OptionSet has an invalid value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455248</commentid>
    <comment_count>7</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-08-30 09:40:51 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; Comment on attachment 348436 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=348436&amp;action=review
&gt; 
&gt; &gt; Tools/lldb/lldb_webkit.py:627
&gt; &gt; +            return  # self.valobj is uninitialized memory
&gt; 
&gt; This comment and the bug title is too specific and potentially incorrect.
&gt; 
&gt; This code path can occur any time the OptionSet has an invalid value.
&gt; 
&gt; An uninitialized variable is one case when something might have an invalid
&gt; value, but of course something uninitialized might also have a valid value.
&gt; But there are many others such as a variable that has been overwritten by a
&gt; buffer overrun, a variable been overwritten by something writing through a
&gt; stale pointer, trying to display a value after a local variable memory
&gt; region is reused for another purpose because we are past the point of use of
&gt; the local variable in the code, a value from following a pointer to an
&gt; object that has already been deleted, and many more.

You&apos;re right!

We could either remove the comment or I could update the comment to explain that self.valobj has an invalid value,  maybe:

# self.valobj has an invalid value.

What do you suggest?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455499</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-08-30 18:25:44 -0700</bug_when>
    <thetext>Either removing the comment or updating it is fine with me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455500</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-08-30 18:26:34 -0700</bug_when>
    <thetext>An even more useful comment would make it clear why just returning early is the right thing to do for an invalid value.

    # Since this is an invalid value, return so the raw hex form is written out.

Or a comment that is correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1455719</commentid>
    <comment_count>10</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-08-31 09:45:48 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #9)
&gt; An even more useful comment would make it clear why just returning early is
&gt; the right thing to do for an invalid value.
&gt; 
&gt;     # Since this is an invalid value, return so the raw hex form is written
&gt; out.
&gt; 
&gt; Or a comment that is correct.

Updated comment as well as the change log entry for r235482 to reflect the updated title for this bug and better describe the purpose of the change. Committed this in &lt;https://trac.webkit.org/changeset/235555&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348363</attachid>
            <date>2018-08-28 17:17:32 -0700</date>
            <delta_ts>2018-08-29 15:12:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189070-20180828171731.patch</filename>
            <type>text/plain</type>
            <size>2739</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1MzgxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjYyYmE4YjdjNTI4ZDg3ZmZiOWU3MGY5ZDJlZWRjZGY2
ZWU3ZGU5My4uZDVmZDhjZGUzOGNmYWY3YjlkMmE1NTE1ODFlYjU5N2NiMDI5ZTM2OSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIy
IEBACisyMDE4LTA4LTI4ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAg
ICAgICBsbGRiLXdlYmtpdDogS2V5RXJyb3IgdGhyb3duIGZvciB1bmluaXRpYWxpemVkIE9wdGlv
blNldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5
MDcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRG8g
bm90IGNvbXB1dGUgd2hhdCBlbnVtZXJhdG9ycyBhcmUgaW4gYW4gdW5pbml0aWFsaXplZCBPcHRp
b25TZXQuIEEgbG9jYWwgT3B0aW9uU2V0IHZhcmlhYmxlCisgICAgICAgIGlzIG9ubHkgY29uc2lk
ZXJlZCBpbml0aWFsaXplZCB3aGVuIGV4ZWN1dGlvbiBwYXNzZXMgb3ZlciBpdHMgYXNzaWdubWVu
dCByZWdhcmRsZXNzIG9mIHdoZXRoZXIKKyAgICAgICAgdGhlIHZhcmlhYmxlIGlzIGluIHNjb3Bl
LgorCisgICAgICAgIFRoZSBMTERCIFB5dGhvbiBBUEkgZG9lcyBub3QgcHJvdmlkZSBhIHdheSB0
byBkZXRlcm1pbmUgd2hldGhlciBhbiB2YXJpYWJsZSBpcyBpbml0aWFsaXplZC4KKyAgICAgICAg
U28sIHdlIHVzZSBhIHNpbXBsZSBoZXVyaXN0aWM6IHdoZW4gdGhlIHZhbHVlIG9mIHRoZSBPcHRp
b25TZXQgaXMgZ3JlYXRlciB0aGFuIHRoYW4gdGhlIHZhbHVlCisgICAgICAgIG9mIHRoZSBsYXJn
ZXN0IGVudW1lcmF0b3IgdGhlbiB3ZSBjb25zaWRlciB0aGUgT3B0aW9uU2V0IHRvIGJlIGdhcmJh
Z2UgKHVuaW5pdGlhbGl6ZWQgbWVtb3J5KS4KKyAgICAgICAgV2hlbiB0aGUgdmFyaWFibGUgaXMg
ZmluYWxseSBpbml0aWFsaXplZCBMTERCIHdpbGwgbm90aWZ5IHVzIHRvIHVwZGF0ZSBvdXIgc3Rh
dGUuCisKKyAgICAgICAgKiBsbGRiL2xsZGJfd2Via2l0LnB5OgorICAgICAgICAoV1RGT3B0aW9u
U2V0UHJvdmlkZXIudXBkYXRlKToKKwogMjAxOC0wOC0yOCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRl
c0BhcHBsZS5jb20+CiAKICAgICAgICAgbGxkYi13ZWJraXQ6IEtleUVycm9yIHRocm93biBmb3Ig
T3B0aW9uU2V0CmRpZmYgLS1naXQgYS9Ub29scy9sbGRiL2xsZGJfd2Via2l0LnB5IGIvVG9vbHMv
bGxkYi9sbGRiX3dlYmtpdC5weQppbmRleCA0NGQ3N2JiNWE3NmI5MzBjNWRkYzc4NmJjODlmNTdh
YWRmMGYwZDA2Li5hYzZiYjMyZTlkZTlmZTEyMTEyMDBmMjFmZmVjZTI5OThiMDFlY2YzIDEwMDY0
NAotLS0gYS9Ub29scy9sbGRiL2xsZGJfd2Via2l0LnB5CisrKyBiL1Rvb2xzL2xsZGIvbGxkYl93
ZWJraXQucHkKQEAgLTYxMiwxNiArNjEyLDIyIEBAIGNsYXNzIFdURk9wdGlvblNldFByb3ZpZGVy
OgogICAgICAgICByZXR1cm4gTm9uZQogCiAgICAgZGVmIHVwZGF0ZShzZWxmKToKLSAgICAgICAg
c2VsZi5zdG9yYWdlID0gc2VsZi52YWxvYmouR2V0Q2hpbGRNZW1iZXJXaXRoTmFtZSgnbV9zdG9y
YWdlJykKKyAgICAgICAgc2VsZi5zdG9yYWdlID0gc2VsZi52YWxvYmouR2V0Q2hpbGRNZW1iZXJX
aXRoTmFtZSgnbV9zdG9yYWdlJykgICMgTWF5IGJlIHVuaW5pdGlhbGl6ZWQgbWVtb3J5CisgICAg
ICAgIHNlbGYuX2VsZW1lbnRzID0gW10KKyAgICAgICAgc2VsZi5zaXplID0gMAogCiAgICAgICAg
IHRlbXBsYXRlX2FyZ3VtZW50X3NiVHlwZSA9IHNlbGYudmFsb2JqLkdldFR5cGUoKS5HZXRUZW1w
bGF0ZUFyZ3VtZW50VHlwZSgwKQogICAgICAgICBlbnVtZXJhdG9yX3ZhbHVlX3RvX25hbWVfbWFw
ID0ge3NiVHlwZUVudW1NZW1iZXIuR2V0VmFsdWVBc1Vuc2lnbmVkKCk6IHNiVHlwZUVudW1NZW1i
ZXIuR2V0TmFtZSgpIGZvciBzYlR5cGVFbnVtTWVtYmVyIGluIHRlbXBsYXRlX2FyZ3VtZW50X3Ni
VHlwZS5nZXRfZW51bV9tZW1iZXJzX2FycmF5KCl9CiAgICAgICAgIGlmIG5vdCBlbnVtZXJhdG9y
X3ZhbHVlX3RvX25hbWVfbWFwOgogICAgICAgICAgICAgcmV0dXJuCiAKKyAgICAgICAgYml0bWFz
ayA9IHNlbGYuc3RvcmFnZS5HZXRWYWx1ZUFzVW5zaWduZWQoMCkKKyAgICAgICAgaWYgYml0bWFz
ayA+IG1heChlbnVtZXJhdG9yX3ZhbHVlX3RvX25hbWVfbWFwKToKKyAgICAgICAgICAgIHJldHVy
biAgIyBzZWxmLnZhbG9iaiBpcyB1bmluaXRpYWxpemVkIG1lbW9yeQorCisgICAgICAgICMgc2Vs
Zi52YWxvYmogbG9va3MgbGlrZSBpdCBjb250YWlucyBhIHZhbGlkIHZhbHVlLgogICAgICAgICAj
IEl0ZXJhdGUgZnJvbSBsZWFzdCBzaWduaWZpY2FudCBiaXQgdG8gbW9zdCBzaWduaWZpY2FudCBi
aXQuCiAgICAgICAgIGVsZW1lbnRzID0gW10KLSAgICAgICAgYml0bWFzayA9IHNlbGYuc3RvcmFn
ZS5HZXRWYWx1ZUFzVW5zaWduZWQoMCkKICAgICAgICAgd2hpbGUgYml0bWFzayA+IDA6CiAgICAg
ICAgICAgICBjdXJyZW50ID0gYml0bWFzayAmIC1iaXRtYXNrICAjIElzb2xhdGUgdGhlIHJpZ2h0
bW9zdCBzZXQgYml0LgogICAgICAgICAgICAgZWxlbWVudHMuYXBwZW5kKChlbnVtZXJhdG9yX3Zh
bHVlX3RvX25hbWVfbWFwW2N1cnJlbnRdLCBjdXJyZW50KSkgICMgZS5nLiAoJ1NwZWxsaW5nJywg
NCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>348436</attachid>
            <date>2018-08-29 15:12:02 -0700</date>
            <delta_ts>2018-08-29 15:13:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189070-20180829151201.patch</filename>
            <type>text/plain</type>
            <size>2855</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1NDgxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODU2N2FhNGJlNmM2ZmIxNjU3MThiNzlkNGE1NzY2MDkw
OWY3MWU2Zi4uMDU0YTlhOTY5NThjZTkwZWI2Mjc2MTU0Nzg0OGM1MmY5N2ZkMTY2OSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDE4LTA4LTI5ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAg
ICAgICBsbGRiLXdlYmtpdDogS2V5RXJyb3IgdGhyb3duIGZvciB1bmluaXRpYWxpemVkIE9wdGlv
blNldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5
MDcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRG8g
bm90IGNvbXB1dGUgd2hhdCBlbnVtZXJhdG9ycyBhcmUgaW4gYW4gdW5pbml0aWFsaXplZCBPcHRp
b25TZXQuIEEgbG9jYWwgT3B0aW9uU2V0IHZhcmlhYmxlCisgICAgICAgIGlzIG9ubHkgY29uc2lk
ZXJlZCBpbml0aWFsaXplZCB3aGVuIGV4ZWN1dGlvbiBwYXNzZXMgb3ZlciBpdHMgYXNzaWdubWVu
dCByZWdhcmRsZXNzIG9mIHdoZXRoZXIKKyAgICAgICAgdGhlIHZhcmlhYmxlIGlzIGluIHNjb3Bl
LgorCisgICAgICAgIFRoZSBMTERCIFB5dGhvbiBBUEkgZG9lcyBub3QgcHJvdmlkZSBhIHdheSB0
byBkZXRlcm1pbmUgd2hldGhlciBhbiB2YXJpYWJsZSBpcyBpbml0aWFsaXplZC4KKyAgICAgICAg
U28sIHdlIHVzZSBhIHNpbXBsZSBoZXVyaXN0aWM6IHdoZW4gdGhlIHZhbHVlIG9mIHRoZSBPcHRp
b25TZXQgaXMgZ3JlYXRlciB0aGFuIHRoZSB2YWx1ZQorICAgICAgICBvZiB0aGUgYml0bWFzayB3
aXRoIGFsbCBlbnVtZXJhdG9ycyBzZXQgdGhlbiB3ZSBjb25zaWRlciB0aGUgT3B0aW9uU2V0IHRv
IGJlIGdhcmJhZ2UgKGkuZS4KKyAgICAgICAgdW5pbml0aWFsaXplZCBtZW1vcnkpLiBXaGVuIHRo
ZSB2YXJpYWJsZSBpcyBmaW5hbGx5IGluaXRpYWxpemVkIExMREIgd2lsbCBub3RpZnkgdXMgdG8g
dXBkYXRlCisgICAgICAgIG91ciBzdGF0ZS4KKworICAgICAgICAqIGxsZGIvbGxkYl93ZWJraXQu
cHk6CisgICAgICAgIChXVEZPcHRpb25TZXRQcm92aWRlci51cGRhdGUpOgorCiAyMDE4LTA4LTI5
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgW1BTT05dIFdlIHNo
b3VsZCBvbmx5IHByb2Nlc3Mtc3dhcCB3aGVuIGVUTEQrMSBjaGFuZ2VzIG9uIG5hdmlnYXRpb24K
ZGlmZiAtLWdpdCBhL1Rvb2xzL2xsZGIvbGxkYl93ZWJraXQucHkgYi9Ub29scy9sbGRiL2xsZGJf
d2Via2l0LnB5CmluZGV4IDQ0ZDc3YmI1YTc2YjkzMGM1ZGRjNzg2YmM4OWY1N2FhZGYwZjBkMDYu
LmY0ZTFlMmI5Y2E4YTExMDg2OGJhMmE2MWJiMzc2Y2ZlY2VkYjE2OGIgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL2xsZGIvbGxkYl93ZWJraXQucHkKKysrIGIvVG9vbHMvbGxkYi9sbGRiX3dlYmtpdC5weQpA
QCAtNjEyLDE2ICs2MTIsMjMgQEAgY2xhc3MgV1RGT3B0aW9uU2V0UHJvdmlkZXI6CiAgICAgICAg
IHJldHVybiBOb25lCiAKICAgICBkZWYgdXBkYXRlKHNlbGYpOgotICAgICAgICBzZWxmLnN0b3Jh
Z2UgPSBzZWxmLnZhbG9iai5HZXRDaGlsZE1lbWJlcldpdGhOYW1lKCdtX3N0b3JhZ2UnKQorICAg
ICAgICBzZWxmLnN0b3JhZ2UgPSBzZWxmLnZhbG9iai5HZXRDaGlsZE1lbWJlcldpdGhOYW1lKCdt
X3N0b3JhZ2UnKSAgIyBNYXkgYmUgdW5pbml0aWFsaXplZCBtZW1vcnkKKyAgICAgICAgc2VsZi5f
ZWxlbWVudHMgPSBbXQorICAgICAgICBzZWxmLnNpemUgPSAwCiAKICAgICAgICAgdGVtcGxhdGVf
YXJndW1lbnRfc2JUeXBlID0gc2VsZi52YWxvYmouR2V0VHlwZSgpLkdldFRlbXBsYXRlQXJndW1l
bnRUeXBlKDApCiAgICAgICAgIGVudW1lcmF0b3JfdmFsdWVfdG9fbmFtZV9tYXAgPSB7c2JUeXBl
RW51bU1lbWJlci5HZXRWYWx1ZUFzVW5zaWduZWQoKTogc2JUeXBlRW51bU1lbWJlci5HZXROYW1l
KCkgZm9yIHNiVHlwZUVudW1NZW1iZXIgaW4gdGVtcGxhdGVfYXJndW1lbnRfc2JUeXBlLmdldF9l
bnVtX21lbWJlcnNfYXJyYXkoKX0KICAgICAgICAgaWYgbm90IGVudW1lcmF0b3JfdmFsdWVfdG9f
bmFtZV9tYXA6CiAgICAgICAgICAgICByZXR1cm4KIAorICAgICAgICBiaXRtYXNrX3dpdGhfYWxs
X29wdGlvbnNfc2V0ID0gc3VtKGVudW1lcmF0b3JfdmFsdWVfdG9fbmFtZV9tYXApCisgICAgICAg
IGJpdG1hc2sgPSBzZWxmLnN0b3JhZ2UuR2V0VmFsdWVBc1Vuc2lnbmVkKDApCisgICAgICAgIGlm
IGJpdG1hc2sgPiBiaXRtYXNrX3dpdGhfYWxsX29wdGlvbnNfc2V0OgorICAgICAgICAgICAgcmV0
dXJuICAjIHNlbGYudmFsb2JqIGlzIHVuaW5pdGlhbGl6ZWQgbWVtb3J5CisKKyAgICAgICAgIyBz
ZWxmLnZhbG9iaiBsb29rcyBsaWtlIGl0IGNvbnRhaW5zIGEgdmFsaWQgdmFsdWUuCiAgICAgICAg
ICMgSXRlcmF0ZSBmcm9tIGxlYXN0IHNpZ25pZmljYW50IGJpdCB0byBtb3N0IHNpZ25pZmljYW50
IGJpdC4KICAgICAgICAgZWxlbWVudHMgPSBbXQotICAgICAgICBiaXRtYXNrID0gc2VsZi5zdG9y
YWdlLkdldFZhbHVlQXNVbnNpZ25lZCgwKQogICAgICAgICB3aGlsZSBiaXRtYXNrID4gMDoKICAg
ICAgICAgICAgIGN1cnJlbnQgPSBiaXRtYXNrICYgLWJpdG1hc2sgICMgSXNvbGF0ZSB0aGUgcmln
aHRtb3N0IHNldCBiaXQuCiAgICAgICAgICAgICBlbGVtZW50cy5hcHBlbmQoKGVudW1lcmF0b3Jf
dmFsdWVfdG9fbmFtZV9tYXBbY3VycmVudF0sIGN1cnJlbnQpKSAgIyBlLmcuICgnU3BlbGxpbmcn
LCA0KQo=
</data>
<flag name="review"
          id="366084"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>