<?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>88601</bug_id>
          
          <creation_ts>2012-06-07 18:20:28 -0700</creation_ts>
          <short_desc>Worker tear-down can re-enter JSC during GC finalization pt. 2</short_desc>
          <delta_ts>2012-06-14 13:19:53 -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>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="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>ap</cc>
    
    <cc>ggaren</cc>
    
    <cc>levin</cc>
    
    <cc>levin+threading</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>644168</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2012-06-07 18:20:28 -0700</bug_when>
    <thetext>Filing a separate bug for ~Worker as described in bug 88449.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644173</commentid>
    <comment_count>1</comment_count>
      <attachid>146441</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2012-06-07 18:28:29 -0700</bug_when>
    <thetext>Created attachment 146441
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644347</commentid>
    <comment_count>2</comment_count>
      <attachid>146441</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-06-07 22:42:08 -0700</bug_when>
    <thetext>Comment on attachment 146441
Patch

Pretty hard to tell whether this code is correct :(.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644713</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2012-06-08 09:06:18 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 146441 [details])
&gt; Pretty hard to tell whether this code is correct :(.

According to the Chromium EWS bot, it&apos;s not correct :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644885</commentid>
    <comment_count>4</comment_count>
      <attachid>146441</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-08 11:34:11 -0700</bug_when>
    <thetext>Comment on attachment 146441
Patch

Yeah, looks like this is causing a bunch of flaky crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647260</commentid>
    <comment_count>5</comment_count>
      <attachid>147149</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2012-06-12 13:49:46 -0700</bug_when>
    <thetext>Created attachment 147149
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647292</commentid>
    <comment_count>6</comment_count>
      <attachid>147149</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-06-12 14:04:29 -0700</bug_when>
    <thetext>Comment on attachment 147149
Patch

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

r=me

I&apos;m happy if the Chromium EWS is happy.

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests. 

Please explain why.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647293</commentid>
    <comment_count>7</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-06-12 14:04:57 -0700</bug_when>
    <thetext>Should we close bug 88823 now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647297</commentid>
    <comment_count>8</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2012-06-12 14:06:40 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Should we close bug 88823 now?

I want to get Dave Levin&apos;s input on this patch since he seems to be the most familiar with how all this Worker stuff interacts. If this patch seems good to him, we can RESOLVED WONTFIX the other one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647509</commentid>
    <comment_count>9</comment_count>
      <attachid>147149</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2012-06-12 17:14:49 -0700</bug_when>
    <thetext>Comment on attachment 147149
Patch

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

Alexey is very familiar with the code since he was the original author. The rest of us just came along and added to it (aka made it more complicated :(  ).

&gt; Source/WebCore/workers/WorkerMessagingProxy.cpp:377
&gt; +    // Executes workerObjectDestroyedInternal() on parent context&apos;s thread.

This comment is misleading because this method is executed on the Worker Object thread already. 

All this does is delay the object destruction.

I strongly believe that &quot;m_workerObject = 0;&quot; should be set here as the WorkObject is done when this method returns.

&gt; Source/WebCore/workers/WorkerMessagingProxy.cpp:378
&gt; +    m_scriptExecutionContext-&gt;postTask(WorkerObjectDestroyedTask::create(this));

Personally I prefer using createCallbackTask which would have less boilerplate code. (Much of the code in here predates that and in turn inspired it.)

For example see: WorkerMessagingProxy::postConsoleMessageToWorkerObject

You&apos;d have to make WorkerMessagingProxy::workerObjectDestroyedInternal static and take a WorkerMessagingProxy.

&gt; Source/WebCore/workers/WorkerMessagingProxy.h:96
&gt; +        friend class WorkerObjectDestroyedTask;

Sort ideally (since ordering doesn&apos;t matter).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647510</commentid>
    <comment_count>10</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2012-06-12 17:15:15 -0700</bug_when>
    <thetext>r- due to misplacement of &quot;m_workerObject = 0;&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647700</commentid>
    <comment_count>11</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-06-12 22:39:25 -0700</bug_when>
    <thetext>&gt; r- due to misplacement of &quot;m_workerObject = 0;&quot;

Eagerly setting m_workerObject = 0 causes the proxy object to delete itself while it still has a pending destroy message, causing a crash.

Do you have a suggestion for an alternative?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647738</commentid>
    <comment_count>12</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2012-06-12 23:37:59 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; &gt; r- due to misplacement of &quot;m_workerObject = 0;&quot;
&gt; 
&gt; Eagerly setting m_workerObject = 0 causes the proxy object to delete itself while it still has a pending destroy message, causing a crash.

This is in workerObjectDestroyed which is the method called from ~Worker (Object). If m_workerObject isn&apos;t set to 0, then you&apos;re accessing freed memory which will cause a corruption.

Note that WorkerMessagingProxy doesn&apos;t hold a reference to Worker which is good because Worker basically owns WorkerMessagingProxy.

&gt; 
&gt; Do you have a suggestion for an alternative?

I&apos;ve discussed this a lot with Mark during the day. I though setting m_workObject was fine here.  Anyway he should have a pretty solid grasp on this now. I can be available on irc to discuss as needed (tomorrow).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648684</commentid>
    <comment_count>13</comment_count>
      <attachid>147467</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2012-06-13 19:06:12 -0700</bug_when>
    <thetext>Created attachment 147467
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648707</commentid>
    <comment_count>14</comment_count>
      <attachid>147467</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2012-06-13 19:39:13 -0700</bug_when>
    <thetext>Comment on attachment 147467
Patch

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

Consider changing &quot;can&quot; to &quot;may&quot; (not critical but nice).

&gt; Source/WebCore/workers/WorkerMessagingProxy.cpp:357
&gt;      m_workerObject = 0;

What about setting m_askedToTerminate?

Actually.... I think I&apos;m ok with not setting that here. I think it will be ok since the exact moment on workerObjectDestruction isn&apos;t really exposed anywhere.

&gt; Source/WebCore/workers/WorkerMessagingProxy.cpp:363
&gt; +    proxy-&gt;m_canBeDestroyed = true;

may is more correct than can (imo of course).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649417</commentid>
    <comment_count>15</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2012-06-14 13:18:12 -0700</bug_when>
    <thetext>Patch landed in http://trac.webkit.org/changeset/120328</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146441</attachid>
            <date>2012-06-07 18:28:29 -0700</date>
            <delta_ts>2012-06-12 13:49:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88601-20120607182828.patch</filename>
            <type>text/plain</type>
            <size>4332</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExOTc3NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA2LTA3ICBNYXJrIEhh
aG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV29ya2VyIHRlYXIt
ZG93biBjYW4gcmUtZW50ZXIgSlNDIGR1cmluZyBHQyBmaW5hbGl6YXRpb24gcHQuIDIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NjAxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgor
CisgICAgICAgIFdlIGhhdmUgdG8gZG8gdGhpcyByb3VuZGFib3V0IHdheSBvZiBkZXN0cm95aW5n
IHRoZSBXb3JrZXJNZXNzYWdpbmdQcm94eSBiZWNhdXNlIGl0IAorICAgICAgICBpcyBuZWVkZWQg
dG8gc2lnbmFsIHRvIHRoZSBJbnNwZWN0b3IgdGhhdCBhIHdvcmtlciBoYXMgZW5kZWQuIFRoZSBJ
bnNwZWN0b3IgaG93ZXZlciAKKyAgICAgICAgZXhlY3V0ZXMgSlMgY29kZSwgd2hpY2ggaXNuJ3Qg
YWxsb3dlZCB3aGVuIHRoZSBXb3JrZXIgaXRzZWxmIGlzIGJlaW5nIGRlc3Ryb3llZCwgdGh1cyAK
KyAgICAgICAgd2UgaGF2ZSB0byBleGVjdXRlIHRoZSByZWxldmFudCB0ZWFyLWRvd24gZnVuY3Rp
b25zIGluIFdvcmtlck1lc3NhZ2luZ1Byb3h5IGFzeW5jaHJvbm91c2x5CisgICAgICAgIG9uIHRo
ZSBzY3JpcHQgZXhlY3V0aW9uIGNvbnRleHQgdGhyZWFkLgorCisgICAgICAgICogd29ya2Vycy9X
b3JrZXJNZXNzYWdpbmdQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdp
bmdQcm94eTo6V29ya2VyTWVzc2FnaW5nUHJveHkpOiBJbml0aWFsaXplIG1fc2NoZWR1bGVkRm9y
RGVzdHJ1Y3Rpb24gdG8gZmFsc2UuCisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQ
cm94eTo6d29ya2VyT2JqZWN0RGVzdHJveWVkKTogQ2FsbCB0aGUgYXN5bmNocm9ub3VzIHZlcnNp
b25zIG9mIHRoZXNlIGZ1bmN0aW9ucyAKKyAgICAgICAgc28gdGhhdCB3ZSBkb24ndCBnZXQgSlMg
ZXhlY3V0aW9uIGR1cmluZyBHQyBmaW5hbGl6YXRpb24uCisgICAgICAgIChXZWJDb3JlOjpXb3Jr
ZXJNZXNzYWdpbmdQcm94eTo6d29ya2VyQ29udGV4dERlc3Ryb3llZCk6IERvbid0IHNjaGVkdWxl
IGFueSBtb3JlIHRhc2tzIGlmIHdlJ3ZlIGFscmVhZHkgCisgICAgICAgIGJlZW4gc2NoZWR1bGVk
IHRvIGJlIGRlc3Ryb3llZCwgYXMgdGhpcyB3aWxsIGNhdXNlIGEgZmFpbHVyZSBsYXRlciB3aGVu
IHRoaXMgbmV3IHRhc2sgZmluYWxseSBnZXRzIAorICAgICAgICBwcm9jZXNzZWQuIElmIHdlIGhh
dmVuJ3QgeWV0IGJlZW4gc2NoZWR1bGVkIGZvciBkZXN0cnVjdGlvbiBBTkQgb3VyIHdvcmtlciBv
YmplY3QgaGFzIGJlZW4gbnVsbGlmaWVkLCAKKyAgICAgICAgdGhlbiB3ZSBhcmUgZ29pbmcgdG8g
YmUgZGVzdHJveWVkIGFuZCBzaG91bGQgc2V0IHRoZSBmbGFnIHRvIHByZXZlbnQgYW55IGZ1dHVy
ZSB0YXNrcyBiZWluZyBzY2hlZHVsZWQuCisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdp
bmdQcm94eTo6d29ya2VyQ29udGV4dENsb3NlZCk6IFNhbWUgYXMgd29ya2VyQ29udGV4dERlc3Ry
b3llZCwgYnV0IHdlIGRvbid0IHNldCAKKyAgICAgICAgdGhlIGZsYWcgYmVjYXVzZSBjYWxsaW5n
IHRlcm1pbmF0ZVdvcmtlckNvbnRleHQgZG9lcyBub3QgZGVzdHJveSB0aGUgcHJveHkuCisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oOiBBZGQgbmV3IGZpZWxkIHRoYXQg
aW5kaWNhdGVzIHdoZXRoZXIgd2UgaGF2ZSBzY2hlZHVsZWQgYSB0YXNrIHRvIGRlc3Ryb3kgCisg
ICAgICAgIG91cnNlbHZlcyBhc3luY2hyb25vdXNseS4KKyAgICAgICAgKFdvcmtlck1lc3NhZ2lu
Z1Byb3h5KToKKwogMjAxMi0wNi0wNyAgTWFyayBQaWxncmltICA8cGlsZ3JpbUBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBNb3ZlIGRpZFN0YXJ0V29ya2VyUnVuTG9vcCB0byBQ
bGF0Zm9ybS5oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1By
b3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3Nh
Z2luZ1Byb3h5LmNwcAkocmV2aXNpb24gMTE5NzUwKQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1Myw2ICsyNTMs
NyBAQCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6V29ya2VyTWVzc2FnaW5nUHJvCiAgICAgLCBtX3Vu
Y29uZmlybWVkTWVzc2FnZUNvdW50KDApCiAgICAgLCBtX3dvcmtlclRocmVhZEhhZFBlbmRpbmdB
Y3Rpdml0eShmYWxzZSkKICAgICAsIG1fYXNrZWRUb1Rlcm1pbmF0ZShmYWxzZSkKKyAgICAsIG1f
c2NoZWR1bGVkRm9yRGVzdHJ1Y3Rpb24oZmFsc2UpCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAg
ICAsIG1fcGFnZUluc3BlY3RvcigwKQogI2VuZGlmCkBAIC0zNTUsOSArMzU2LDkgQEAgdm9pZCBX
b3JrZXJNZXNzYWdpbmdQcm94eTo6d29ya2VyT2JqZWN0RAogewogICAgIG1fd29ya2VyT2JqZWN0
ID0gMDsKICAgICBpZiAobV93b3JrZXJUaHJlYWQpCi0gICAgICAgIHRlcm1pbmF0ZVdvcmtlckNv
bnRleHQoKTsKKyAgICAgICAgd29ya2VyQ29udGV4dENsb3NlZCgpOwogICAgIGVsc2UKLSAgICAg
ICAgd29ya2VyQ29udGV4dERlc3Ryb3llZEludGVybmFsKCk7CisgICAgICAgIHdvcmtlckNvbnRl
eHREZXN0cm95ZWQoKTsKIH0KIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCkBAIC00MTksMTIgKzQy
MCwxOCBAQCB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzZW5kTWVzc2FnZVRvCiAKIHZvaWQg
V29ya2VyTWVzc2FnaW5nUHJveHk6OndvcmtlckNvbnRleHREZXN0cm95ZWQoKQogeworICAgIGlm
IChtX3NjaGVkdWxlZEZvckRlc3RydWN0aW9uKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCFt
X3dvcmtlck9iamVjdCkKKyAgICAgICAgbV9zY2hlZHVsZWRGb3JEZXN0cnVjdGlvbiA9IHRydWU7
CiAgICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5wb3N0VGFzayhXb3JrZXJDb250ZXh0RGVz
dHJveWVkVGFzazo6Y3JlYXRlKHRoaXMpKTsKICAgICAvLyBXaWxsIGV4ZWN1dGUgd29ya2VyQ29u
dGV4dERlc3Ryb3llZEludGVybmFsKCkgb24gY29udGV4dCdzIHRocmVhZC4KIH0KIAogdm9pZCBX
b3JrZXJNZXNzYWdpbmdQcm94eTo6d29ya2VyQ29udGV4dENsb3NlZCgpCiB7CisgICAgaWYgKG1f
c2NoZWR1bGVkRm9yRGVzdHJ1Y3Rpb24pCisgICAgICAgIHJldHVybjsKICAgICAvLyBFeGVjdXRl
cyB0ZXJtaW5hdGVXb3JrZXJDb250ZXh0KCkgb24gcGFyZW50IGNvbnRleHQncyB0aHJlYWQuCiAg
ICAgbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5wb3N0VGFzayhXb3JrZXJUZXJtaW5hdGVUYXNr
OjpjcmVhdGUodGhpcykpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJN
ZXNzYWdpbmdQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyTWVzc2FnaW5nUHJveHkuaAkocmV2aXNpb24gMTE5NzUwKQorKysgU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTAsNiAr
MTEwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG1fd29ya2VyVGhyZWFk
SGFkUGVuZGluZ0FjdGl2aXR5OyAvLyBUaGUgbGF0ZXN0IGNvbmZpcm1hdGlvbiBmcm9tIHdvcmtl
ciB0aHJlYWQgcmVwb3J0ZWQgdGhhdCBpdCB3YXMgc3RpbGwgYWN0aXZlLgogCiAgICAgICAgIGJv
b2wgbV9hc2tlZFRvVGVybWluYXRlOworICAgICAgICBib29sIG1fc2NoZWR1bGVkRm9yRGVzdHJ1
Y3Rpb247CiAKICAgICAgICAgVmVjdG9yPE93blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpU
YXNrPiA+IG1fcXVldWVkRWFybHlUYXNrczsgLy8gVGFza3MgYXJlIHF1ZXVlZCBoZXJlIHVudGls
IHRoZXJlJ3MgYSB0aHJlYWQgb2JqZWN0IGNyZWF0ZWQuCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147149</attachid>
            <date>2012-06-12 13:49:46 -0700</date>
            <delta_ts>2012-06-13 19:06:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88601-20120612134945.patch</filename>
            <type>text/plain</type>
            <size>3848</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMDExNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA2LTEyICBNYXJrIEhh
aG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV29ya2VyIHRlYXIt
ZG93biBjYW4gcmUtZW50ZXIgSlNDIGR1cmluZyBHQyBmaW5hbGl6YXRpb24gcHQuIDIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NjAxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAK
KworICAgICAgICAqIHdvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwOgorICAgICAgICAo
V29ya2VyT2JqZWN0RGVzdHJveWVkVGFzayk6IFRoZSBuZXcgVGFzayBvYmplY3QgdGhhdCB3ZSB1
c2UgdG8gYXN5bmNocm9ub3VzbHkgY2FsbCAKKyAgICAgICAgd29ya2VyT2JqZWN0RGVzdHJveWVk
SW50ZXJuYWwuCisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJPYmplY3REZXN0cm95ZWRUYXNrOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyT2JqZWN0RGVzdHJveWVkVGFzazo6V29y
a2VyT2JqZWN0RGVzdHJveWVkVGFzayk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJPYmplY3RE
ZXN0cm95ZWRUYXNrOjpwZXJmb3JtVGFzayk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5Ojp3b3JrZXJPYmplY3REZXN0cm95ZWQpOiBD
aGFuZ2VkIHRvIGFzeW5jaHJvbm91c2x5IHBvc3QgYSB0YXNrIAorICAgICAgICB0byB0aGUgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCBzbyB0aGF0IHdlIGNhbiBhdm9pZCBleGVjdXRpbmcgSlMgY29k
ZSBkdXJpbmcgZGVzdHJ1Y3Rpb24gb2YgCisgICAgICAgIFdvcmtlciBvYmplY3RzLgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyTWVzc2FnaW5nUHJveHk6Ondvcmtlck9iamVjdERlc3Ryb3llZElu
dGVybmFsKTogVGhpcyBpcyB0aGUgZnVuY3Rpb24gdGhhdCB0aGUgCisgICAgICAgIG5ldyBUYXNr
IGNhbGxzLiBJdCBoYXMgdGhlIGV4YWN0IHNhbWUgZnVuY3Rpb25hbGl0eSBhcyBiZWZvcmUuCisg
ICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oOgorICAgICAgICAoV29ya2Vy
TWVzc2FnaW5nUHJveHkpOgorCiAyMDEyLTA2LTEyICBBbGVjIEZsZXR0ICA8YWxlY2ZsZXR0QGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IEVycm9yIGNvZGVzLCBwaGFzZSB0d28K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHku
Y3BwCShyZXZpc2lvbiAxMjAwOTEpCisrKyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1l
c3NhZ2luZ1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ2LDYgKzE0NiwyNyBAQCBwcml2
YXRlOgogICAgIFdvcmtlck1lc3NhZ2luZ1Byb3h5KiBtX21lc3NhZ2luZ1Byb3h5OwogfTsKIAor
Y2xhc3MgV29ya2VyT2JqZWN0RGVzdHJveWVkVGFzayA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25D
b250ZXh0OjpUYXNrIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0cjxXb3JrZXJPYmpl
Y3REZXN0cm95ZWRUYXNrPiBjcmVhdGUoV29ya2VyTWVzc2FnaW5nUHJveHkqIG1lc3NhZ2luZ1By
b3h5KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBXb3JrZXJPYmplY3REZXN0
cm95ZWRUYXNrKG1lc3NhZ2luZ1Byb3h5KSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFdvcmtl
ck9iamVjdERlc3Ryb3llZFRhc2soV29ya2VyTWVzc2FnaW5nUHJveHkqIG1lc3NhZ2luZ1Byb3h5
KQorICAgICAgICA6IG1fbWVzc2FnaW5nUHJveHkobWVzc2FnaW5nUHJveHkpCisgICAgeworICAg
IH0KKworICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0
KikKKyAgICB7CisgICAgICAgIG1fbWVzc2FnaW5nUHJveHktPndvcmtlck9iamVjdERlc3Ryb3ll
ZEludGVybmFsKCk7CisgICAgfQorCisgICAgV29ya2VyTWVzc2FnaW5nUHJveHkqIG1fbWVzc2Fn
aW5nUHJveHk7Cit9OworCiBjbGFzcyBXb3JrZXJDb250ZXh0RGVzdHJveWVkVGFzayA6IHB1Ymxp
YyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxXb3JrZXJDb250ZXh0RGVzdHJveWVkVGFzaz4gY3JlYXRlKFdvcmtlck1lc3NhZ2lu
Z1Byb3h5KiBtZXNzYWdpbmdQcm94eSkKQEAgLTM1Myw2ICszNzQsMTIgQEAgdm9pZCBXb3JrZXJN
ZXNzYWdpbmdQcm94eTo6d29ya2VyVGhyZWFkQwogCiB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5
Ojp3b3JrZXJPYmplY3REZXN0cm95ZWQoKQogeworICAgIC8vIEV4ZWN1dGVzIHdvcmtlck9iamVj
dERlc3Ryb3llZEludGVybmFsKCkgb24gcGFyZW50IGNvbnRleHQncyB0aHJlYWQuCisgICAgbV9z
Y3JpcHRFeGVjdXRpb25Db250ZXh0LT5wb3N0VGFzayhXb3JrZXJPYmplY3REZXN0cm95ZWRUYXNr
OjpjcmVhdGUodGhpcykpOworfQorCit2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojp3b3JrZXJP
YmplY3REZXN0cm95ZWRJbnRlcm5hbCgpCit7CiAgICAgbV93b3JrZXJPYmplY3QgPSAwOwogICAg
IGlmIChtX3dvcmtlclRocmVhZCkKICAgICAgICAgdGVybWluYXRlV29ya2VyQ29udGV4dCgpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAko
cmV2aXNpb24gMTIwMDkxKQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdp
bmdQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC05MywxMSArOTMsMTMgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBmcmllbmQgY2xhc3MgTWVzc2FnZVdvcmtlclRhc2s7CiAgICAgICAg
IGZyaWVuZCBjbGFzcyBQb3N0TWVzc2FnZVRvUGFnZUluc3BlY3RvclRhc2s7CiAgICAgICAgIGZy
aWVuZCBjbGFzcyBXb3JrZXJDb250ZXh0RGVzdHJveWVkVGFzazsKKyAgICAgICAgZnJpZW5kIGNs
YXNzIFdvcmtlck9iamVjdERlc3Ryb3llZFRhc2s7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBXb3Jr
ZXJFeGNlcHRpb25UYXNrOwogICAgICAgICBmcmllbmQgY2xhc3MgV29ya2VyVGhyZWFkQWN0aXZp
dHlSZXBvcnRUYXNrOwogCiAgICAgICAgIHZpcnR1YWwgfldvcmtlck1lc3NhZ2luZ1Byb3h5KCk7
CiAKKyAgICAgICAgdm9pZCB3b3JrZXJPYmplY3REZXN0cm95ZWRJbnRlcm5hbCgpOwogICAgICAg
ICB2b2lkIHdvcmtlckNvbnRleHREZXN0cm95ZWRJbnRlcm5hbCgpOwogICAgICAgICB2b2lkIHJl
cG9ydFBlbmRpbmdBY3Rpdml0eUludGVybmFsKGJvb2wgY29uZmlybWluZ01lc3NhZ2UsIGJvb2wg
aGFzUGVuZGluZ0FjdGl2aXR5KTsKICAgICAgICAgV29ya2VyKiB3b3JrZXJPYmplY3QoKSBjb25z
dCB7IHJldHVybiBtX3dvcmtlck9iamVjdDsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147467</attachid>
            <date>2012-06-13 19:06:12 -0700</date>
            <delta_ts>2012-06-14 13:19:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88601-20120613190611.patch</filename>
            <type>text/plain</type>
            <size>4914</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyMDI2NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA2LTEzICBNYXJrIEhh
aG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV29ya2VyIHRlYXIt
ZG93biBjYW4gcmUtZW50ZXIgSlNDIGR1cmluZyBHQyBmaW5hbGl6YXRpb24gcHQuIDIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4NjAxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBD
dXJyZW50IHJlZ3Jlc3Npb24gdGVzdHMgYXJlIHN1ZmZpY2llbnQuCisKKyAgICAgICAgKiB3b3Jr
ZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1l
c3NhZ2luZ1Byb3h5OjpXb3JrZXJNZXNzYWdpbmdQcm94eSk6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXJNZXNzYWdpbmdQcm94eTo6d29ya2VyT2JqZWN0RGVzdHJveWVkKTogV2UgY2xlYXIgdGhl
IG1fd29ya2VyT2JqZWN0IGhlcmUgYmVjYXVzZSAKKyAgICAgICAgd2UgZG9uJ3Qgd2FudCBhbnli
b2R5IGVsc2UgdHJ5aW5nIHRvIHNlbmQgbWVzc2FnZXMgdG8gdGhlIFdvcmtlciBub3cgdGhhdCBp
dCBoYXMgYmVlbiBkZXN0cm95ZWQuCisgICAgICAgIFdlIGFsc28gcXVldWUgdGhlIGFzeW5jaHJv
bm91cyB0YXNrIGZvciB0aGUgdmFyaW91cyBvdGhlciBjbGVhbnVwIHRoYXQgc3RpbGwgbmVlZHMg
dG8gYmUgZG9uZS4gCisgICAgICAgIFRoaXMgYWxsb3dzIHVzIHRvIGF2b2lkIHRoZSBwcm9ibGVt
IG9mIHJlLWVudHJhbnQgSlMgY29kZSBleGVjdXRpb24gZHVyaW5nIEdDLgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQcm94eTo6d29ya2VyT2Jq
ZWN0RGVzdHJveWVkSW50ZXJuYWwpOiBIZXJlIHdlIHNldCBtX2NhbkJlRGVzdHJveWVkIHRvIHRy
dWUuCisgICAgICAgIFRoaXMgaXMgdGhlIHBvaW50IGFmdGVyIHdoaWNoIGRlbGV0aW5nIHRoZSBX
b3JrZXJNZXNzYWdpbmdQcm94eSBpbiB3b3JrZXJDb250ZXh0RGVzdHJveWVkSW50ZXJuYWwoKQor
ICAgICAgICBpcyBva2F5LiBJdCBjb3VsZCBoYXBwZW4gZHVyaW5nIHRoaXMgZnVuY3Rpb24gY2Fs
bCBpZiB0aGUgd29ya2VyIHRocmVhZCBoYXMgYmVlbiBzaHV0ZG93biBhbHJlYWR5LCBvciAKKyAg
ICAgICAgaXQgY291bGQgYmUgY2FsbGVkIGxhdGVyIGFmdGVyIHdlIHNodXQgZG93biB0aGUgd29y
a2VyIHRocmVhZC4KKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5Ojp3b3Jr
ZXJDb250ZXh0RGVzdHJveWVkSW50ZXJuYWwpOiBXZSBjaGVjayBtX2NhbkJlRGVzdHJveWVkIGhl
cmUgCisgICAgICAgIGluc3RlYWQgb2YgY2hlY2tpbmcgbV93b3JrZXJPYmplY3QuIFRoaXMgY2hh
bmdlIGVmZmVjdGl2ZWx5IG9ydGhvZ29uYWxpemVzIHRoZSByb2xlcyB0aGF0IG1fd29ya2VyT2Jq
ZWN0IAorICAgICAgICB3YXMgZmlsbGluZy4gU2luY2Ugd2Ugd2VyZSBlYWdlcmx5IGNsZWFyaW5n
IG1fd29ya2VyT2JqZWN0LCBidXQgd2Ugd2FudGVkIHRvIGFzeW5jaHJvbm91c2x5IGNhbGwgCisg
ICAgICAgIHdvcmtlck9iamVjdERlc3Ryb3llZCgpLCB3ZSBuZWVkZWQgdG8gbWFrZSBzdXJlIHdl
IGRpZG4ndCBhY2NpZGVudGFsbHkgdHJ5IHRvIGRlbGV0ZSB0aGUgV29ya2VyTWVzc2FnaW5nUHJv
eHkKKyAgICAgICAgdHdpY2UgKG9uY2UgZnJvbSBkZXN0cm95aW5nIHRoZSBXb3JrZXIgYW5kIG9u
Y2UgZnJvbSBkZXN0cm95aW5nIHRoZSBXb3JrZXJDb250ZXh0KS4gVGhpcyBib29sZWFuIGZpZWxk
IAorICAgICAgICBzaG91bGQgZml4IHRoYXQgaXNzdWUtLXdlIHNldCBpdCBsYXppbHkgbGlrZSB3
ZSB3YW50ZWQgdG8gZG8gd2l0aG91dCBiZWluZyBpbiBkYW5nZXIgb2YgY2F1c2luZyB1c2UtYWZ0
ZXItZnJlZQorICAgICAgICBpc3N1ZXMgd2l0aCBtX3dvcmtlck9iamVjdC4KKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6IEFkZGVkIHRoZSBuZXcgZmllbGQgYW5kIGZ1
bmN0aW9uLgorICAgICAgICAoV29ya2VyTWVzc2FnaW5nUHJveHkpOgorCiAyMDEyLTA2LTEzICBE
YW5hIEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0g
Q3JlYXRlIGEgQ0NTdHJlYW1WaWRlb0RyYXdRdWFkIHVzZWQgZm9yIFN0cmVhbVRleHR1cmUgdmlk
ZW8gb3V0cHV0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1By
b3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3Nh
Z2luZ1Byb3h5LmNwcAkocmV2aXNpb24gMTIwMjE5KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1MCw2ICsyNTAs
NyBAQCBXb3JrZXJDb250ZXh0UHJveHkqIFdvcmtlckNvbnRleHRQcm94eTo6CiBXb3JrZXJNZXNz
YWdpbmdQcm94eTo6V29ya2VyTWVzc2FnaW5nUHJveHkoV29ya2VyKiB3b3JrZXJPYmplY3QpCiAg
ICAgOiBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQod29ya2VyT2JqZWN0LT5zY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkpCiAgICAgLCBtX3dvcmtlck9iamVjdCh3b3JrZXJPYmplY3QpCisgICAgLCBt
X2NhbkJlRGVzdHJveWVkKGZhbHNlKQogICAgICwgbV91bmNvbmZpcm1lZE1lc3NhZ2VDb3VudCgw
KQogICAgICwgbV93b3JrZXJUaHJlYWRIYWRQZW5kaW5nQWN0aXZpdHkoZmFsc2UpCiAgICAgLCBt
X2Fza2VkVG9UZXJtaW5hdGUoZmFsc2UpCkBAIC0zNTQsMTAgKzM1NSwxNiBAQCB2b2lkIFdvcmtl
ck1lc3NhZ2luZ1Byb3h5Ojp3b3JrZXJUaHJlYWRDCiB2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5
Ojp3b3JrZXJPYmplY3REZXN0cm95ZWQoKQogewogICAgIG1fd29ya2VyT2JqZWN0ID0gMDsKLSAg
ICBpZiAobV93b3JrZXJUaHJlYWQpCi0gICAgICAgIHRlcm1pbmF0ZVdvcmtlckNvbnRleHQoKTsK
KyAgICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPnBvc3RUYXNrKGNyZWF0ZUNhbGxiYWNrVGFz
aygmd29ya2VyT2JqZWN0RGVzdHJveWVkSW50ZXJuYWwsIEFsbG93Q3Jvc3NUaHJlYWRBY2Nlc3Mo
dGhpcykpKTsKK30KKwordm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6d29ya2VyT2JqZWN0RGVz
dHJveWVkSW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdvcmtlck1lc3NhZ2luZ1By
b3h5KiBwcm94eSkKK3sKKyAgICBwcm94eS0+bV9jYW5CZURlc3Ryb3llZCA9IHRydWU7CisgICAg
aWYgKHByb3h5LT5tX3dvcmtlclRocmVhZCkKKyAgICAgICAgcHJveHktPnRlcm1pbmF0ZVdvcmtl
ckNvbnRleHQoKTsKICAgICBlbHNlCi0gICAgICAgIHdvcmtlckNvbnRleHREZXN0cm95ZWRJbnRl
cm5hbCgpOworICAgICAgICBwcm94eS0+d29ya2VyQ29udGV4dERlc3Ryb3llZEludGVybmFsKCk7
CiB9CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQpAQCAtNDM4LDcgKzQ0NSw3IEBAIHZvaWQgV29y
a2VyTWVzc2FnaW5nUHJveHk6OndvcmtlckNvbnRleHQKIAogICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6d29ya2VyQ29udGV4dFRlcm1pbmF0ZWQobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0
LmdldCgpLCB0aGlzKTsKIAotICAgIGlmICghbV93b3JrZXJPYmplY3QpCisgICAgaWYgKG1fY2Fu
QmVEZXN0cm95ZWQpCiAgICAgICAgIGRlbGV0ZSB0aGlzOwogfQogCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCShyZXZpc2lvbiAxMjAyMTkp
CisrKyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgJKHdvcmtp
bmcgY29weSkKQEAgLTk5LDExICs5OSwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IHZpcnR1YWwgfldvcmtlck1lc3NhZ2luZ1Byb3h5KCk7CiAKICAgICAgICAgdm9pZCB3b3JrZXJD
b250ZXh0RGVzdHJveWVkSW50ZXJuYWwoKTsKKyAgICAgICAgc3RhdGljIHZvaWQgd29ya2VyT2Jq
ZWN0RGVzdHJveWVkSW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdvcmtlck1lc3Nh
Z2luZ1Byb3h5Kik7CiAgICAgICAgIHZvaWQgcmVwb3J0UGVuZGluZ0FjdGl2aXR5SW50ZXJuYWwo
Ym9vbCBjb25maXJtaW5nTWVzc2FnZSwgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkpOwogICAgICAg
ICBXb3JrZXIqIHdvcmtlck9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fd29ya2VyT2JqZWN0OyB9
CiAKICAgICAgICAgUmVmUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ+IG1fc2NyaXB0RXhlY3V0
aW9uQ29udGV4dDsKICAgICAgICAgV29ya2VyKiBtX3dvcmtlck9iamVjdDsKKyAgICAgICAgYm9v
bCBtX2NhbkJlRGVzdHJveWVkOwogICAgICAgICBSZWZQdHI8RGVkaWNhdGVkV29ya2VyVGhyZWFk
PiBtX3dvcmtlclRocmVhZDsKIAogICAgICAgICB1bnNpZ25lZCBtX3VuY29uZmlybWVkTWVzc2Fn
ZUNvdW50OyAvLyBVbmNvbmZpcm1lZCBtZXNzYWdlcyBmcm9tIHdvcmtlciBvYmplY3QgdG8gd29y
a2VyIHRocmVhZC4K
</data>

          </attachment>
      

    </bug>

</bugzilla>