<?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>107184</bug_id>
          
          <creation_ts>2013-01-17 14:57:43 -0800</creation_ts>
          <short_desc>HTTP 500 error between QueueStatusServer and bot(s)</short_desc>
          <delta_ts>2013-01-30 21:19:42 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Alan Cutter">alancutter</reporter>
          <assigned_to name="Alan Cutter">alancutter</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>pdr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>809836</commentid>
    <comment_count>0</comment_count>
    <who name="Alan Cutter">alancutter</who>
    <bug_when>2013-01-17 14:57:43 -0800</bug_when>
    <thetext>The feeder queue is frequently blocked for over 8 minutes at a time.

feeder-queue logs:

&gt; Feeding commit-queue items [182076, 183087]
&gt; Feeding EWS (551 r? patches, 14 new)
&gt; Submitting attachment 124896 to EWS queues
&gt; Submitting attachment 183107 to EWS queues
&gt; Submitting attachment 179684 to EWS queues
&gt; Submitting attachment 183109 to EWS queues
&gt; Submitting attachment 158695 to EWS queues
&gt; Submitting attachment 120296 to EWS queues
&gt; Submitting attachment 182256 to EWS queues
&gt; Submitting attachment 157608 to EWS queues
&gt; Submitting attachment 179699 to EWS queues
&gt; Submitting attachment 177748 to EWS queues
&gt; Submitting attachment 158718 to EWS queues
&gt; Submitting attachment 167385 to EWS queues
&gt; Received HTTP status 500 loading &quot;None&quot;.  Retrying in 10 seconds...
&gt; Received HTTP status 500 loading &quot;None&quot;.  Retrying in 15.0 seconds...
&gt; Received HTTP status 500 loading &quot;None&quot;.  Retrying in 22.5 seconds...
&gt; Received HTTP status 500 loading &quot;None&quot;.  Retrying in 33.75 seconds...
&gt; Received HTTP status 500 loading &quot;None&quot;.  Retrying in 50.625 seconds...
&gt; Received HTTP status 500 loading &quot;None&quot;.  Retrying in 75.9375 seconds...
&gt; Received HTTP status 500 loading &quot;None&quot;.  Retrying in 113.90625 seconds...
&gt; Received HTTP status 500 loading &quot;None&quot;.  Retrying in 170.859375 seconds...
&gt; Traceback (most recent call last):
&gt;   File &quot;/mnt/git/webkit-feeder-queue/Tools/Scripts/webkitpy/tool/bot/queueengine.py&quot;, line 105, in run
&gt;     if not self._delegate.process_work_item(work_item):
&gt;   File &quot;/mnt/git/webkit-feeder-queue/Tools/Scripts/webkitpy/tool/commands/queues.py&quot;, line 196, in process_work_item
&gt;     feeder.feed()
&gt;   File &quot;/mnt/git/webkit-feeder-queue/Tools/Scripts/webkitpy/tool/bot/feeders.py&quot;, line 97, in feed
&gt;     self._tool.status_server.submit_to_ews(attachment_id)
&gt;   File &quot;/mnt/git/webkit-feeder-queue/Tools/Scripts/webkitpy/common/net/statusserver.py&quot;, line 123, in submit_to_ews
&gt;     return NetworkTransaction().run(lambda: self._post_work_item_to_ews(attachment_id))
&gt;   File &quot;/mnt/git/webkit-feeder-queue/Tools/Scripts/webkitpy/common/net/networktransaction.py&quot;, line 57, in run
&gt;     self._check_for_timeout()
&gt;   File &quot;/mnt/git/webkit-feeder-queue/Tools/Scripts/webkitpy/common/net/networktransaction.py&quot;, line 63, in _check_for_timeout
&gt;     raise NetworkTimeout()
&gt; NetworkTimeout: NetworkTimeout
&gt; Exception while preparing queue Sleeping until 2013-01-17 04:52:19 (2 mins).


The QueueStatusServer frequently throws HTTP 500 errors.

QSS logs:

Recent errors:

&gt; 2013-01-16 21:21:35.024 /submit-to-ews 500 750ms 2kb Python-urllib/2.6
&gt; E 2013-01-16 21:21:35.017 Values may not be more than 1000000 bytes in length; received 1054167 bytes Traceback (most recent call last): File &quot;/base/python_runtime/python_lib
&gt; 2013-01-16 21:18:43.200 /submit-to-ews 500 517ms 2kb Python-urllib/2.6
&gt; E 2013-01-16 21:18:43.197 Values may not be more than 1000000 bytes in length; received 1054167 bytes Traceback (most recent call last): File &quot;/base/python_runtime/python_lib
&gt; 2013-01-16 21:16:48.409 /submit-to-ews 500 416ms 2kb Python-urllib/2.6
&gt; E 2013-01-16 21:16:48.394 Values may not be more than 1000000 bytes in length; received 1054167 bytes Traceback (most recent call last): File &quot;/base/python_runtime/python_lib
&gt; 2013-01-16 21:15:31.652 /submit-to-ews 500 493ms 2kb Python-urllib/2.6
&gt; E 2013-01-16 21:15:31.650 Values may not be more than 1000000 bytes in length; received 1054167 bytes Traceback (most recent call last): File &quot;/base/python_runtime/python_lib
&gt; 2013-01-16 21:14:40.224 /submit-to-ews 500 1150ms 2kb Python-urllib/2.6
&gt; E 2013-01-16 21:14:40.218 Values may not be more than 1000000 bytes in length; received 1054167 bytes Traceback (most recent call last): File &quot;/base/python_runtime/python_lib
&gt; 2013-01-16 21:14:04.705 /submit-to-ews 500 327ms 2kb Python-urllib/2.6
&gt; E 2013-01-16 21:14:04.703 Values may not be more than 1000000 bytes in length; received 1054167 bytes Traceback (most recent call last): File &quot;/base/python_runtime/python_lib
&gt; 2013-01-16 21:13:41.396 /submit-to-ews 500 464ms 2kb Python-urllib/2.6
&gt; E 2013-01-16 21:13:41.394 Values may not be more than 1000000 bytes in length; received 1054167 bytes Traceback (most recent call last): File &quot;/base/python_runtime/python_lib
&gt; 2013-01-16 21:13:25.793 /submit-to-ews 500 327ms 2kb Python-urllib/2.6
&gt; E 2013-01-16 21:13:25.790 Values may not be more than 1000000 bytes in length; received 1054167 bytes Traceback (most recent call last): File &quot;/base/python_runtime/python_lib
&gt; 2013-01-16 21:13:15.324 /submit-to-ews 500 391ms 2kb Python-urllib/2.6
&gt; E 2013-01-16 21:13:15.322 Values may not be more than 1000000 bytes in length; received 1054167 bytes Traceback (most recent call last): File &quot;/base/python_runtime/python_lib
&gt; 2013-01-16 21:11:09.632 /submit-to-ews 500 1127ms 2kb Python-urllib/2.6
&gt; E 2013-01-16 21:11:09.619 Values may not be more than 1000000 bytes in length; received 1054167 bytes Traceback (most recent call last): File &quot;/base/python_runtime/python_lib
&gt; 2013-01-16 21:08:17.301 /submit-to-ews 500 853ms 2kb Python-urllib/2.6
&gt; E 2013-01-16 21:08:17.299 Values may not be more than 1000000 bytes in length; received 1054167 bytes Traceback (most recent call last): File &quot;/base/python_runtime/python_lib
&gt; 2013-01-16 21:06:22.207 /submit-to-ews 500 347ms 2kb Python-urllib/2.6
&gt; E 2013-01-16 21:06:22.205 Values may not be more than 1000000 bytes in length; received 1054167 bytes Traceback (most recent call last): File &quot;/base/python_runtime/python_lib
&gt; 2013-01-16 21:05:05.513 /submit-to-ews 500 512ms 2kb Python-urllib/2.6
&gt; E 2013-01-16 21:05:05.512 Values may not be more than 1000000 bytes in length; received 1054167 bytes Traceback (most recent call last): File &quot;/base/python_runtime/python_lib
&gt; 2013-01-16 21:04:13.935 /submit-to-ews 500 312ms 2kb Python-urllib/2.6
&gt; E 2013-01-16 21:04:13.933 Values may not be more than 1000000 bytes in length; received 1054167 bytes Traceback (most recent call last): File &quot;/base/python_runtime/python_lib
&gt; 2013-01-16 21:03:39.489 /submit-to-ews 500 708ms 2kb Python-urllib/2.6
&gt; E 2013-01-16 21:03:39.487 Values may not be more than 1000000 bytes in length; received 1054167 bytes Traceback (most recent call last): File &quot;/base/python_runtime/python_lib
&gt; 2013-01-16 21:03:16.167 /submit-to-ews 500 717ms 2kb Python-urllib/2.6
&gt; E 2013-01-16 21:03:16.159 Values may not be more than 1000000 bytes in length; received 1054167 bytes Traceback (most recent call last): File &quot;/base/python_runtime/python_lib


Single error detail:

&gt; 2013-01-16 21:15:31.652 /submit-to-ews 500 493ms 2kb Python-urllib/2.6
&gt; 8.34.213.203 - - [16/Jan/2013:21:15:31 -0800] &quot;POST /submit-to-ews HTTP/1.1&quot; 500 2132 &quot;http://queues.webkit.org/submit-to-ews&quot; &quot;Python-urllib/2.6&quot; &quot;queues.webkit.org&quot; ms=493 cpu_ms=107 cpm_usd=0.000238 instance=00c61b117c8dc6bb676ce419546a20bc69ae89
&gt; E 2013-01-16 21:15:31.650
&gt; Values may not be more than 1000000 bytes in length; received 1054167 bytes
&gt; Traceback (most recent call last):
&gt;   File &quot;/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/_webapp25.py&quot;, line 716, in __call__
&gt;     handler.post(*groups)
&gt;   File &quot;/base/data/home/apps/webkit-commit-queue/1.364503684603662849/handlers/submittoews.py&quot;, line 64, in post
&gt;     self._add_attachment_to_ews_queues(attachment)
&gt;   File &quot;/base/data/home/apps/webkit-commit-queue/1.364503684603662849/handlers/submittoews.py&quot;, line 58, in _add_attachment_to_ews_queues
&gt;     if self._should_add_to_ews_queue(queue, attachment):
&gt;   File &quot;/base/data/home/apps/webkit-commit-queue/1.364503684603662849/handlers/submittoews.py&quot;, line 46, in _should_add_to_ews_queue
&gt;     latest_status = attachment.status_for_queue(queue)
&gt;   File &quot;/base/data/home/apps/webkit-commit-queue/1.364503684603662849/model/attachment.py&quot;, line 95, in status_for_queue
&gt;     queue_summary = self.summary().get(queue.name_with_underscores())
&gt;   File &quot;/base/data/home/apps/webkit-commit-queue/1.364503684603662849/model/attachment.py&quot;, line 73, in summary
&gt;     memcache.set(str(self.id), self._summary, namespace=&quot;attachment-summary&quot;)
&gt;   File &quot;/base/python_runtime/python_lib/versions/1/google/appengine/api/memcache/__init__.py&quot;, line 793, in set
&gt;     namespace=namespace)
&gt;   File &quot;/base/python_runtime/python_lib/versions/1/google/appengine/api/memcache/__init__.py&quot;, line 898, in _set_with_policy
&gt;     time, &apos;&apos;, namespace)
&gt;   File &quot;/base/python_runtime/python_lib/versions/1/google/appengine/api/memcache/__init__.py&quot;, line 977, in _set_multi_async_with_policy
&gt;     stored_value, flags = _validate_encode_value(value, self._do_pickle)
&gt;   File &quot;/base/python_runtime/python_lib/versions/1/google/appengine/api/memcache/__init__.py&quot;, line 236, in _validate_encode_value
&gt;     &apos;received %d bytes&apos; % (MAX_VALUE_SIZE, len(stored_value)))
&gt; ValueError: Values may not be more than 1000000 bytes in length; received 1054167 bytes



These are probably related and may account for the unusual consistently spiky requests/s graph in App Engine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809924</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-17 16:14:23 -0800</bug_when>
    <thetext>Which value is getting too big?  We&apos;ve seen this in the past when there&apos;s a queue that hasn&apos;t been processing for a long time and has lots of work to do...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811533</commentid>
    <comment_count>2</comment_count>
    <who name="Philip Rogers">pdr</who>
    <bug_when>2013-01-19 18:55:06 -0800</bug_when>
    <thetext>*** Bug 107388 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816216</commentid>
    <comment_count>3</comment_count>
      <attachid>184662</attachid>
    <who name="Alan Cutter">alancutter</who>
    <bug_when>2013-01-24 22:02:57 -0800</bug_when>
    <thetext>Created attachment 184662
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816218</commentid>
    <comment_count>4</comment_count>
    <who name="Alan Cutter">alancutter</who>
    <bug_when>2013-01-24 22:05:47 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=184662) [details]
&gt; Patch

Patch removes the use of memcache from the Attachment class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816219</commentid>
    <comment_count>5</comment_count>
      <attachid>184662</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-24 22:05:49 -0800</bug_when>
    <thetext>Comment on attachment 184662
Patch

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

&gt; Tools/QueueStatusServer/model/attachment.py:-41
&gt; -    def dirty(cls, attachment_id):
&gt; -        memcache.delete(str(attachment_id), namespace=&quot;attachment-summary&quot;)

Don&apos;t we need to remove the caller of this function in updatestate.py?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816225</commentid>
    <comment_count>6</comment_count>
      <attachid>184664</attachid>
    <who name="Alan Cutter">alancutter</who>
    <bug_when>2013-01-24 22:11:26 -0800</bug_when>
    <thetext>Created attachment 184664
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816226</commentid>
    <comment_count>7</comment_count>
    <who name="Alan Cutter">alancutter</who>
    <bug_when>2013-01-24 22:12:21 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 184662 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=184662&amp;action=review
&gt; 
&gt; &gt; Tools/QueueStatusServer/model/attachment.py:-41
&gt; &gt; -    def dirty(cls, attachment_id):
&gt; &gt; -        memcache.delete(str(attachment_id), namespace=&quot;attachment-summary&quot;)
&gt; 
&gt; Don&apos;t we need to remove the caller of this function in updatestate.py?

Thanks for catching that, removed all calls to Attachment.dirty().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816267</commentid>
    <comment_count>8</comment_count>
      <attachid>184664</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-24 22:53:15 -0800</bug_when>
    <thetext>Comment on attachment 184664
Patch

This is OK.  Presumably we&apos;ll have to implement a replacement for what we were attempting to cache. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816271</commentid>
    <comment_count>9</comment_count>
      <attachid>184664</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-24 22:56:40 -0800</bug_when>
    <thetext>Comment on attachment 184664
Patch

Rejecting attachment 184664 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=gce-cq-02&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 184664, &apos;--port=chromium-xvfb&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
ply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, &apos;Adam Barth&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Parsed 3 diffs from patch file(s).
patch: **** Can&apos;t create file /tmp/ppCBCh5i : No space left on device
patch: **** Can&apos;t create file /tmp/ppBG1Tdm : No space left on device
patch: **** Can&apos;t create file /tmp/ppMfF0Ml : No space left on device

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, &apos;Adam Barth&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Full output: http://queues.webkit.org/results/16120144</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816279</commentid>
    <comment_count>10</comment_count>
      <attachid>184664</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-24 23:01:31 -0800</bug_when>
    <thetext>Comment on attachment 184664
Patch

Clearing flags on attachment: 184664

Committed r140786: &lt;http://trac.webkit.org/changeset/140786&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816280</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-24 23:01:35 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>821055</commentid>
    <comment_count>12</comment_count>
    <who name="Alan Cutter">alancutter</who>
    <bug_when>2013-01-30 21:19:42 -0800</bug_when>
    <thetext>*** Bug 75024 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184662</attachid>
            <date>2013-01-24 22:02:57 -0800</date>
            <delta_ts>2013-01-24 22:11:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107184-20130125165947.patch</filename>
            <type>text/plain</type>
            <size>2141</size>
            <attacher name="Alan Cutter">alancutter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNzc5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDc1ZDE4NGM5ZDRlYjE3MzUyNzNkM2U0M2I2ZTVhMGFi
OTA1YTUzNy4uZjg1MjJkN2NjZTdlOGM5NDdlNGZjNzNlMDk5OWE5YjRkMWJiOGUzMCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDEzLTAxLTI0ICBBbGFuIEN1dHRlciAgPGFsYW5jdXR0ZXJAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIEhUVFAgNTAwIGVycm9yIGJldHdlZW4gUXVldWVTdGF0dXNTZXJ2ZXIgYW5kIGJv
dChzKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3
MTg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVt
b3ZlZCB0aGUgdXNlIG9mIG1lbWNhY2hlIHdoaWNoIHdhcyB0aGUgc291cmNlIG9mIHRoZSBleGNl
cHRpb24uCisKKyAgICAgICAgKiBRdWV1ZVN0YXR1c1NlcnZlci9tb2RlbC9hdHRhY2htZW50LnB5
OgorICAgICAgICAoQXR0YWNobWVudCk6CisgICAgICAgIChBdHRhY2htZW50LnN1bW1hcnkpOgor
CiAyMDEzLTAxLTI0ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBT
a2lwIGhhc2xhbmRlZF91bml0dGVzdC5weSBvbiBzeXN0ZW1zIHdoaWNoIGRvIG5vdCBoYXZlIGlu
dGVyZGlmZiBpbnN0YWxsZWQKZGlmZiAtLWdpdCBhL1Rvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL21v
ZGVsL2F0dGFjaG1lbnQucHkgYi9Ub29scy9RdWV1ZVN0YXR1c1NlcnZlci9tb2RlbC9hdHRhY2ht
ZW50LnB5CmluZGV4IGY5OGYyNjVlNmNmYWZiNGE3ODFhYjU1ZDYxODVhOWRlMTAxZjJiYTguLjgz
YjQ0MWVkY2M4MzkwOWE5ZWJkMDBhZjQ5ZWY4YzkwMWMwNWMyMjIgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1F1ZXVlU3RhdHVzU2VydmVyL21vZGVsL2F0dGFjaG1lbnQucHkKKysrIGIvVG9vbHMvUXVldWVT
dGF0dXNTZXJ2ZXIvbW9kZWwvYXR0YWNobWVudC5weQpAQCAtMjgsOCArMjgsNiBAQAogCiBpbXBv
cnQgcmUKIAotZnJvbSBnb29nbGUuYXBwZW5naW5lLmFwaSBpbXBvcnQgbWVtY2FjaGUKLQogZnJv
bSBtb2RlbC5xdWV1ZXMgaW1wb3J0IFF1ZXVlCiBmcm9tIG1vZGVsLnF1ZXVlc3RhdHVzIGltcG9y
dCBRdWV1ZVN0YXR1cwogZnJvbSBtb2RlbC53b3JraXRlbXMgaW1wb3J0IFdvcmtJdGVtcwpAQCAt
MzcsMTAgKzM1LDYgQEAgZnJvbSBtb2RlbC53b3JraXRlbXMgaW1wb3J0IFdvcmtJdGVtcwogCiBj
bGFzcyBBdHRhY2htZW50KG9iamVjdCk6CiAgICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIGRpcnR5
KGNscywgYXR0YWNobWVudF9pZCk6Ci0gICAgICAgIG1lbWNhY2hlLmRlbGV0ZShzdHIoYXR0YWNo
bWVudF9pZCksIG5hbWVzcGFjZT0iYXR0YWNobWVudC1zdW1tYXJ5IikKLQotICAgIEBjbGFzc21l
dGhvZAogICAgIGRlZiByZWNlbnQoY2xzLCBsaW1pdD0xKToKICAgICAgICAgc3RhdHVzZXMgPSBR
dWV1ZVN0YXR1cy5hbGwoKS5vcmRlcigiLWRhdGUiKQogICAgICAgICAjIE5vdGljZSB0aGF0IHdl
IHVzZSBib3RoIGEgc2V0IGFuZCBhIGxpc3QgaGVyZSB0byBrZWVwIHRoZSAtZGF0ZSBvcmRlcmlu
Zy4KQEAgLTY2LDExICs2MCw3IEBAIGNsYXNzIEF0dGFjaG1lbnQob2JqZWN0KToKICAgICBkZWYg
c3VtbWFyeShzZWxmKToKICAgICAgICAgaWYgc2VsZi5fc3VtbWFyeToKICAgICAgICAgICAgIHJl
dHVybiBzZWxmLl9zdW1tYXJ5Ci0gICAgICAgIHNlbGYuX3N1bW1hcnkgPSBtZW1jYWNoZS5nZXQo
c3RyKHNlbGYuaWQpLCBuYW1lc3BhY2U9ImF0dGFjaG1lbnQtc3VtbWFyeSIpCi0gICAgICAgIGlm
IHNlbGYuX3N1bW1hcnk6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fc3VtbWFyeQogICAgICAg
ICBzZWxmLl9zdW1tYXJ5ID0gc2VsZi5fZmV0Y2hfc3VtbWFyeSgpCi0gICAgICAgIG1lbWNhY2hl
LnNldChzdHIoc2VsZi5pZCksIHNlbGYuX3N1bW1hcnksIG5hbWVzcGFjZT0iYXR0YWNobWVudC1z
dW1tYXJ5IikKICAgICAgICAgcmV0dXJuIHNlbGYuX3N1bW1hcnkKIAogICAgIGRlZiBzdGF0ZV9m
cm9tX3F1ZXVlX3N0YXR1cyhzZWxmLCBzdGF0dXMpOgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184664</attachid>
            <date>2013-01-24 22:11:26 -0800</date>
            <delta_ts>2013-01-24 23:01:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107184-20130125170817.patch</filename>
            <type>text/plain</type>
            <size>2951</size>
            <attacher name="Alan Cutter">alancutter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNzc5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDc1ZDE4NGM5ZDRlYjE3MzUyNzNkM2U0M2I2ZTVhMGFi
OTA1YTUzNy4uNjFkMjFlYzE2ZjQ4ZGNmODIzZTg3NDE0OTUxNTE2ZjVmNzE5YzljZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDEzLTAxLTI0ICBBbGFuIEN1dHRlciAgPGFsYW5jdXR0ZXJAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIEhUVFAgNTAwIGVycm9yIGJldHdlZW4gUXVldWVTdGF0dXNTZXJ2ZXIgYW5kIGJv
dChzKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3
MTg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVt
b3ZlZCB0aGUgdXNlIG9mIG1lbWNhY2hlIHdoaWNoIHdhcyB0aGUgc291cmNlIG9mIHRoZSBleGNl
cHRpb24uCisKKyAgICAgICAgKiBRdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy91cGRhdGVzdGF0
dXMucHk6CisgICAgICAgIChVcGRhdGVTdGF0dXMucG9zdCk6CisgICAgICAgICogUXVldWVTdGF0
dXNTZXJ2ZXIvbW9kZWwvYXR0YWNobWVudC5weToKKyAgICAgICAgKEF0dGFjaG1lbnQpOgorICAg
ICAgICAoQXR0YWNobWVudC5zdW1tYXJ5KToKKwogMjAxMy0wMS0yNCAgRXJpYyBTZWlkZWwgIDxl
cmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU2tpcCBoYXNsYW5kZWRfdW5pdHRlc3QucHkgb24g
c3lzdGVtcyB3aGljaCBkbyBub3QgaGF2ZSBpbnRlcmRpZmYgaW5zdGFsbGVkCmRpZmYgLS1naXQg
YS9Ub29scy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy91cGRhdGVzdGF0dXMucHkgYi9Ub29s
cy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy91cGRhdGVzdGF0dXMucHkKaW5kZXggYTBlNzE5
NGFkZTg4M2I2MmE1NWZmNGE0MzBlMGY3ZDM4OTViZmJmYS4uYjAyZTk4NzZhOGFhN2Y3MjlhOThm
NGNkZGVkYjAwOTg5ZGFkZjRjNSAxMDA2NDQKLS0tIGEvVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIv
aGFuZGxlcnMvdXBkYXRlc3RhdHVzLnB5CisrKyBiL1Rvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2hh
bmRsZXJzL3VwZGF0ZXN0YXR1cy5weQpAQCAtNjcsNSArNjcsNCBAQCBjbGFzcyBVcGRhdGVTdGF0
dXMoVXBkYXRlQmFzZSk6CiAgICAgICAgIFJlY29yZEJvdEV2ZW50LnJlY29yZF9hY3Rpdml0eShx
dWV1ZV9zdGF0dXMucXVldWVfbmFtZSwgcXVldWVfc3RhdHVzLmJvdF9pZCkKICAgICAgICAgaWYg
cXVldWVfc3RhdHVzLmFjdGl2ZV9wYXRjaF9pZDoKICAgICAgICAgICAgIFJlY29yZFBhdGNoRXZl
bnQudXBkYXRlZChxdWV1ZV9zdGF0dXMuYWN0aXZlX3BhdGNoX2lkLCBxdWV1ZV9zdGF0dXMucXVl
dWVfbmFtZSwgcXVldWVfc3RhdHVzLmJvdF9pZCkKLSAgICAgICAgQXR0YWNobWVudC5kaXJ0eShx
dWV1ZV9zdGF0dXMuYWN0aXZlX3BhdGNoX2lkKQogICAgICAgICBzZWxmLnJlc3BvbnNlLm91dC53
cml0ZShxdWV1ZV9zdGF0dXMua2V5KCkuaWQoKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1F1ZXVlU3Rh
dHVzU2VydmVyL21vZGVsL2F0dGFjaG1lbnQucHkgYi9Ub29scy9RdWV1ZVN0YXR1c1NlcnZlci9t
b2RlbC9hdHRhY2htZW50LnB5CmluZGV4IGY5OGYyNjVlNmNmYWZiNGE3ODFhYjU1ZDYxODVhOWRl
MTAxZjJiYTguLjgzYjQ0MWVkY2M4MzkwOWE5ZWJkMDBhZjQ5ZWY4YzkwMWMwNWMyMjIgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL21vZGVsL2F0dGFjaG1lbnQucHkKKysrIGIv
VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvbW9kZWwvYXR0YWNobWVudC5weQpAQCAtMjgsOCArMjgs
NiBAQAogCiBpbXBvcnQgcmUKIAotZnJvbSBnb29nbGUuYXBwZW5naW5lLmFwaSBpbXBvcnQgbWVt
Y2FjaGUKLQogZnJvbSBtb2RlbC5xdWV1ZXMgaW1wb3J0IFF1ZXVlCiBmcm9tIG1vZGVsLnF1ZXVl
c3RhdHVzIGltcG9ydCBRdWV1ZVN0YXR1cwogZnJvbSBtb2RlbC53b3JraXRlbXMgaW1wb3J0IFdv
cmtJdGVtcwpAQCAtMzcsMTAgKzM1LDYgQEAgZnJvbSBtb2RlbC53b3JraXRlbXMgaW1wb3J0IFdv
cmtJdGVtcwogCiBjbGFzcyBBdHRhY2htZW50KG9iamVjdCk6CiAgICAgQGNsYXNzbWV0aG9kCi0g
ICAgZGVmIGRpcnR5KGNscywgYXR0YWNobWVudF9pZCk6Ci0gICAgICAgIG1lbWNhY2hlLmRlbGV0
ZShzdHIoYXR0YWNobWVudF9pZCksIG5hbWVzcGFjZT0iYXR0YWNobWVudC1zdW1tYXJ5IikKLQot
ICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiByZWNlbnQoY2xzLCBsaW1pdD0xKToKICAgICAgICAg
c3RhdHVzZXMgPSBRdWV1ZVN0YXR1cy5hbGwoKS5vcmRlcigiLWRhdGUiKQogICAgICAgICAjIE5v
dGljZSB0aGF0IHdlIHVzZSBib3RoIGEgc2V0IGFuZCBhIGxpc3QgaGVyZSB0byBrZWVwIHRoZSAt
ZGF0ZSBvcmRlcmluZy4KQEAgLTY2LDExICs2MCw3IEBAIGNsYXNzIEF0dGFjaG1lbnQob2JqZWN0
KToKICAgICBkZWYgc3VtbWFyeShzZWxmKToKICAgICAgICAgaWYgc2VsZi5fc3VtbWFyeToKICAg
ICAgICAgICAgIHJldHVybiBzZWxmLl9zdW1tYXJ5Ci0gICAgICAgIHNlbGYuX3N1bW1hcnkgPSBt
ZW1jYWNoZS5nZXQoc3RyKHNlbGYuaWQpLCBuYW1lc3BhY2U9ImF0dGFjaG1lbnQtc3VtbWFyeSIp
Ci0gICAgICAgIGlmIHNlbGYuX3N1bW1hcnk6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fc3Vt
bWFyeQogICAgICAgICBzZWxmLl9zdW1tYXJ5ID0gc2VsZi5fZmV0Y2hfc3VtbWFyeSgpCi0gICAg
ICAgIG1lbWNhY2hlLnNldChzdHIoc2VsZi5pZCksIHNlbGYuX3N1bW1hcnksIG5hbWVzcGFjZT0i
YXR0YWNobWVudC1zdW1tYXJ5IikKICAgICAgICAgcmV0dXJuIHNlbGYuX3N1bW1hcnkKIAogICAg
IGRlZiBzdGF0ZV9mcm9tX3F1ZXVlX3N0YXR1cyhzZWxmLCBzdGF0dXMpOgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>