<?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>94665</bug_id>
          
          <creation_ts>2012-08-21 19:56:54 -0700</creation_ts>
          <short_desc>Baseline optimizer should try to optimize per-port if global optimization fails</short_desc>
          <delta_ts>2012-08-22 19:11:59 -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>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>
          <dependson>94762</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Russell">kbr</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>beidson</cc>
    
    <cc>dominicc</cc>
    
    <cc>dpranke</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>701511</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-08-21 19:56:54 -0700</bug_when>
    <thetext>In http://trac.webkit.org/changeset/126225 failing Mountain Lion text results were checked in to platform/mac/ which caused failures on all Chromium ports. dpranke updated webkit-patch to generate correct rebaselines for the Chromium port (i.e., to not destroy the new results in platform/mac/), but the baseline optimizer doesn&apos;t handle this situation well and generates fairly redundant baselines. For fast/canvas/canvas-scale-shadowBlur.html, it produces the following rebaselines:

  LayoutTests/platform/chromium-linux-x86/fast/canvas/canvas-scale-shadowBlur-expected.txt
  LayoutTests/platform/chromium-linux/fast/canvas/canvas-scale-shadowBlur-expected.txt
  LayoutTests/platform/chromium-mac-snowleopard/fast/canvas/canvas-scale-shadowBlur-expected.txt
  LayoutTests/platform/chromium-mac/fast/canvas/canvas-scale-shadowBlur-expected.txt
  LayoutTests/platform/chromium-win-xp/fast/canvas/canvas-scale-shadowBlur-expected.txt
  LayoutTests/platform/chromium-win/fast/canvas/canvas-scale-shadowBlur-expected.txt

where ideally it would just produce a result into LayoutTests/platform/chromium/ .

It looks like in order for this to work, the baseline optimizer&apos;s algorithm would have to be changed to try to optimize the results just within a given port (i.e., all of the chromium-related directories) if the global optimization heuristics fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701514</commentid>
    <comment_count>1</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-21 20:08:34 -0700</bug_when>
    <thetext>to provide a little more detail, what happens is that mountain lion fails differently from every other port, so we have two results, X, and Y.

The baseline optimizer bins mountain-lion into one bucket, and all of the other ports into the other bucket; so the most_common_specific_directory for all of the other ports is the generic LayoutTests directory; this result is wrong, because it fails to account for the fact that chromium (and mac-lion and mac-snowleopard) won&apos;t see that result, it&apos;ll use the ML result.

although I spent some time thinking about it, it wasn&apos;t obvious to me how to change the algorithm in baselineoptimizer to accomodate this. It seemed like we might have to complete redo the approach, but maybe I&apos;m missing something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701518</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-08-21 20:11:19 -0700</bug_when>
    <thetext>Committed r126255: &lt;http://trac.webkit.org/changeset/126255&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701569</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-08-21 22:29:42 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; In http://trac.webkit.org/changeset/126225 failing Mountain Lion text results were checked in to platform/mac/ which caused failures on all Chromium ports. 

I&apos;m sorry for the failures.  The explanation is simple - I was working on a rebaselining effort believed to only affect Apple ports.

I (and others at Apple) expected that mac and mac-* were our directories that we owned.  There might be some at Apple that knew that chromium pulled from &quot;our&quot; directory but that knowledge has not been spread here institutionally.

Was there a point in time where chromium started pulling from the mac results, and it hadn&apos;t before?

I&apos;m quite curious why this sharing takes place.  While I can believe - for example - that chromium-mountain-lion might differ from the generic results for some tests the exact same way mac-mountain-lion does, I instinctually suspect that chromium would have more differences than commonalities when compared to generic.

I might be completely wrong about this.

Again, apologies for the noise...  Just a warning though.  Now that we have mountain-lion bots chugging away at build.webkit.org there is going to be a concerted effort over the coming days/weeks to continue getting them greener and this type of thing is bound to happen some more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701997</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-22 09:18:08 -0700</bug_when>
    <thetext>No, chromium has always tried to match the mac baselines where possible. There are two reasons for this: first, the Chromium mac port was explicitly trying to match the Apple Mac port. Second, it&apos;s simply the case that we produce a lot of the same baselines (thousands, last I checked), and so there&apos;s a significant advantage to sharing.

That said, you&apos;re not doing anything wrong. The tools are simply busted; if they were working correctly you&apos;d be able to rebaseline to your heart&apos;s content and we&apos;d simply adjust automatically.

It may also be that if fixing the tools turns out to be hard, we should stop falling back to mac and just accept the duplicated baselines, but I don&apos;t think we&apos;re quite there yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701999</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-08-22 09:20:28 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; No, chromium has always tried to match the mac baselines where possible. There are two reasons for this: first, the Chromium mac port was explicitly trying to match the Apple Mac port. Second, it&apos;s simply the case that we produce a lot of the same baselines (thousands, last I checked), and so there&apos;s a significant advantage to sharing.
&gt; 
&gt; That said, you&apos;re not doing anything wrong. The tools are simply busted; if they were working correctly you&apos;d be able to rebaseline to your heart&apos;s content and we&apos;d simply adjust automatically.
&gt; 
&gt; It may also be that if fixing the tools turns out to be hard, we should stop falling back to mac and just accept the duplicated baselines, but I don&apos;t think we&apos;re quite there yet.

Thanks for the explanation!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702123</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-22 11:44:09 -0700</bug_when>
    <thetext>I think we should change chromium to no longer fall back through platform/mac.  We did this originally when bringing up the chromium port because platform/mac had many baselines that worked for Chromium as well, but now I think it causes more trouble than it&apos;s worth.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702128</commentid>
    <comment_count>7</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-22 11:51:16 -0700</bug_when>
    <thetext>I am running some scripts now to figure out what the impact of not falling back through platform/mac would be (how many baselines we&apos;d need to copy down to platform/chromium). It might be that this is the right long-term thing to do regardless of improving the optimizer algorithm or not ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702225</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-22 12:41:43 -0700</bug_when>
    <thetext>Another approach Dirk and I discussed was adding a second optimization strategy that iterates using least_common_specific_directory rather than trying to optimize all-at-once with most_common_specific_directory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702571</commentid>
    <comment_count>9</comment_count>
      <attachid>160052</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-22 17:48:45 -0700</bug_when>
    <thetext>Created attachment 160052
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702577</commentid>
    <comment_count>10</comment_count>
      <attachid>160052</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-22 17:56:09 -0700</bug_when>
    <thetext>Comment on attachment 160052
Patch

This seems fine.  Would you be willing to convert _optimize_by_pushing_results_up to use a loop rather than recursion?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702579</commentid>
    <comment_count>11</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-22 17:57:58 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 160052 [details])
&gt; This seems fine.  Would you be willing to convert _optimize_by_pushing_results_up to use a loop rather than recursion?

Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702588</commentid>
    <comment_count>12</comment_count>
      <attachid>160054</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-22 18:07:35 -0700</bug_when>
    <thetext>Created attachment 160054
patch for landing w/o recursion</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702590</commentid>
    <comment_count>13</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-22 18:08:00 -0700</bug_when>
    <thetext>Committed r126374: &lt;http://trac.webkit.org/changeset/126374&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702613</commentid>
    <comment_count>14</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-22 18:36:39 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/126380 fixes a couple of issues with the r126374.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702630</commentid>
    <comment_count>15</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-08-22 19:11:59 -0700</bug_when>
    <thetext>FYI this new algorithm worked great optimizing yesterday&apos;s tricky case; see http://trac.webkit.org/changeset/126382 .</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160052</attachid>
            <date>2012-08-22 17:48:45 -0700</date>
            <delta_ts>2012-08-22 18:07:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94665-20120822174842.patch</filename>
            <type>text/plain</type>
            <size>7004</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2MzU0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGE5NmIyMzdhYWYzMGMyOWFmY2EwMzMxYjZjYjdmZGFi
YTY3N2Q4YS4uMTZjNzA3MmUyNGE3OTM4NjdlZDNlYTUwZDcxOGU2ZWRmZDIyMTdkMCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM2
IEBACiAyMDEyLTA4LTIyICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIEJhc2VsaW5lIG9wdGltaXplciBzaG91bGQgdHJ5IHRvIG9wdGltaXplIHBlci1wb3J0
IGlmIGdsb2JhbCBvcHRpbWl6YXRpb24gZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk0NjY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgZmFsbGJhY2sgc3RyYXRlZ3kgZm9yIG9wdGltaXpp
bmcgYmFzZWxpbmVzIGlmIHRoZSBkZWZhdWx0CisgICAgICAgIG9uZSBmYWlsczsgdGhpcyBvbmUg
c2ltcGx5IGF0dGVtcHRzIHRvIHNoaWZ0IGJhc2VsaW5lcyB1cCBpbiB0aGUKKyAgICAgICAgdHJl
ZSBhbmQgY29uc29saWRhdGVzIHRoZW0gaWYgYSBwYXJlbnQgYW5kIGNoaWxkIGluIHRoZSBmYWxs
YmFjaworICAgICAgICBwYXRoIGhhdmUgdGhlIHNhbWUgcmVzdWx0LiBUaGlzIHN0cmF0ZWd5IGlz
IHNvbWV3aGF0IGZsYXdlZCBpbgorICAgICAgICB0aGF0IHdlIHdpbGwgYWx3YXlzIHB1dCBzb21l
dGhpbmcgaW4gYSBwYXJlbnQgZGlyIGV2ZW4gaWYgd2UKKyAgICAgICAgInNob3VsZG4ndCI7IGZv
ciBleGFtcGxlLCBpZiBjaHJvbWl1bS1tYWMgcHJvZHVjZXMgYSBkaWZmZXJlbnQKKyAgICAgICAg
cmVzdWx0IGZyb20gY2hyb21pdW0td2luIGFuZCBjaHJvbWl1bS1saW51eCwgdGhlbiB0aGUgbmV3
CisgICAgICAgIGFsZ29yaXRobSB3aWxsIG1vdmUgdGhlIG1hYyByZXN1bHQgaW50byBwbGF0Zm9y
bS9jaHJvbWl1bSwKKyAgICAgICAgbGVhdmluZyBjaHJvbWl1bS1tYWMgZW1wdHkuIFRoaXMgcmVz
dWx0IGlzIHN0aWxsIGNvcnJlY3QsIGJ1dAorICAgICAgICBwZXJoYXBzIGNvbmZ1c2luZy4KKwor
ICAgICAgICBJIGhhdmVuJ3QgZG9uZSBtdWNoIHRlc3Rpbmcgb2YgdGhpcyBhbGdvcml0aG0geWV0
LCBzbyBpdCdzIG5vdAorICAgICAgICBjbGVhciBob3cgbWFueSBjYXNlcyB3aGVyZSB0aGlzIGRv
ZXMgYSBiZXR0ZXIgam9iIHRoYW4gdGhlCisgICAgICAgIGRlZmF1bHQgYWxnb3JpdGhtIGFuZCBo
b3cgbWFueSBpdCdsbCBkbyBhIHdvcnNlIGpvYi4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvY29tbW9uL2NoZWNrb3V0L2Jhc2VsaW5lb3B0aW1pemVyLnB5OgorICAgICAgICAoQmFzZWxp
bmVPcHRpbWl6ZXIuX2ZpbmRfb3B0aW1hbF9yZXN1bHRfcGxhY2VtZW50KToKKyAgICAgICAgKEJh
c2VsaW5lT3B0aW1pemVyLl9vcHRpbWl6ZV9ieV9tb3N0X3NwZWNpZmljX2NvbW1vbl9kaXJlY3Rv
cnkpOgorICAgICAgICAoQmFzZWxpbmVPcHRpbWl6ZXIpOgorICAgICAgICAoQmFzZWxpbmVPcHRp
bWl6ZXIuX29wdGltaXplX2J5X3B1c2hpbmdfcmVzdWx0c191cCk6CisgICAgICAgIChCYXNlbGlu
ZU9wdGltaXplci5fZmluZF9pbl9mYWxsYmFja3BhdGgpOgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL2NoZWNrb3V0L2Jhc2VsaW5lb3B0aW1pemVyX3VuaXR0ZXN0LnB5OgorICAg
ICAgICAoQmFzZWxpbmVPcHRpbWl6ZXJUZXN0LnRlc3RfcGxhdGZvcm1fbWFjX2RpZmZlcmVudCk6
CisKKzIwMTItMDgtMjIgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CisKICAg
ICAgICAgYWRkIGRlYnVnIGluZm8sIGFub3RoZXIgdGVzdCB0byB3ZWJraXQtcGF0Y2ggb3B0aW1p
emUtYmFzZWxpbmVzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05NDc2MgogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9j
aGVja291dC9iYXNlbGluZW9wdGltaXplci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NoZWNrb3V0L2Jhc2VsaW5lb3B0aW1pemVyLnB5CmluZGV4IDk2ODI5ZGRlODYzN2JiMGE3
ZGZlMDNjOWVlZGUxMTE5OWU3OTljN2IuLmMyNTEwMjg5ZTUwZmExYjk2Njk0N2I3M2Y2OWFhZmE4
MWJjZTliYzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNr
b3V0L2Jhc2VsaW5lb3B0aW1pemVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NoZWNrb3V0L2Jhc2VsaW5lb3B0aW1pemVyLnB5CkBAIC0yNiw2ICsyNiw3IEBACiAjIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCitpbXBvcnQgY29weQogaW1wb3J0IGxvZ2dpbmcK
IAogCkBAIC0xMjUsOSArMTI2LDkgQEAgY2xhc3MgQmFzZWxpbmVPcHRpbWl6ZXIob2JqZWN0KToK
ICAgICAgICAgcmVzdWx0c19ieV9wb3J0X25hbWUgPSBzZWxmLl9yZXN1bHRzX2J5X3BvcnRfbmFt
ZShyZXN1bHRzX2J5X2RpcmVjdG9yeSkKICAgICAgICAgcG9ydF9uYW1lc19ieV9yZXN1bHQgPSBf
aW52ZXJ0X2RpY3Rpb25hcnkocmVzdWx0c19ieV9wb3J0X25hbWUpCiAKLSAgICAgICAgcmVzdWx0
c19ieV9kaXJlY3RvcnksIG5ld19yZXN1bHRzX2J5X2RpcmVjdG9yeSA9IHNlbGYuX29wdGltaXpl
X2J5X21vc3Rfc3BlY2lmaWNfY29tbW9uX2RpcmVjdG9yeShyZXN1bHRzX2J5X2RpcmVjdG9yeSwg
cmVzdWx0c19ieV9wb3J0X25hbWUsIHBvcnRfbmFtZXNfYnlfcmVzdWx0KQorICAgICAgICBuZXdf
cmVzdWx0c19ieV9kaXJlY3RvcnkgPSBzZWxmLl9vcHRpbWl6ZV9ieV9tb3N0X3NwZWNpZmljX2Nv
bW1vbl9kaXJlY3RvcnkocmVzdWx0c19ieV9kaXJlY3RvcnksIHJlc3VsdHNfYnlfcG9ydF9uYW1l
LCBwb3J0X25hbWVzX2J5X3Jlc3VsdCkKICAgICAgICAgaWYgbm90IG5ld19yZXN1bHRzX2J5X2Rp
cmVjdG9yeToKLSAgICAgICAgICAgIHBhc3MgICMgRklYTUU6IFRyeSBzb21ldGhpbmcgZWxzZS4K
KyAgICAgICAgICAgIG5ld19yZXN1bHRzX2J5X2RpcmVjdG9yeSA9IHNlbGYuX29wdGltaXplX2J5
X3B1c2hpbmdfcmVzdWx0c191cChyZXN1bHRzX2J5X2RpcmVjdG9yeSwgcmVzdWx0c19ieV9wb3J0
X25hbWUsIHBvcnRfbmFtZXNfYnlfcmVzdWx0KQogCiAgICAgICAgIHJldHVybiByZXN1bHRzX2J5
X2RpcmVjdG9yeSwgbmV3X3Jlc3VsdHNfYnlfZGlyZWN0b3J5CiAKQEAgLTE0NCwxMCArMTQ1LDM4
IEBAIGNsYXNzIEJhc2VsaW5lT3B0aW1pemVyKG9iamVjdCk6CiAgICAgICAgICAgICBuZXdfdW5z
YXRpc2ZpZWRfcG9ydF9uYW1lc19ieV9yZXN1bHQgPSBzZWxmLl9maWx0ZXJfcG9ydF9uYW1lc19i
eV9yZXN1bHQoaXNfdW5zYXRpc2ZpZWQsIHBvcnRfbmFtZXNfYnlfcmVzdWx0KQogCiAgICAgICAg
ICAgICBpZiBsZW4obmV3X3Vuc2F0aXNmaWVkX3BvcnRfbmFtZXNfYnlfcmVzdWx0LnZhbHVlcygp
KSA+PSBsZW4odW5zYXRpc2ZpZWRfcG9ydF9uYW1lc19ieV9yZXN1bHQudmFsdWVzKCkpOgotICAg
ICAgICAgICAgICAgIGJyZWFrICAjIEZyb3ducy4gV2UgZG8gbm90IGFwcGVhciB0byBiZSBjb252
ZXJnaW5nLgorICAgICAgICAgICAgICAgIHJldHVybiB7fSAgIyBGcm93bnMuIFdlIGRvIG5vdCBh
cHBlYXIgdG8gYmUgY29udmVyZ2luZy4KICAgICAgICAgICAgIHVuc2F0aXNmaWVkX3BvcnRfbmFt
ZXNfYnlfcmVzdWx0ID0gbmV3X3Vuc2F0aXNmaWVkX3BvcnRfbmFtZXNfYnlfcmVzdWx0CiAKLSAg
ICAgICAgcmV0dXJuIHJlc3VsdHNfYnlfZGlyZWN0b3J5LCBuZXdfcmVzdWx0c19ieV9kaXJlY3Rv
cnkKKyAgICAgICAgcmV0dXJuIG5ld19yZXN1bHRzX2J5X2RpcmVjdG9yeQorCisgICAgZGVmIF9v
cHRpbWl6ZV9ieV9wdXNoaW5nX3Jlc3VsdHNfdXAoc2VsZiwgcmVzdWx0c19ieV9kaXJlY3Rvcnks
IHJlc3VsdHNfYnlfcG9ydF9uYW1lLCBwb3J0X25hbWVzX2J5X3Jlc3VsdCk6CisgICAgICAgIG5l
d19yZXN1bHRzX2J5X2RpcmVjdG9yeSA9IGNvcHkuY29weShyZXN1bHRzX2J5X2RpcmVjdG9yeSkK
KyAgICAgICAgZm9yIHBvcnRfbmFtZSBpbiBzZWxmLl9oeXBlcmdyYXBoLmtleXMoKToKKyAgICAg
ICAgICAgIGZhbGxiYWNrX3BhdGggPSBzZWxmLl9oeXBlcmdyYXBoW3BvcnRfbmFtZV0KKyAgICAg
ICAgICAgIGN1cnJlbnRfaW5kZXgsIGN1cnJlbnRfZGlyZWN0b3J5ID0gc2VsZi5fZmluZF9pbl9m
YWxsYmFja3BhdGgoZmFsbGJhY2tfcGF0aCwgcmVzdWx0c19ieV9wb3J0X25hbWVbcG9ydF9uYW1l
XSwgcmVzdWx0c19ieV9kaXJlY3RvcnkpCisgICAgICAgICAgICBjdXJyZW50X3Jlc3VsdCA9IHJl
c3VsdHNfYnlfcG9ydF9uYW1lW3BvcnRfbmFtZV0KKyAgICAgICAgICAgIGZvciBpbmRleCBpbiBy
YW5nZShjdXJyZW50X2luZGV4ICsgMSwgbGVuKGZhbGxiYWNrX3BhdGgpKToKKyAgICAgICAgICAg
ICAgICBuZXdfZGlyZWN0b3J5ID0gZmFsbGJhY2tfcGF0aFtpbmRleF0KKyAgICAgICAgICAgICAg
ICBpZiBub3QgbmV3X2RpcmVjdG9yeSBpbiBuZXdfcmVzdWx0c19ieV9kaXJlY3Rvcnk6CisgICAg
ICAgICAgICAgICAgICAgIG5ld19yZXN1bHRzX2J5X2RpcmVjdG9yeVtuZXdfZGlyZWN0b3J5XSA9
IGN1cnJlbnRfcmVzdWx0CisgICAgICAgICAgICAgICAgICAgIGlmIGN1cnJlbnRfZGlyZWN0b3J5
IGluIG5ld19yZXN1bHRzX2J5X2RpcmVjdG9yeToKKyAgICAgICAgICAgICAgICAgICAgICAgIGRl
bCBuZXdfcmVzdWx0c19ieV9kaXJlY3RvcnlbY3VycmVudF9kaXJlY3RvcnldCisgICAgICAgICAg
ICAgICAgZWxpZiBuZXdfcmVzdWx0c19ieV9kaXJlY3RvcnlbbmV3X2RpcmVjdG9yeV0gPT0gY3Vy
cmVudF9yZXN1bHQ6CisgICAgICAgICAgICAgICAgICAgIGlmIGN1cnJlbnRfZGlyZWN0b3J5IGlu
IG5ld19yZXN1bHRzX2J5X2RpcmVjdG9yeToKKyAgICAgICAgICAgICAgICAgICAgICAgIGRlbCBu
ZXdfcmVzdWx0c19ieV9kaXJlY3RvcnlbY3VycmVudF9kaXJlY3RvcnldCisgICAgICAgICAgICAg
ICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgaWYgbGVuKG5ld19y
ZXN1bHRzX2J5X2RpcmVjdG9yeSkgPCBsZW4ocmVzdWx0c19ieV9kaXJlY3RvcnkpOgorICAgICAg
ICAgICAgIyBUaGlzIHJlY3Vyc2VzIHVudGlsIHdlIHN0b3AgaW1wcm92aW5nLgorICAgICAgICAg
ICAgcmV0dXJuIHNlbGYuX29wdGltaXplX2J5X3B1c2hpbmdfcmVzdWx0c191cChuZXdfcmVzdWx0
c19ieV9kaXJlY3RvcnksIHJlc3VsdHNfYnlfcG9ydF9uYW1lLCBwb3J0X25hbWVzX2J5X3Jlc3Vs
dCkKKyAgICAgICAgcmV0dXJuIHJlc3VsdHNfYnlfZGlyZWN0b3J5CisKKyAgICBkZWYgX2ZpbmRf
aW5fZmFsbGJhY2twYXRoKHNlbGYsIGZhbGxiYWNrX3BhdGgsIGN1cnJlbnRfcmVzdWx0LCByZXN1
bHRzX2J5X2RpcmVjdG9yeSk6CisgICAgICAgIGZvciBpbmRleCwgZGlyZWN0b3J5IGluIGVudW1l
cmF0ZShmYWxsYmFja19wYXRoKToKKyAgICAgICAgICAgIGlmIGRpcmVjdG9yeSBpbiByZXN1bHRz
X2J5X2RpcmVjdG9yeSBhbmQgKHJlc3VsdHNfYnlfZGlyZWN0b3J5W2RpcmVjdG9yeV0gPT0gY3Vy
cmVudF9yZXN1bHQpOgorICAgICAgICAgICAgICAgIHJldHVybiBpbmRleCwgZGlyZWN0b3J5Cisg
ICAgICAgIGFzc2VydCBGYWxzZSwgInJlc3VsdCAlcyBub3QgZm91bmQgaW4gZmFsbGJhY2tfcGF0
aCAlcywgJXMiICUgKGN1cnJlbnRfcmVzdWx0LCBmYWxsYmFja19wYXRoLCByZXN1bHRzX2J5X2Rp
cmVjdG9yeSkKIAogICAgIGRlZiBfZmlsdGVyZWRfcmVzdWx0c19ieV9wb3J0X25hbWUoc2VsZiwg
cmVzdWx0c19ieV9kaXJlY3RvcnkpOgogICAgICAgICByZXN1bHRzX2J5X3BvcnRfbmFtZSA9IHNl
bGYuX3Jlc3VsdHNfYnlfcG9ydF9uYW1lKHJlc3VsdHNfYnlfZGlyZWN0b3J5KQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvYmFzZWxpbmVvcHRpbWl6
ZXJfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9i
YXNlbGluZW9wdGltaXplcl91bml0dGVzdC5weQppbmRleCBlOGJjZmM0OTM1MTNmYzlhYmQxYTI2
YWU2ODY2OWY3Y2IxY2IwMWY0Li4wODJiYzY1NzYzMWNkNGMxMmEwMjExOWJhYWM0ZmQ4MTI5Mjcw
MmRlIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9i
YXNlbGluZW9wdGltaXplcl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9jaGVja291dC9iYXNlbGluZW9wdGltaXplcl91bml0dGVzdC5weQpAQCAtNzQsNyAr
NzQsNyBAQCBjbGFzcyBCYXNlbGluZU9wdGltaXplclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgog
ICAgICAgICB9KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhvc3QuZmlsZXN5c3RlbS5yZWFk
X2JpbmFyeV9maWxlKCcvbW9jay1jaGVja291dC9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9hbm90aGVyL3Rlc3QtZXhwZWN0ZWQudHh0JyksICdyZXN1bHQgQScpCiAKLSAgICBkZWYgZGlz
YWJsZWRfdGVzdF9wbGF0Zm9ybV9tYWNfZGlmZmVyZW50KHNlbGYpOgorICAgIGRlZiB0ZXN0X3Bs
YXRmb3JtX21hY19kaWZmZXJlbnQoc2VsZik6CiAgICAgICAgIHNlbGYuX2Fzc2VydE9wdGltaXph
dGlvbih7CiAgICAgICAgICAgICAnTGF5b3V0VGVzdHMnOiAnNDYyZDAzYjljMDI1ZGIxYjAzOTJk
NzQ1MzMxMGRiZWU1ZjlhOWU3NCcsCiAgICAgICAgICAgICAnTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjJzogJzQ1M2U2NzE3N2E3NWIyZTc5OTA1MTU0ZWNlMGVmYmE2ZTViZmI2NWQnLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160054</attachid>
            <date>2012-08-22 18:07:35 -0700</date>
            <delta_ts>2012-08-22 18:07:35 -0700</delta_ts>
            <desc>patch for landing w/o recursion</desc>
            <filename>bug-94665-20120822180732.patch</filename>
            <type>text/plain</type>
            <size>7223</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2MzcyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjZmMTAwZTVlYjlhNTMxMDMyOTVkYTBlOWZiMDFjNmU2
M2ZmYmI1Ny4uZjBjNzFmYTcxOTMwY2Q3ODU4ZGRkM2QyMTA3YTA0NzI1ZGFmMzIyZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM2
IEBACiAyMDEyLTA4LTIyICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIEJhc2VsaW5lIG9wdGltaXplciBzaG91bGQgdHJ5IHRvIG9wdGltaXplIHBlci1wb3J0
IGlmIGdsb2JhbCBvcHRpbWl6YXRpb24gZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk0NjY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBC
YXJ0aC4KKworICAgICAgICBBZGQgYSBmYWxsYmFjayBzdHJhdGVneSBmb3Igb3B0aW1pemluZyBi
YXNlbGluZXMgaWYgdGhlIGRlZmF1bHQKKyAgICAgICAgb25lIGZhaWxzOyB0aGlzIG9uZSBzaW1w
bHkgYXR0ZW1wdHMgdG8gc2hpZnQgYmFzZWxpbmVzIHVwIGluIHRoZQorICAgICAgICB0cmVlIGFu
ZCBjb25zb2xpZGF0ZXMgdGhlbSBpZiBhIHBhcmVudCBhbmQgY2hpbGQgaW4gdGhlIGZhbGxiYWNr
CisgICAgICAgIHBhdGggaGF2ZSB0aGUgc2FtZSByZXN1bHQuIFRoaXMgc3RyYXRlZ3kgaXMgc29t
ZXdoYXQgZmxhd2VkIGluCisgICAgICAgIHRoYXQgd2Ugd2lsbCBhbHdheXMgcHV0IHNvbWV0aGlu
ZyBpbiBhIHBhcmVudCBkaXIgZXZlbiBpZiB3ZQorICAgICAgICAic2hvdWxkbid0IjsgZm9yIGV4
YW1wbGUsIGlmIGNocm9taXVtLW1hYyBwcm9kdWNlcyBhIGRpZmZlcmVudAorICAgICAgICByZXN1
bHQgZnJvbSBjaHJvbWl1bS13aW4gYW5kIGNocm9taXVtLWxpbnV4LCB0aGVuIHRoZSBuZXcKKyAg
ICAgICAgYWxnb3JpdGhtIHdpbGwgbW92ZSB0aGUgbWFjIHJlc3VsdCBpbnRvIHBsYXRmb3JtL2No
cm9taXVtLAorICAgICAgICBsZWF2aW5nIGNocm9taXVtLW1hYyBlbXB0eS4gVGhpcyByZXN1bHQg
aXMgc3RpbGwgY29ycmVjdCwgYnV0CisgICAgICAgIHBlcmhhcHMgY29uZnVzaW5nLgorCisgICAg
ICAgIEkgaGF2ZW4ndCBkb25lIG11Y2ggdGVzdGluZyBvZiB0aGlzIGFsZ29yaXRobSB5ZXQsIHNv
IGl0J3Mgbm90CisgICAgICAgIGNsZWFyIGhvdyBtYW55IGNhc2VzIHdoZXJlIHRoaXMgZG9lcyBh
IGJldHRlciBqb2IgdGhhbiB0aGUKKyAgICAgICAgZGVmYXVsdCBhbGdvcml0aG0gYW5kIGhvdyBt
YW55IGl0J2xsIGRvIGEgd29yc2Ugam9iLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9j
b21tb24vY2hlY2tvdXQvYmFzZWxpbmVvcHRpbWl6ZXIucHk6CisgICAgICAgIChCYXNlbGluZU9w
dGltaXplci5fZmluZF9vcHRpbWFsX3Jlc3VsdF9wbGFjZW1lbnQpOgorICAgICAgICAoQmFzZWxp
bmVPcHRpbWl6ZXIuX29wdGltaXplX2J5X21vc3Rfc3BlY2lmaWNfY29tbW9uX2RpcmVjdG9yeSk6
CisgICAgICAgIChCYXNlbGluZU9wdGltaXplcik6CisgICAgICAgIChCYXNlbGluZU9wdGltaXpl
ci5fb3B0aW1pemVfYnlfcHVzaGluZ19yZXN1bHRzX3VwKToKKyAgICAgICAgKEJhc2VsaW5lT3B0
aW1pemVyLl9maW5kX2luX2ZhbGxiYWNrcGF0aCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vY2hlY2tvdXQvYmFzZWxpbmVvcHRpbWl6ZXJfdW5pdHRlc3QucHk6CisgICAgICAg
IChCYXNlbGluZU9wdGltaXplclRlc3QudGVzdF9wbGF0Zm9ybV9tYWNfZGlmZmVyZW50KToKKwor
MjAxMi0wOC0yMiAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KKwogICAgICAg
ICBhZGQgZGVidWcgaW5mbywgYW5vdGhlciB0ZXN0IHRvIHdlYmtpdC1wYXRjaCBvcHRpbWl6ZS1i
YXNlbGluZXMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk0NzYyCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNr
b3V0L2Jhc2VsaW5lb3B0aW1pemVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
Y2hlY2tvdXQvYmFzZWxpbmVvcHRpbWl6ZXIucHkKaW5kZXggOTY4MjlkZGU4NjM3YmIwYTdkZmUw
M2M5ZWVkZTExMTk5ZTc5OWM3Yi4uOGVjMWE0NjJiOWU0ZDI2NDkwYjcwMWZjODU1NGFmZWIxNzU4
NTI5NCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQv
YmFzZWxpbmVvcHRpbWl6ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
Y2hlY2tvdXQvYmFzZWxpbmVvcHRpbWl6ZXIucHkKQEAgLTI2LDYgKzI2LDcgQEAKICMgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKK2ltcG9ydCBjb3B5CiBpbXBvcnQgbG9nZ2luZwogCiAK
QEAgLTEyNSw5ICsxMjYsOSBAQCBjbGFzcyBCYXNlbGluZU9wdGltaXplcihvYmplY3QpOgogICAg
ICAgICByZXN1bHRzX2J5X3BvcnRfbmFtZSA9IHNlbGYuX3Jlc3VsdHNfYnlfcG9ydF9uYW1lKHJl
c3VsdHNfYnlfZGlyZWN0b3J5KQogICAgICAgICBwb3J0X25hbWVzX2J5X3Jlc3VsdCA9IF9pbnZl
cnRfZGljdGlvbmFyeShyZXN1bHRzX2J5X3BvcnRfbmFtZSkKIAotICAgICAgICByZXN1bHRzX2J5
X2RpcmVjdG9yeSwgbmV3X3Jlc3VsdHNfYnlfZGlyZWN0b3J5ID0gc2VsZi5fb3B0aW1pemVfYnlf
bW9zdF9zcGVjaWZpY19jb21tb25fZGlyZWN0b3J5KHJlc3VsdHNfYnlfZGlyZWN0b3J5LCByZXN1
bHRzX2J5X3BvcnRfbmFtZSwgcG9ydF9uYW1lc19ieV9yZXN1bHQpCisgICAgICAgIG5ld19yZXN1
bHRzX2J5X2RpcmVjdG9yeSA9IHNlbGYuX29wdGltaXplX2J5X21vc3Rfc3BlY2lmaWNfY29tbW9u
X2RpcmVjdG9yeShyZXN1bHRzX2J5X2RpcmVjdG9yeSwgcmVzdWx0c19ieV9wb3J0X25hbWUsIHBv
cnRfbmFtZXNfYnlfcmVzdWx0KQogICAgICAgICBpZiBub3QgbmV3X3Jlc3VsdHNfYnlfZGlyZWN0
b3J5OgotICAgICAgICAgICAgcGFzcyAgIyBGSVhNRTogVHJ5IHNvbWV0aGluZyBlbHNlLgorICAg
ICAgICAgICAgbmV3X3Jlc3VsdHNfYnlfZGlyZWN0b3J5ID0gc2VsZi5fb3B0aW1pemVfYnlfcHVz
aGluZ19yZXN1bHRzX3VwKHJlc3VsdHNfYnlfZGlyZWN0b3J5LCByZXN1bHRzX2J5X3BvcnRfbmFt
ZSwgcG9ydF9uYW1lc19ieV9yZXN1bHQpCiAKICAgICAgICAgcmV0dXJuIHJlc3VsdHNfYnlfZGly
ZWN0b3J5LCBuZXdfcmVzdWx0c19ieV9kaXJlY3RvcnkKIApAQCAtMTQ0LDEwICsxNDUsNDUgQEAg
Y2xhc3MgQmFzZWxpbmVPcHRpbWl6ZXIob2JqZWN0KToKICAgICAgICAgICAgIG5ld191bnNhdGlz
ZmllZF9wb3J0X25hbWVzX2J5X3Jlc3VsdCA9IHNlbGYuX2ZpbHRlcl9wb3J0X25hbWVzX2J5X3Jl
c3VsdChpc191bnNhdGlzZmllZCwgcG9ydF9uYW1lc19ieV9yZXN1bHQpCiAKICAgICAgICAgICAg
IGlmIGxlbihuZXdfdW5zYXRpc2ZpZWRfcG9ydF9uYW1lc19ieV9yZXN1bHQudmFsdWVzKCkpID49
IGxlbih1bnNhdGlzZmllZF9wb3J0X25hbWVzX2J5X3Jlc3VsdC52YWx1ZXMoKSk6Ci0gICAgICAg
ICAgICAgICAgYnJlYWsgICMgRnJvd25zLiBXZSBkbyBub3QgYXBwZWFyIHRvIGJlIGNvbnZlcmdp
bmcuCisgICAgICAgICAgICAgICAgcmV0dXJuIHt9ICAjIEZyb3ducy4gV2UgZG8gbm90IGFwcGVh
ciB0byBiZSBjb252ZXJnaW5nLgogICAgICAgICAgICAgdW5zYXRpc2ZpZWRfcG9ydF9uYW1lc19i
eV9yZXN1bHQgPSBuZXdfdW5zYXRpc2ZpZWRfcG9ydF9uYW1lc19ieV9yZXN1bHQKIAotICAgICAg
ICByZXR1cm4gcmVzdWx0c19ieV9kaXJlY3RvcnksIG5ld19yZXN1bHRzX2J5X2RpcmVjdG9yeQor
ICAgICAgICByZXR1cm4gbmV3X3Jlc3VsdHNfYnlfZGlyZWN0b3J5CisKKyAgICBkZWYgX29wdGlt
aXplX2J5X3B1c2hpbmdfcmVzdWx0c191cChzZWxmLCByZXN1bHRzX2J5X2RpcmVjdG9yeSwgcmVz
dWx0c19ieV9wb3J0X25hbWUsIHBvcnRfbmFtZXNfYnlfcmVzdWx0KToKKyAgICAgICAgcmVzdWx0
c19ieV9kaXJlY3RvcnkgPSByZXN1bHRzX2J5X2RpcmVjdG9yeQorICAgICAgICBiZXN0X3NvX2Zh
ciA9IHJlc3VsdHNfYnlfZGlyZWN0b3J5CisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAg
ICBuZXdfcmVzdWx0c19ieV9kaXJlY3RvcnkgPSBjb3B5LmNvcHkoYmVzdF9zb19mYXIpCisgICAg
ICAgICAgICBmb3IgcG9ydF9uYW1lIGluIHNlbGYuX2h5cGVyZ3JhcGgua2V5cygpOgorICAgICAg
ICAgICAgICAgIGZhbGxiYWNrX3BhdGggPSBzZWxmLl9oeXBlcmdyYXBoW3BvcnRfbmFtZV0KKyAg
ICAgICAgICAgICAgICBjdXJyZW50X2luZGV4LCBjdXJyZW50X2RpcmVjdG9yeSA9IHNlbGYuX2Zp
bmRfaW5fZmFsbGJhY2twYXRoKGZhbGxiYWNrX3BhdGgsIHJlc3VsdHNfYnlfcG9ydF9uYW1lW3Bv
cnRfbmFtZV0sIHJlc3VsdHNfYnlfZGlyZWN0b3J5KQorICAgICAgICAgICAgICAgIGN1cnJlbnRf
cmVzdWx0ID0gcmVzdWx0c19ieV9wb3J0X25hbWVbcG9ydF9uYW1lXQorICAgICAgICAgICAgICAg
IGZvciBpbmRleCBpbiByYW5nZShjdXJyZW50X2luZGV4ICsgMSwgbGVuKGZhbGxiYWNrX3BhdGgp
KToKKyAgICAgICAgICAgICAgICAgICAgbmV3X2RpcmVjdG9yeSA9IGZhbGxiYWNrX3BhdGhbaW5k
ZXhdCisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBuZXdfZGlyZWN0b3J5IGluIG5ld19yZXN1
bHRzX2J5X2RpcmVjdG9yeToKKyAgICAgICAgICAgICAgICAgICAgICAgIG5ld19yZXN1bHRzX2J5
X2RpcmVjdG9yeVtuZXdfZGlyZWN0b3J5XSA9IGN1cnJlbnRfcmVzdWx0CisgICAgICAgICAgICAg
ICAgICAgICAgICBpZiBjdXJyZW50X2RpcmVjdG9yeSBpbiBuZXdfcmVzdWx0c19ieV9kaXJlY3Rv
cnk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsIG5ld19yZXN1bHRzX2J5X2RpcmVj
dG9yeVtjdXJyZW50X2RpcmVjdG9yeV0KKyAgICAgICAgICAgICAgICAgICAgZWxpZiBuZXdfcmVz
dWx0c19ieV9kaXJlY3RvcnlbbmV3X2RpcmVjdG9yeV0gPT0gY3VycmVudF9yZXN1bHQ6CisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiBjdXJyZW50X2RpcmVjdG9yeSBpbiBuZXdfcmVzdWx0c19i
eV9kaXJlY3Rvcnk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsIG5ld19yZXN1bHRz
X2J5X2RpcmVjdG9yeVtjdXJyZW50X2RpcmVjdG9yeV0KKyAgICAgICAgICAgICAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgICAgICAgICAgICAgICMgVGhlIG5ld19kaXJlY3RvcnkgY29udGFpbnMg
YSBkaWZmZXJlbnQgcmVzdWx0LCBzbyBzdG9wIHRyeWluZyB0byBwdXNoIHJlc3VsdHMgdXAuCisg
ICAgICAgICAgICAgICAgICAgICAgICBicmVhaworCisgICAgICAgICAgICBpZiBsZW4obmV3X3Jl
c3VsdHNfYnlfZGlyZWN0b3J5KSA+PSBsZW4oYmVzdF9zb19mYXIpOgorICAgICAgICAgICAgICAg
ICMgV2UndmUgZmFpbGVkIHRvIGltcHJvdmUsIHNvIGdpdmUgdXAuCisgICAgICAgICAgICAgICAg
YnJlYWsKKyAgICAgICAgICAgIGJlc3Rfc29fZmFyID0gbmV3X3Jlc3VsdHNfYnlfZGlyZWN0b3J5
CisKKyAgICAgICAgcmV0dXJuIGJlc3Rfc29fZmFyCisKKyAgICBkZWYgX2ZpbmRfaW5fZmFsbGJh
Y2twYXRoKHNlbGYsIGZhbGxiYWNrX3BhdGgsIGN1cnJlbnRfcmVzdWx0LCByZXN1bHRzX2J5X2Rp
cmVjdG9yeSk6CisgICAgICAgIGZvciBpbmRleCwgZGlyZWN0b3J5IGluIGVudW1lcmF0ZShmYWxs
YmFja19wYXRoKToKKyAgICAgICAgICAgIGlmIGRpcmVjdG9yeSBpbiByZXN1bHRzX2J5X2RpcmVj
dG9yeSBhbmQgKHJlc3VsdHNfYnlfZGlyZWN0b3J5W2RpcmVjdG9yeV0gPT0gY3VycmVudF9yZXN1
bHQpOgorICAgICAgICAgICAgICAgIHJldHVybiBpbmRleCwgZGlyZWN0b3J5CisgICAgICAgIGFz
c2VydCBGYWxzZSwgInJlc3VsdCAlcyBub3QgZm91bmQgaW4gZmFsbGJhY2tfcGF0aCAlcywgJXMi
ICUgKGN1cnJlbnRfcmVzdWx0LCBmYWxsYmFja19wYXRoLCByZXN1bHRzX2J5X2RpcmVjdG9yeSkK
IAogICAgIGRlZiBfZmlsdGVyZWRfcmVzdWx0c19ieV9wb3J0X25hbWUoc2VsZiwgcmVzdWx0c19i
eV9kaXJlY3RvcnkpOgogICAgICAgICByZXN1bHRzX2J5X3BvcnRfbmFtZSA9IHNlbGYuX3Jlc3Vs
dHNfYnlfcG9ydF9uYW1lKHJlc3VsdHNfYnlfZGlyZWN0b3J5KQpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvYmFzZWxpbmVvcHRpbWl6ZXJfdW5pdHRl
c3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9iYXNlbGluZW9w
dGltaXplcl91bml0dGVzdC5weQppbmRleCBlOGJjZmM0OTM1MTNmYzlhYmQxYTI2YWU2ODY2OWY3
Y2IxY2IwMWY0Li4wODJiYzY1NzYzMWNkNGMxMmEwMjExOWJhYWM0ZmQ4MTI5MjcwMmRlIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9iYXNlbGluZW9w
dGltaXplcl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9j
aGVja291dC9iYXNlbGluZW9wdGltaXplcl91bml0dGVzdC5weQpAQCAtNzQsNyArNzQsNyBAQCBj
bGFzcyBCYXNlbGluZU9wdGltaXplclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICB9
KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhvc3QuZmlsZXN5c3RlbS5yZWFkX2JpbmFyeV9m
aWxlKCcvbW9jay1jaGVja291dC9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9hbm90aGVy
L3Rlc3QtZXhwZWN0ZWQudHh0JyksICdyZXN1bHQgQScpCiAKLSAgICBkZWYgZGlzYWJsZWRfdGVz
dF9wbGF0Zm9ybV9tYWNfZGlmZmVyZW50KHNlbGYpOgorICAgIGRlZiB0ZXN0X3BsYXRmb3JtX21h
Y19kaWZmZXJlbnQoc2VsZik6CiAgICAgICAgIHNlbGYuX2Fzc2VydE9wdGltaXphdGlvbih7CiAg
ICAgICAgICAgICAnTGF5b3V0VGVzdHMnOiAnNDYyZDAzYjljMDI1ZGIxYjAzOTJkNzQ1MzMxMGRi
ZWU1ZjlhOWU3NCcsCiAgICAgICAgICAgICAnTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjJzogJzQ1
M2U2NzE3N2E3NWIyZTc5OTA1MTU0ZWNlMGVmYmE2ZTViZmI2NWQnLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>