<?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>83583</bug_id>
          
          <creation_ts>2012-04-10 08:16:50 -0700</creation_ts>
          <short_desc>test-webkitpy fails on metered_stream_unittest for non-US West Coast Time Zones</short_desc>
          <delta_ts>2012-04-12 12:19:24 -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>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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>0</everconfirmed>
          <reporter name="Simon Pena">spena</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>ojan</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>599281</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Pena">spena</who>
    <bug_when>2012-04-10 08:16:50 -0700</bug_when>
    <thetext>When running test-webkitpy locally (GMT +1), it fails on
metered_stream_unittest. Setting the timezone to US West
Coast makes the test pass.

This behaviour is a regression, it was introduced in r112140:
&lt;http://trac.webkit.org/changeset/112140&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599403</commentid>
    <comment_count>1</comment_count>
      <attachid>136488</attachid>
    <who name="Simon Pena">spena</who>
    <bug_when>2012-04-10 10:45:14 -0700</bug_when>
    <thetext>Created attachment 136488
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599525</commentid>
    <comment_count>2</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-10 12:40:51 -0700</bug_when>
    <thetext>I can&apos;t believe I didn&apos;t think of this when I wrote these tests. Sorry!

Note that there are regions of the world whose tz offset isn&apos;t an integral number of hours (e.g., India is +0530). You might be better off adjusting the local timezone to something consistent (GMT, US/Pacific, whatever), and using that. See http://stackoverflow.com/questions/1301493/python-timezones for an example).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599528</commentid>
    <comment_count>3</comment_count>
      <attachid>136488</attachid>
    <who name="Simon Pena">spena</who>
    <bug_when>2012-04-10 12:42:11 -0700</bug_when>
    <thetext>Comment on attachment 136488
Patch

Let&apos;s remove it from the queue and check those exceptions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599580</commentid>
    <comment_count>4</comment_count>
      <attachid>136526</attachid>
    <who name="Simon Pena">spena</who>
    <bug_when>2012-04-10 13:36:17 -0700</bug_when>
    <thetext>Created attachment 136526
Patch

I&apos;m now setting a fixed TZ besides calculating the offset. If you feel the offset is redundant now and we could add some hardcoded value for a given time zone, I&apos;ll change it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599621</commentid>
    <comment_count>5</comment_count>
      <attachid>136526</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-10 14:10:12 -0700</bug_when>
    <thetext>Comment on attachment 136526
Patch

I would probably stop using self.timeoffset and just use a hard-coded value -- since it&apos;s just extra complexity now -- but it&apos;s up to you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599706</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Pena">spena</who>
    <bug_when>2012-04-10 15:22:54 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 136526 [details])
&gt; I would probably stop using self.timeoffset and just use a hard-coded value
&gt; -- since it&apos;s just extra complexity now -- but it&apos;s up to you.

Weird. I removed the timezone offset calculations and restored the previous
hardcoded values. After that, I realized that the tests seem to be ignoring
the environment variable. I tried to debug it with pdb.set_trace(), and although
I can confirm that os.environ[&apos;TZ&apos;] is the one I set, time.tzname still returns
my system&apos;s configuration.

I&apos;ll continue checking it tomorrow: if that doesn&apos;t work, we would still fail
in the cases you commented in comment #2.

Do you recall anything in this tests configuration (or in the test runner) that
could prevent time.tzset() from working?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599737</commentid>
    <comment_count>7</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-10 15:40:01 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Do you recall anything in this tests configuration (or in the test runner) that
&gt; could prevent time.tzset() from working?

Nope, we generally don&apos;t do anything with timezones. I can take a look at it if I get a chance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600235</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Pena">spena</who>
    <bug_when>2012-04-11 07:02:31 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; Do you recall anything in this tests configuration (or in the test runner) that
&gt; &gt; could prevent time.tzset() from working?
&gt; 
&gt; Nope, we generally don&apos;t do anything with timezones. I can take a look at
&gt; it if I get a chance.

I took a look at this, and found that
- if we update TZ envvar in test-webkitpy or the Tester, the unit test runs in
  the timezone we expect and works fine.
- if we update the TZ envvar in the unit test, time.tzset() ignores it, and stays
  in my system&apos;s timezone.

I checked what&apos;s going on with the environment, and it looks that in
webkitpy/layout_tests/port/webkit.py, we run the tests with a copy of the
environment (check _run_script method).

Am I getting it right? Is there a way to modify the environment for a given test
so time.tzset() gets it?

Updating the TZ envvar on the Tester or the test-webkitpy script is trivial,
but I&apos;m afraid it could be forgotten there and cause issues in other tests later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600251</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Pena">spena</who>
    <bug_when>2012-04-11 07:43:32 -0700</bug_when>
    <thetext>Just FTR, while this doesn&apos;t work:

 os.environ[&apos;TZ&apos;] = &apos;UTC+8&apos;
 time.tzset()

if you do this:

 os.putenv(&apos;TZ&apos;, &apos;UTC+8&apos;)

in the metered_stream_unittest, it works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600579</commentid>
    <comment_count>10</comment_count>
      <attachid>136747</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-11 14:04:52 -0700</bug_when>
    <thetext>Created attachment 136747
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600585</commentid>
    <comment_count>11</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-11 14:09:50 -0700</bug_when>
    <thetext>Sigh. Timezones bugs appear doomed to haunt me no matter what I do in my career ...

I think one problem with your patch is that the format for the TZ variable is wrong; possibly &quot;CMT&quot; is unrecognized. When I changed that to something like &quot;US/Eastern&quot; it worked fine.

However, there&apos;s a bigger problem, which is that this whole approach won&apos;t work on Windows, which doesn&apos;t have tzset() and won&apos;t look at a TZ environment variable.

This leaves us with either trying to calculate what the tz offset is, as you did in your first patch, or to ignore the fields. The problem with calculating the tzoffset is that although you may know what the tz offset is *now*, it&apos;s difficult if not impossible to know what rule is in effect for a given time != now (in this case, 1/1/1970).

So, while we could make this patch various levels of &quot;sort of correct&quot;, making it 100% bulletproof would be really hard.

I&apos;ve uploaded a patch that just ignores the actual values for HH:MM in the timestamps; I expect that that should be good enough to catch gross mistakes, and we&apos;ll catch bugs like transposing HH and MM by just seeing the logs, should that ever come up, and this seems good enough to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600948</commentid>
    <comment_count>12</comment_count>
      <attachid>136747</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-04-12 00:23:44 -0700</bug_when>
    <thetext>Comment on attachment 136747
Patch

Alright, looks good. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601016</commentid>
    <comment_count>13</comment_count>
    <who name="Simon Pena">spena</who>
    <bug_when>2012-04-12 01:55:41 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Sigh. Timezones bugs appear doomed to haunt me no matter what I do in my career ...
&gt; 
&gt; I think one problem with your patch is that the format for the TZ variable is wrong; possibly &quot;CMT&quot; is unrecognized. When I changed that to something like &quot;US/Eastern&quot; it worked fine.
&gt; 

Weird: I used the same format with os.environ and os.putenv, and one worked, the other one didn&apos;t. (Besides, when doing it from the interpreter, the format was also accepted).

&gt; However, there&apos;s a bigger problem, which is that this whole approach won&apos;t work on Windows, which doesn&apos;t have tzset() and won&apos;t look at a TZ environment variable.

I agree with you, I haven&apos;t though about this before.

&gt; This leaves us with either trying to calculate what the tz offset is, as you did in your first patch, or to ignore the fields. The problem with calculating the tzoffset is that although you may know what the tz offset is *now*, it&apos;s difficult if not impossible to know what rule is in effect for a given time != now (in this case, 1/1/1970).
&gt; 
&gt; So, while we could make this patch various levels of &quot;sort of correct&quot;, making it 100% bulletproof would be really hard.
&gt; 
&gt; I&apos;ve uploaded a patch that just ignores the actual values for HH:MM in the timestamps; I expect that that should be good enough to catch gross mistakes, and we&apos;ll catch bugs like transposing HH and MM by just seeing the logs, should that ever come up, and this seems good enough to me.

I totally agree with you, and I think the patch you wrote is good enough for what we need. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601432</commentid>
    <comment_count>14</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-12 12:19:24 -0700</bug_when>
    <thetext>Committed r114014: &lt;http://trac.webkit.org/changeset/114014&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136488</attachid>
            <date>2012-04-10 10:45:14 -0700</date>
            <delta_ts>2012-04-10 13:36:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83583-20120410194512.patch</filename>
            <type>text/plain</type>
            <size>3109</size>
            <attacher name="Simon Pena">spena</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNzA1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjAwZDdkOGEzMDU4ZGExOWQ3ZGZmNDY3MmIxZTFkYjll
OGUxNDgxMy4uYTU5ODg4NGQwZjM2YzFiNmUzZGIzZmZiMmNhOTBmNzg5MGI5MDY5YSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIw
IEBACisyMDEyLTA0LTEwICBTaW1vbiBQZW5hICA8c3BlbmFAaWdhbGlhLmNvbT4KKworICAgICAg
ICB0ZXN0LXdlYmtpdHB5IGZhaWxzIG9uIG1ldGVyZWRfc3RyZWFtX3VuaXR0ZXN0IGZvciBub24t
VVMgV2VzdCBDb2FzdCBUaW1lIFpvbmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04MzU4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFVwZGF0ZWQgdGhlIHVuaXQgdGVzdCwgc28gdGhlIGV4cGVjdGVkIHJl
c3VsdHMgdGFrZSBpbnRvIGFjY291bnQgdGhlCisgICAgICAgIHRpbWUgem9uZSB3aGVyZSB0aGV5
IGFyZSBydW4sIGFuZCBkb24ndCBmYWlsIG91dHNpZGUgdGhlIFVTIFdlc3QKKyAgICAgICAgQ29h
c3QuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy92aWV3cy9tZXRl
cmVkX3N0cmVhbV91bml0dGVzdC5weToKKyAgICAgICAgKFJlZ3VsYXJUZXN0LnNldFVwKToKKyAg
ICAgICAgKFZlcmJvc2VUZXN0KToKKyAgICAgICAgKFZlcmJvc2VUZXN0LnRlc3RfYmFzaWMpOgor
ICAgICAgICAoVmVyYm9zZVRlc3QudGVzdF9sb2dfYWZ0ZXJfdXBkYXRlKToKKwogMjAxMi0wNC0x
MCAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XVtX
SzJdIFRlc3ROZXRzY2FwZVBsdWdpbiBpcyBicm9rZW4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3ZpZXdzL21ldGVyZWRfc3RyZWFtX3VuaXR0ZXN0LnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdmlld3MvbWV0ZXJlZF9zdHJl
YW1fdW5pdHRlc3QucHkKaW5kZXggNTU2ZTc4NzJkODM3MTEyYWUzN2NiMWUzMWE5NGNhZWRlZDYy
MDAwNS4uYjY4ZjkxOTc5NWQ0YmZjOTg5ZTlhYTljNzhiZjg5ODhhNWM3MjE3NCAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdmlld3MvbWV0ZXJlZF9zdHJl
YW1fdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
dmlld3MvbWV0ZXJlZF9zdHJlYW1fdW5pdHRlc3QucHkKQEAgLTQwLDEwICs0MCwxNCBAQCBjbGFz
cyBSZWd1bGFyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgaXNhdHR5ID0gRmFsc2UKIAog
ICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgZnJvbSB0aW1lIGltcG9ydCB0aW1lem9uZQog
ICAgICAgICBzZWxmLnN0cmVhbSA9IFN0cmluZ0lPLlN0cmluZ0lPKCkKICAgICAgICAgc2VsZi5i
dWZsaXN0ID0gc2VsZi5zdHJlYW0uYnVmbGlzdAogICAgICAgICBzZWxmLnN0cmVhbS5pc2F0dHkg
PSBsYW1iZGE6IHNlbGYuaXNhdHR5CiAKKyAgICAgICAgIyBrZWVwIHRoZSB0aW1lIG9mZnNldCBm
cm9tIFVUQywgc2luY2UgdGhlIHRlc3RzIGFyZSB1c2luZyB0aW1lKDApCisgICAgICAgIHNlbGYu
dGltZW9mZnNldCA9ICgtdGltZXpvbmUgLyAzNjAwKSAlIDI0CisKICAgICAgICAgIyBjb25maWd1
cmUgYSBsb2dnZXIgdG8gdGVzdCB0aGF0IGxvZyBjYWxscyBkbyBub3JtYWxseSBnZXQgaW5jbHVk
ZWQuCiAgICAgICAgIHNlbGYubG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAg
ICAgICAgIHNlbGYubG9nZ2VyLnNldExldmVsKGxvZ2dpbmcuREVCVUcpCkBAIC0xMjksMTMgKzEz
MywyMCBAQCBjbGFzcyBWZXJib3NlVGVzdChSZWd1bGFyVGVzdCk6CiAgICAgaXNhdHR5ID0gRmFs
c2UKICAgICB2ZXJib3NlID0gVHJ1ZQogCisKICAgICBkZWYgdGVzdF9iYXNpYyhzZWxmKToKICAg
ICAgICAgYnVmbGlzdCA9IHNlbGYuX2Jhc2ljKFswLCAxLCAyLjEsIDEzLCAxNC4xMjM0XSkKLSAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoYnVmbGlzdCwgWycxNjowMDowMC4wMDAgODY3NSBmb29c
bicsICcxNjowMDowMS4wMDAgODY3NSBiYXJcbicsICcxNjowMDoxMy4wMDAgODY3NSBiYXogMlxu
JywgJzE2OjAwOjE0LjEyMyA4Njc1IGRvbmVcbiddKQorICAgICAgICByZXN1bHRsaXN0ID0gWycl
MDJkOjAwOjAwLjAwMCA4Njc1IGZvb1xuJywgJyUwMmQ6MDA6MDEuMDAwIDg2NzUgYmFyXG4nLCAn
JTAyZDowMDoxMy4wMDAgODY3NSBiYXogMlxuJywgJyUwMmQ6MDA6MTQuMTIzIDg2NzUgZG9uZVxu
J10KKyAgICAgICAgZm9yIGluZGV4IGluIHJhbmdlKGxlbihyZXN1bHRsaXN0KSk6CisgICAgICAg
ICAgICAjIFVwZGF0ZSBleHBlY3RlZCByZXN1bHRzIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudCB0
aW1lIHpvbmUKKyAgICAgICAgICAgIHJlc3VsdGxpc3RbaW5kZXhdID0gcmVzdWx0bGlzdFtpbmRl
eF0gJSBzZWxmLnRpbWVvZmZzZXQKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoYnVmbGlzdCwg
cmVzdWx0bGlzdCkKIAogICAgIGRlZiB0ZXN0X2xvZ19hZnRlcl91cGRhdGUoc2VsZik6CiAgICAg
ICAgIGJ1Zmxpc3QgPSBzZWxmLl9sb2dfYWZ0ZXJfdXBkYXRlKCkKLSAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbHMoYnVmbGlzdFswXSwgJzE2OjAwOjAwLjAwMCA4Njc1IGZvb1xuJykKKyAgICAgICAg
IyBVcGRhdGUgZXhwZWN0ZWQgcmVzdWx0cyBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQgdGltZSB6
b25lCisgICAgICAgIHJlc3VsdCA9ICclMDJkOjAwOjAwLjAwMCA4Njc1IGZvb1xuJyAlIHNlbGYu
dGltZW9mZnNldAorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhidWZsaXN0WzBdLCByZXN1bHQp
CiAKICAgICAgICAgIyBUaGUgc2Vjb25kIGFyZ3VtZW50IHNob3VsZCBoYXZlIGEgcmVhbCB0aW1l
c3RhbXAgYW5kIHBpZCwgc28gd2UganVzdCBjaGVjayB0aGUgZm9ybWF0LgogICAgICAgICBzZWxm
LmFzc2VydEVxdWFscyhsZW4oYnVmbGlzdCksIDIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136526</attachid>
            <date>2012-04-10 13:36:17 -0700</date>
            <delta_ts>2012-04-11 14:04:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83583-20120410223615.patch</filename>
            <type>text/plain</type>
            <size>3792</size>
            <attacher name="Simon Pena">spena</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNzA1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjAwZDdkOGEzMDU4ZGExOWQ3ZGZmNDY3MmIxZTFkYjll
OGUxNDgxMy4uZTk4M2Y1ZTdmYTAxM2M0ODJkYTZlMDYwMzY1NjE5ZDMzNWEyY2I5YSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA0LTEwICBTaW1vbiBQZW5hICA8c3BlbmFAaWdhbGlhLmNvbT4KKworICAgICAg
ICB0ZXN0LXdlYmtpdHB5IGZhaWxzIG9uIG1ldGVyZWRfc3RyZWFtX3VuaXR0ZXN0IGZvciBub24t
VVMgV2VzdCBDb2FzdCBUaW1lIFpvbmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04MzU4MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFVwZGF0ZWQgdGhlIHVuaXQgdGVzdCwgc28gdGhlIGV4cGVjdGVkIHJl
c3VsdHMgdGFrZSBpbnRvIGFjY291bnQgdGhlCisgICAgICAgIHRpbWUgem9uZSB3aGVyZSB0aGV5
IGFyZSBydW4sIGFuZCBkb24ndCBmYWlsIG91dHNpZGUgdGhlIFVTIFdlc3QKKyAgICAgICAgQ29h
c3QuIFNldCBhIGZpeGVkIHRpbWUgem9uZSwgdG8gYXZvaWQgaXNzdWVzIHdpdGggcmVnaW9ucyBv
ZiB0aGUKKyAgICAgICAgd29ybGQgd2hvc2UgdHogb2Zmc2V0IGlzbid0IGFuIGludGVncmFsIG51
bWJlciBvZiBob3Vycy4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3ZpZXdzL21ldGVyZWRfc3RyZWFtX3VuaXR0ZXN0LnB5OgorICAgICAgICAoUmVndWxhclRlc3Qu
c2V0VXApOgorICAgICAgICAoVmVyYm9zZVRlc3QpOgorICAgICAgICAoVmVyYm9zZVRlc3QudGVz
dF9iYXNpYyk6CisgICAgICAgIChWZXJib3NlVGVzdC50ZXN0X2xvZ19hZnRlcl91cGRhdGUpOgor
CiAyMDEyLTA0LTEwICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBbUXRdW1dLMl0gVGVzdE5ldHNjYXBlUGx1Z2luIGlzIGJyb2tlbgpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdmlld3MvbWV0ZXJlZF9zdHJlYW1f
dW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy92aWV3cy9t
ZXRlcmVkX3N0cmVhbV91bml0dGVzdC5weQppbmRleCA1NTZlNzg3MmQ4MzcxMTJhZTM3Y2IxZTMx
YTk0Y2FlZGVkNjIwMDA1Li43M2ZjY2IxMTY4MWE5NzcwYzdhNDVmOGI4MmVmNDdlNGY2MTZiNmU0
IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy92aWV3cy9t
ZXRlcmVkX3N0cmVhbV91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy92aWV3cy9tZXRlcmVkX3N0cmVhbV91bml0dGVzdC5weQpAQCAtMzEsNiArMzEs
OCBAQCBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IHJlCiBpbXBvcnQgU3RyaW5nSU8KIGltcG9ydCB1
bml0dGVzdAoraW1wb3J0IHRpbWUKK2ltcG9ydCBvcwogCiBmcm9tIHdlYmtpdHB5LmxheW91dF90
ZXN0cy52aWV3cy5tZXRlcmVkX3N0cmVhbSBpbXBvcnQgTWV0ZXJlZFN0cmVhbQogCkBAIC00NCw2
ICs0NiwxMiBAQCBjbGFzcyBSZWd1bGFyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAg
IHNlbGYuYnVmbGlzdCA9IHNlbGYuc3RyZWFtLmJ1Zmxpc3QKICAgICAgICAgc2VsZi5zdHJlYW0u
aXNhdHR5ID0gbGFtYmRhOiBzZWxmLmlzYXR0eQogCisgICAgICAgICMga2VlcCB0aGUgdGltZSBv
ZmZzZXQgZnJvbSBVVEMsIHNpbmNlIHRoZSB0ZXN0cyBhcmUgdXNpbmcgdGltZSgwKQorICAgICAg
ICBzZWxmLl90eiA9IG9zLmVudmlyb24uZ2V0KCdUWicpCisgICAgICAgIG9zLmVudmlyb25bJ1Ra
J10gPSAnQ01UJworICAgICAgICB0aW1lLnR6c2V0KCkKKyAgICAgICAgc2VsZi50aW1lb2Zmc2V0
ID0gKC10aW1lLnRpbWV6b25lIC8gMzYwMCkgJSAyNAorCiAgICAgICAgICMgY29uZmlndXJlIGEg
bG9nZ2VyIHRvIHRlc3QgdGhhdCBsb2cgY2FsbHMgZG8gbm9ybWFsbHkgZ2V0IGluY2x1ZGVkLgog
ICAgICAgICBzZWxmLmxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogICAgICAg
ICBzZWxmLmxvZ2dlci5zZXRMZXZlbChsb2dnaW5nLkRFQlVHKQpAQCAtNTUsNiArNjMsMTEgQEAg
Y2xhc3MgUmVndWxhclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLm1ldGVy
ID0gTWV0ZXJlZFN0cmVhbShzZWxmLnN0cmVhbSwgc2VsZi52ZXJib3NlLCBzZWxmLmxvZ2dlciwg
c2VsZi50aW1lX2ZuLCA4Njc1KQogCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICBp
ZiBzZWxmLl90ejoKKyAgICAgICAgICAgIG9zLmVudmlyb25bJ1RaJ10gPSBzZWxmLl90egorICAg
ICAgICBlbHNlOgorICAgICAgICAgICAgZGVsIG9zLmVudmlyb25bJ1RaJ10KKyAgICAgICAgdGlt
ZS50enNldCgpCiAgICAgICAgIGlmIHNlbGYubWV0ZXI6CiAgICAgICAgICAgICBzZWxmLm1ldGVy
LmNsZWFudXAoKQogICAgICAgICAgICAgc2VsZi5tZXRlciA9IE5vbmUKQEAgLTEyOSwxMyArMTQy
LDIwIEBAIGNsYXNzIFZlcmJvc2VUZXN0KFJlZ3VsYXJUZXN0KToKICAgICBpc2F0dHkgPSBGYWxz
ZQogICAgIHZlcmJvc2UgPSBUcnVlCiAKKwogICAgIGRlZiB0ZXN0X2Jhc2ljKHNlbGYpOgogICAg
ICAgICBidWZsaXN0ID0gc2VsZi5fYmFzaWMoWzAsIDEsIDIuMSwgMTMsIDE0LjEyMzRdKQotICAg
ICAgICBzZWxmLmFzc2VydEVxdWFscyhidWZsaXN0LCBbJzE2OjAwOjAwLjAwMCA4Njc1IGZvb1xu
JywgJzE2OjAwOjAxLjAwMCA4Njc1IGJhclxuJywgJzE2OjAwOjEzLjAwMCA4Njc1IGJheiAyXG4n
LCAnMTY6MDA6MTQuMTIzIDg2NzUgZG9uZVxuJ10pCisgICAgICAgIHJlc3VsdGxpc3QgPSBbJyUw
MmQ6MDA6MDAuMDAwIDg2NzUgZm9vXG4nLCAnJTAyZDowMDowMS4wMDAgODY3NSBiYXJcbicsICcl
MDJkOjAwOjEzLjAwMCA4Njc1IGJheiAyXG4nLCAnJTAyZDowMDoxNC4xMjMgODY3NSBkb25lXG4n
XQorICAgICAgICBmb3IgaW5kZXggaW4gcmFuZ2UobGVuKHJlc3VsdGxpc3QpKToKKyAgICAgICAg
ICAgICMgVXBkYXRlIGV4cGVjdGVkIHJlc3VsdHMgZGVwZW5kaW5nIG9uIHRoZSBjdXJyZW50IHRp
bWUgem9uZQorICAgICAgICAgICAgcmVzdWx0bGlzdFtpbmRleF0gPSByZXN1bHRsaXN0W2luZGV4
XSAlIHNlbGYudGltZW9mZnNldAorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhidWZsaXN0LCBy
ZXN1bHRsaXN0KQogCiAgICAgZGVmIHRlc3RfbG9nX2FmdGVyX3VwZGF0ZShzZWxmKToKICAgICAg
ICAgYnVmbGlzdCA9IHNlbGYuX2xvZ19hZnRlcl91cGRhdGUoKQotICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFscyhidWZsaXN0WzBdLCAnMTY6MDA6MDAuMDAwIDg2NzUgZm9vXG4nKQorICAgICAgICAj
IFVwZGF0ZSBleHBlY3RlZCByZXN1bHRzIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudCB0aW1lIHpv
bmUKKyAgICAgICAgcmVzdWx0ID0gJyUwMmQ6MDA6MDAuMDAwIDg2NzUgZm9vXG4nICUgc2VsZi50
aW1lb2Zmc2V0CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGJ1Zmxpc3RbMF0sIHJlc3VsdCkK
IAogICAgICAgICAjIFRoZSBzZWNvbmQgYXJndW1lbnQgc2hvdWxkIGhhdmUgYSByZWFsIHRpbWVz
dGFtcCBhbmQgcGlkLCBzbyB3ZSBqdXN0IGNoZWNrIHRoZSBmb3JtYXQuCiAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWxzKGxlbihidWZsaXN0KSwgMikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136747</attachid>
            <date>2012-04-11 14:04:52 -0700</date>
            <delta_ts>2012-04-12 00:23:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83583-20120411140450.patch</filename>
            <type>text/plain</type>
            <size>3052</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzODEzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTZhZjVkYmJiZWQ2MTM4NWU2NWMyZTgzMDg5ZTAwOTAw
NzE4MGQwYi4uNmNiMzdhMjViMWI4MWVlZDRmODgyZDJhMGZiYjQxMjY0NzIxMDkwNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDEyLTA0LTExICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIHRlc3Qtd2Via2l0cHkgZmFpbHMgb24gbWV0ZXJlZF9zdHJlYW1fdW5pdHRlc3QgZm9y
IG5vbi1VUyBXZXN0IENvYXN0IFRpbWUgWm9uZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNTgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkKKworICAgICAgICBVcGRhdGVkIHRoZSB1bml0IHRlc3QgdG8gaWdub3JlIHRoZSBo
b3VycyBhbmQgbWludXRlcyBvZiB0aGUKKyAgICAgICAgbG9jYWx0aW1lIGZvciB0aW1lKDApLCBz
aW5jZSB3ZSBjYW4ndCBlYXNpbHkgZ3VhcmFudGVlIHdoaWNoCisgICAgICAgIHRpbWV6b25lIHdl
J3JlIGluIG9yIHdoYXQgdGltZXpvbmUgcnVsZXMgd2VyZSBpbiBlZmZlY3Qgb24KKyAgICAgICAg
MS8xLzE5NzA7IHRoaXMgc2hvdWxkIGJlIG1vc3RseSBmaW5lIHNpbmNlIHdlIGNhbiB0cnVzdCB0
aGF0CisgICAgICAgIHRpbWUubG9jYWx0aW1lKCkgd2lsbCB3b3JrLCBhbHRob3VnaCB0aGVyZSBp
cyB0aGUgcG9zc2liaWxpdHkKKyAgICAgICAgdGhhdCB3ZSdsbCBzY3JldyB1cCB0aGUgdGltZSBm
b3JtYXR0aW5nIG9mIHdoaWNoIGZpZWxkIGlzIHRoZQorICAgICAgICBob3VycyBhbmQgd2hpY2gg
aXMgdGhlIG1pbnV0ZXMuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy92aWV3cy9tZXRlcmVkX3N0cmVhbV91bml0dGVzdC5weToKKyAgICAgICAgKFZlcmJvc2VUZXN0
KToKKyAgICAgICAgKFZlcmJvc2VUZXN0LnRlc3RfYmFzaWMpOgorICAgICAgICAoVmVyYm9zZVRl
c3QudGVzdF9sb2dfYWZ0ZXJfdXBkYXRlKToKKwogMjAxMi0wNC0xMSAgU2hlcmlmZiBCb3QgIDx3
ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjExMzgzNi4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3ZpZXdzL21ldGVyZWRfc3RyZWFtX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvdmlld3MvbWV0ZXJlZF9zdHJlYW1fdW5pdHRlc3QucHkKaW5k
ZXggNTU2ZTc4NzJkODM3MTEyYWUzN2NiMWUzMWE5NGNhZWRlZDYyMDAwNS4uYjM4OGVjNjA4NDgz
MjQzOTJjZWRhMzEwOTZhMjE5NjEyOTIwMWZmMyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvdmlld3MvbWV0ZXJlZF9zdHJlYW1fdW5pdHRlc3QucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdmlld3MvbWV0ZXJlZF9zdHJl
YW1fdW5pdHRlc3QucHkKQEAgLTEzMSwxNiArMTMxLDIzIEBAIGNsYXNzIFZlcmJvc2VUZXN0KFJl
Z3VsYXJUZXN0KToKIAogICAgIGRlZiB0ZXN0X2Jhc2ljKHNlbGYpOgogICAgICAgICBidWZsaXN0
ID0gc2VsZi5fYmFzaWMoWzAsIDEsIDIuMSwgMTMsIDE0LjEyMzRdKQotICAgICAgICBzZWxmLmFz
c2VydEVxdWFscyhidWZsaXN0LCBbJzE2OjAwOjAwLjAwMCA4Njc1IGZvb1xuJywgJzE2OjAwOjAx
LjAwMCA4Njc1IGJhclxuJywgJzE2OjAwOjEzLjAwMCA4Njc1IGJheiAyXG4nLCAnMTY6MDA6MTQu
MTIzIDg2NzUgZG9uZVxuJ10pCisgICAgICAgICMgV2UgZG9uJ3QgYm90aGVyIHRvIG1hdGNoIHRo
ZSBob3VycyBhbmQgbWludXRlcyBvZiB0aGUgdGltZXN0YW1wIHNpbmNlCisgICAgICAgICMgdGhl
IGxvY2FsIHRpbWV6b25lIGNhbiB2YXJ5IGFuZCB3ZSBjYW4ndCBzZXQgdGhhdCBwb3J0YWJseSBh
bmQgZWFzaWx5LgorICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2goJ1xkXGQ6XGRcZDow
MC4wMDAgODY3NSBmb29cbicsIGJ1Zmxpc3RbMF0pKQorICAgICAgICBzZWxmLmFzc2VydFRydWUo
cmUubWF0Y2goJ1xkXGQ6XGRcZDowMS4wMDAgODY3NSBiYXJcbicsIGJ1Zmxpc3RbMV0pKQorICAg
ICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2goJ1xkXGQ6XGRcZDoxMy4wMDAgODY3NSBiYXog
MlxuJywgYnVmbGlzdFsyXSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaCgnXGRc
ZDpcZFxkOjE0LjEyMyA4Njc1IGRvbmVcbicsIGJ1Zmxpc3RbM10pKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFscyhsZW4oYnVmbGlzdCksIDQpCiAKICAgICBkZWYgdGVzdF9sb2dfYWZ0ZXJfdXBk
YXRlKHNlbGYpOgogICAgICAgICBidWZsaXN0ID0gc2VsZi5fbG9nX2FmdGVyX3VwZGF0ZSgpCi0g
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGJ1Zmxpc3RbMF0sICcxNjowMDowMC4wMDAgODY3NSBm
b29cbicpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaCgnXGRcZDpcZFxkOjAwLjAw
MCA4Njc1IGZvb1xuJywgYnVmbGlzdFswXSkpCiAKICAgICAgICAgIyBUaGUgc2Vjb25kIGFyZ3Vt
ZW50IHNob3VsZCBoYXZlIGEgcmVhbCB0aW1lc3RhbXAgYW5kIHBpZCwgc28gd2UganVzdCBjaGVj
ayB0aGUgZm9ybWF0LgotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhsZW4oYnVmbGlzdCksIDIp
CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaCgnXGRcZDpcZFxkOlxkXGQuXGRcZFxk
IFxkKyBiYXJcbicsIGJ1Zmxpc3RbMV0pKQogCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGxl
bihidWZsaXN0KSwgMikKKwogICAgIGRlZiB0ZXN0X2xvZ19hcmdzKHNlbGYpOgogICAgICAgICBz
ZWxmLmxvZ2dlci5pbmZvKCdmb28gJXMgJWQnLCAnYmFyJywgMikKICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbHMobGVuKHNlbGYuYnVmbGlzdCksIDEpCg==
</data>
<flag name="review"
          id="141643"
          type_id="1"
          status="+"
          setter="pnormand"
    />
          </attachment>
      

    </bug>

</bugzilla>