<?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>26666</bug_id>
          
          <creation_ts>2009-06-23 17:24:34 -0700</creation_ts>
          <short_desc>bugzilla-tool continues execution even if subcommands fail</short_desc>
          <delta_ts>2009-06-23 18:31: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>Mac</rep_platform>
          <op_sys>OS X 10.5</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="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>127750</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-23 17:24:34 -0700</bug_when>
    <thetext>bugzilla-tool continues execution even if subcommands fail

I&apos;ve noticed in a couple places that bugzilla-tool will continue executing even if the underlying &quot;git svn rebase&quot; command fails (due to a conflict for instance).

This is bad, and we should make bugzilla-tool more robust against this kind of failure by throwing ScriptExceptions (that&apos;s what there designed for).

That will allow the eventual land-everything-in-the-commit-queue mode to work and recover from build/update failures, while still allowing normal usage to error out correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127753</commentid>
    <comment_count>1</comment_count>
      <attachid>31760</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-23 17:25:26 -0700</bug_when>
    <thetext>Created attachment 31760
Make SCM.run_command smarter and use it more


---
 2 files changed, 47 insertions(+), 49 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127754</commentid>
    <comment_count>2</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-06-23 17:32:38 -0700</bug_when>
    <thetext>What the heck kind of bug number is that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127776</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-23 17:58:27 -0700</bug_when>
    <thetext>Clearly bugzilla-tool ate from the tree of knowledge and must now be banished from the garden of goodness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127777</commentid>
    <comment_count>4</comment_count>
      <attachid>31760</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-06-23 18:11:08 -0700</bug_when>
    <thetext>Comment on attachment 31760
Make SCM.run_command smarter and use it more

Only one comment:

&gt; diff --git a/WebKitTools/Scripts/modules/scm.py b/WebKitTools/Scripts/modules/scm.py
&gt; +    def run_command(command, cwd=None, input=None, raise_on_failure=True, return_exit_code=False):
&gt; +        stdin = subprocess.PIPE if input else None
&gt; +        process = subprocess.Popen(command, stdout=subprocess.PIPE, stdin=stdin, shell=True, cwd=cwd)
&gt; +        output = process.communicate(input)[0].rstrip()
&gt; +        exit_code = process.wait()
&gt; +        if raise_on_failure and exit_code != 0:

Use:
        if raise_on_failure and exit_code:</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127780</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-23 18:31:59 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebKitTools/ChangeLog
	M	WebKitTools/Scripts/bugzilla-tool
	M	WebKitTools/Scripts/modules/scm.py
Committed r45026
http://trac.webkit.org/changeset/45026</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31760</attachid>
            <date>2009-06-23 17:25:26 -0700</date>
            <delta_ts>2009-06-23 18:11:08 -0700</delta_ts>
            <desc>Make SCM.run_command smarter and use it more</desc>
            <filename>bugzilla_requires_a_filename.patch</filename>
            <type>text/plain</type>
            <size>8682</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">N2ZmYmUzYzIyMmNhYjYyZjBlM2U4OTM2MTBiMzA3Njk1OTdmOTExMwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGJkN2JkOGUu
LmM0MTljYzcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRU
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAwOS0wNi0yMyAgRXJpYyBTZWlkZWwg
IDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTWFrZSBTQ00ucnVuX2NvbW1hbmQgc21hcnRlciwgYW5kIG1ha2UgYWxsIHBy
ZXZpb3VzCisgICAgICAgIG9zLnN5c3RlbSBhbmQgc3VicHJvY2Vzcy5wb3BlbiB1c2UgU0NNLnJ1
bl9jb21tYW5kIGluc3RlYWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yNjY2NgorCisgICAgICAgIFRoaXMgbWFrZXMgaXQgZWFzaWVyIHRvIGhhbmRs
ZSBlcnJvcnMgaW4gYSBzdGFuZGFyZCB3YXkgdGhyb3VnaG91dCBhbGwgdGhlIGNvZGUuCisgICAg
ICAgIFNpbmNlIHRoaXMgbmV3IGNvZGUgcmFpc2VzIGJ5IGRlZmF1bHQgd2hlbiB0aGUgZXhpdF9j
b2RlICE9IDAsCisgICAgICAgIHdlIHNob3VsZCBwcmV2ZW50IGZ1dHVyZSBwcm9ibGVtcyBvZiBi
dWd6aWxsYS10b29sIGNvbnRpbnVpbmcgYWZ0ZXIKKyAgICAgICAgYSBnaXQgb3Igc3ZuIGNvbW1h
bmQgZmFpbGVkLgorCisgICAgICAgICogU2NyaXB0cy9tb2R1bGVzL3NjbS5weToKKwogMjAwOS0w
Ni0yMyAgSm9lIE1hc29uICA8am9lLm1hc29uQHRvcmNobW9iaWxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBBZGFtIFRyZWF0LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9t
b2R1bGVzL3NjbS5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9zY20ucHkKaW5kZXgg
NTFhNTYwOS4uMmEwM2EwNCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVz
L3NjbS5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvc2NtLnB5CkBAIC01OSwx
NCArNTksMjEgQEAgY2xhc3MgU0NNOgogICAgICAgICBzZWxmLmRyeXJ1biA9IGRyeXJ1bgogCiAg
ICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBydW5fY29tbWFuZChjb21tYW5kLCBjd2Q9Tm9uZSk6
Ci0gICAgICAgIHJldHVybiBzdWJwcm9jZXNzLlBvcGVuKGNvbW1hbmQsIHN0ZG91dD1zdWJwcm9j
ZXNzLlBJUEUsIHNoZWxsPVRydWUsIGN3ZD1jd2QpLmNvbW11bmljYXRlKClbMF0ucnN0cmlwKCkK
KyAgICBkZWYgcnVuX2NvbW1hbmQoY29tbWFuZCwgY3dkPU5vbmUsIGlucHV0PU5vbmUsIHJhaXNl
X29uX2ZhaWx1cmU9VHJ1ZSwgcmV0dXJuX2V4aXRfY29kZT1GYWxzZSk6CisgICAgICAgIHN0ZGlu
ID0gc3VicHJvY2Vzcy5QSVBFIGlmIGlucHV0IGVsc2UgTm9uZQorICAgICAgICBwcm9jZXNzID0g
c3VicHJvY2Vzcy5Qb3Blbihjb21tYW5kLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRpbj1z
dGRpbiwgc2hlbGw9VHJ1ZSwgY3dkPWN3ZCkKKyAgICAgICAgb3V0cHV0ID0gcHJvY2Vzcy5jb21t
dW5pY2F0ZShpbnB1dClbMF0ucnN0cmlwKCkKKyAgICAgICAgZXhpdF9jb2RlID0gcHJvY2Vzcy53
YWl0KCkKKyAgICAgICAgaWYgcmFpc2Vfb25fZmFpbHVyZSBhbmQgZXhpdF9jb2RlICE9IDA6Cisg
ICAgICAgICAgICByYWlzZSBTY3JpcHRFcnJvcigiRmFpbGVkIHRvIHJ1biAiICsgY29tbWFuZCkK
KyAgICAgICAgaWYgcmV0dXJuX2V4aXRfY29kZToKKyAgICAgICAgICAgIHJldHVybiBleGl0X2Nv
ZGUKKyAgICAgICAgcmV0dXJuIG91dHB1dAogCiAgICAgZGVmIGVuc3VyZV9jbGVhbl93b3JraW5n
X2RpcmVjdG9yeShzZWxmLCBmb3JjZSk6CiAgICAgICAgIGlmIG5vdCBmb3JjZSBhbmQgbm90IHNl
bGYud29ya2luZ19kaXJlY3RvcnlfaXNfY2xlYW4oKToKLSAgICAgICAgICAgIGxvZygiV29ya2lu
ZyBkaXJlY3RvcnkgaGFzIG1vZGlmaWNhdGlvbnMsIHBhc3MgLS1mb3JjZS1jbGVhbiBvciAtLW5v
LWNsZWFuIHRvIGNvbnRpbnVlLiIpCi0gICAgICAgICAgICBvcy5zeXN0ZW0oc2VsZi5zdGF0dXNf
Y29tbWFuZCgpKQotICAgICAgICAgICAgZXhpdCgxKQorICAgICAgICAgICAgcHJpbnQgc2VsZi5y
dW5fY29tbWFuZChzZWxmLnN0YXR1c19jb21tYW5kKCkpCisgICAgICAgICAgICBlcnJvcigiV29y
a2luZyBkaXJlY3RvcnkgaGFzIG1vZGlmaWNhdGlvbnMsIHBhc3MgLS1mb3JjZS1jbGVhbiBvciAt
LW5vLWNsZWFuIHRvIGNvbnRpbnVlLiIpCiAgICAgICAgIAogICAgICAgICBsb2coIkNsZWFuaW5n
IHRoZSB3b3JraW5nIGRpcmVjdG9yeSIpCiAgICAgICAgIHNlbGYuY2xlYW5fd29ya2luZ19kaXJl
Y3RvcnkoKQpAQCAtNzgsOCArODUsNyBAQCBjbGFzcyBTQ006CiAgICAgICAgIGlmIG5vdCBsZW4o
Y29tbWl0cyk6CiAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgaWYgbm90IGZvcmNlOgotICAg
ICAgICAgICAgbG9nKCJXb3JraW5nIGRpcmVjdG9yeSBoYXMgbG9jYWwgY29tbWl0cywgcGFzcyAt
LWZvcmNlLWNsZWFuIHRvIGNvbnRpbnVlLiIpCi0gICAgICAgICAgICBleGl0KDEpCisgICAgICAg
ICAgICBlcnJvcigiV29ya2luZyBkaXJlY3RvcnkgaGFzIGxvY2FsIGNvbW1pdHMsIHBhc3MgLS1m
b3JjZS1jbGVhbiB0byBjb250aW51ZS4iKQogICAgICAgICBzZWxmLmRpc2NhcmRfbG9jYWxfY29t
bWl0cygpCiAKICAgICBkZWYgYXBwbHlfcGF0Y2goc2VsZiwgcGF0Y2gpOgpAQCAtOTEsNyArOTcs
NyBAQCBjbGFzcyBTQ006CiAKICAgICBkZWYgcnVuX3N0YXR1c19hbmRfZXh0cmFjdF9maWxlbmFt
ZXMoc2VsZiwgc3RhdHVzX2NvbW1hbmQsIHN0YXR1c19yZWdleHApOgogICAgICAgICBmaWxlbmFt
ZXMgPSBbXQotICAgICAgICBmb3IgbGluZSBpbiBvcy5wb3BlbihzdGF0dXNfY29tbWFuZCkucmVh
ZGxpbmVzKCk6CisgICAgICAgIGZvciBsaW5lIGluIHNlbGYucnVuX2NvbW1hbmQoc3RhdHVzX2Nv
bW1hbmQpLnNwbGl0bGluZXMoKToKICAgICAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKHN0YXR1
c19yZWdleHAsIGxpbmUpCiAgICAgICAgICAgICBpZiBub3QgbWF0Y2g6CiAgICAgICAgICAgICAg
ICAgY29udGludWUKQEAgLTE3MCwxOCArMTc2LDEzIEBAIGNsYXNzIFNWTihTQ00pOgogICAgICAg
ICByZXR1cm4gc2VsZi5jYWNoZWRfdmVyc2lvbgogCiAgICAgZGVmIHdvcmtpbmdfZGlyZWN0b3J5
X2lzX2NsZWFuKHNlbGYpOgotICAgICAgICBkaWZmX3Byb2Nlc3MgPSBzdWJwcm9jZXNzLlBvcGVu
KCJzdm4gZGlmZiIsIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHNoZWxsPVRydWUpCi0gICAgICAg
IGRpZmZfb3V0cHV0ID0gZGlmZl9wcm9jZXNzLmNvbW11bmljYXRlKClbMF0KLSAgICAgICAgaWYg
ZGlmZl9wcm9jZXNzLndhaXQoKToKLSAgICAgICAgICAgIGxvZygiRmFpbGVkIHRvIHJ1biBzdm4g
ZGlmZiIpCi0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgcmV0dXJuIGRpZmZfb3V0
cHV0ID09ICIiCisgICAgICAgIHJldHVybiBzZWxmLnJ1bl9jb21tYW5kKCJzdm4gZGlmZiIpID09
ICIiCiAKICAgICBkZWYgY2xlYW5fd29ya2luZ19kaXJlY3Rvcnkoc2VsZik6Ci0gICAgICAgIG9z
LnN5c3RlbSgic3ZuIHJlc2V0IC1SIikKKyAgICAgICAgc2VsZi5ydW5fY29tbWFuZCgic3ZuIHJl
c2V0IC1SIikKIAogICAgIGRlZiB1cGRhdGVfd2Via2l0KHNlbGYpOgotICAgICAgICBvcy5zeXN0
ZW0oInVwZGF0ZS13ZWJraXQiKQorICAgICAgICBzZWxmLnJ1bl9jb21tYW5kKCJ1cGRhdGUtd2Vi
a2l0IikKIAogICAgIGRlZiBzdGF0dXNfY29tbWFuZChzZWxmKToKICAgICAgICAgcmV0dXJuICdz
dm4gc3RhdHVzJwpAQCAtMjAzLDUzICsyMDQsNDMgQEAgY2xhc3MgU1ZOKFNDTSk6CiAgICAgICAg
IHJldHVybiAic3ZuLWNyZWF0ZS1wYXRjaCIKIAogICAgIGRlZiBjb21taXRfd2l0aF9tZXNzYWdl
KHNlbGYsIG1lc3NhZ2UpOgotICAgICAgICBjb21taXRfcHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9w
ZW4oJ3N2biBjb21taXQgLUYgLScsIHN0ZGluPXN1YnByb2Nlc3MuUElQRSwgc3Rkb3V0PXN1YnBy
b2Nlc3MuUElQRSwgc2hlbGw9VHJ1ZSkKLSAgICAgICAgKG91dCwgZXJyb3IpID0gY29tbWl0X3By
b2Nlc3MuY29tbXVuaWNhdGUobWVzc2FnZSkKLSAgICAgICAgcmV0dXJuX2NvZGUgPSBjb21taXRf
cHJvY2Vzcy53YWl0KCkKLSAgICAgICAgaWYgcmV0dXJuX2NvZGU6Ci0gICAgICAgICAgICBsb2co
IkNvbW1pdCBmYWlsdXJlOiAlZCIgJSByZXR1cm5fY29kZSkgIyBXZSByZWFsbHkgc2hvdWxkIGhh
bmRsZSB0aGUgZmFpbHVyZQotICAgICAgICByZXR1cm4gb3V0CisgICAgICAgIHJldHVybiBzZWxm
LnJ1bl9jb21tYW5kKCdzdm4gY29tbWl0IC1GIC0nLCBpbnB1dD1tZXNzYWdlKQogCiAjIEFsbCBn
aXQtc3BlY2lmaWMgbG9naWMgc2hvdWxkIGdvIGhlcmUuCiBjbGFzcyBHaXQoU0NNKToKICAgICBk
ZWYgX19pbml0X18oc2VsZiwgY3dkLCBkcnlydW49RmFsc2UpOgogICAgICAgICBTQ00uX19pbml0
X18oc2VsZiwgY3dkLCBkcnlydW4pCiAgICAgCi0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBp
bl93b3JraW5nX2RpcmVjdG9yeShwYXRoKToKLSAgICAgICAgcmV0dXJuIFNDTS5ydW5fY29tbWFu
ZCgiZ2l0IHJldi1wYXJzZSAtLWlzLWluc2lkZS13b3JrLXRyZWUgMj4mMSIsIGN3ZD1wYXRoKSA9
PSAidHJ1ZSIKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgaW5fd29ya2luZ19kaXJlY3Rvcnko
Y2xzLCBwYXRoKToKKyAgICAgICAgcmV0dXJuIGNscy5ydW5fY29tbWFuZCgiZ2l0IHJldi1wYXJz
ZSAtLWlzLWluc2lkZS13b3JrLXRyZWUgMj4mMSIsIGN3ZD1wYXRoKSA9PSAidHJ1ZSIKIAotICAg
IEBzdGF0aWNtZXRob2QKLSAgICBkZWYgZmluZF9jaGVja291dF9yb290KHBhdGgpOgorICAgIEBj
bGFzc21ldGhvZAorICAgIGRlZiBmaW5kX2NoZWNrb3V0X3Jvb3QoY2xzLCBwYXRoKToKICAgICAg
ICAgIyAiZ2l0IHJldi1wYXJzZSAtLXNob3ctY2R1cCIgd291bGQgYmUgYW5vdGhlciB3YXkgdG8g
Z2V0IHRvIHRoZSByb290Ci0gICAgICAgIChjaGVja291dF9yb290LCBkb3RfZ2l0KSA9IG9zLnBh
dGguc3BsaXQoU0NNLnJ1bl9jb21tYW5kKCJnaXQgcmV2LXBhcnNlIC0tZ2l0LWRpciIsIGN3ZD1w
YXRoKSkKKyAgICAgICAgKGNoZWNrb3V0X3Jvb3QsIGRvdF9naXQpID0gb3MucGF0aC5zcGxpdChj
bHMucnVuX2NvbW1hbmQoImdpdCByZXYtcGFyc2UgLS1naXQtZGlyIiwgY3dkPXBhdGgpKQogICAg
ICAgICAjIElmIHdlIHdlcmUgdXNpbmcgMi42ICMgY2hlY2tvdXRfcm9vdCA9IG9zLnBhdGgucmVs
cGF0aChjaGVja291dF9yb290LCBwYXRoKQogICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2Ficyhj
aGVja291dF9yb290KTogIyBTb21ldGltZXMgZ2l0IHJldHVybnMgcmVsYXRpdmUgcGF0aHMKICAg
ICAgICAgICAgIGNoZWNrb3V0X3Jvb3QgPSBvcy5wYXRoLmpvaW4ocGF0aCwgY2hlY2tvdXRfcm9v
dCkKICAgICAgICAgcmV0dXJuIGNoZWNrb3V0X3Jvb3QKICAgICAKICAgICBkZWYgZGlzY2FyZF9s
b2NhbF9jb21taXRzKHNlbGYpOgotICAgICAgICBvcy5zeXN0ZW0oImdpdCByZXNldCAtLWhhcmQg
dHJ1bmsiKQorICAgICAgICBzZWxmLnJ1bl9jb21tYW5kKCJnaXQgcmVzZXQgLS1oYXJkIHRydW5r
IikKICAgICAKICAgICBkZWYgbG9jYWxfY29tbWl0cyhzZWxmKToKICAgICAgICAgcmV0dXJuIHNl
bGYucnVuX2NvbW1hbmQoImdpdCBsb2cgLS1wcmV0dHk9b25lbGluZSBoZWFkLi4udHJ1bmsiKS5z
cGxpdGxpbmVzKCkKICAgICAKICAgICBkZWYgd29ya2luZ19kaXJlY3RvcnlfaXNfY2xlYW4oc2Vs
Zik6Ci0gICAgICAgIGRpZmZfcHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9wZW4oImdpdCBkaWZmLWlu
ZGV4IGhlYWQiLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzaGVsbD1UcnVlKQotICAgICAgICBk
aWZmX291dHB1dCA9IGRpZmZfcHJvY2Vzcy5jb21tdW5pY2F0ZSgpWzBdCi0gICAgICAgIGlmIGRp
ZmZfcHJvY2Vzcy53YWl0KCk6Ci0gICAgICAgICAgICBsb2coIkZhaWxlZCB0byBydW4gZ2l0IGRp
ZmYtaW5kZXggaGVhZCIpCi0gICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgcmV0dXJu
IGRpZmZfb3V0cHV0ID09ICIiCisgICAgICAgIHJldHVybiBzZWxmLnJ1bl9jb21tYW5kKCJnaXQg
ZGlmZi1pbmRleCBoZWFkIikgPT0gIiIKICAgICAKICAgICBkZWYgY2xlYW5fd29ya2luZ19kaXJl
Y3Rvcnkoc2VsZik6Ci0gICAgICAgIG9zLnN5c3RlbSgiZ2l0IHJlc2V0IC0taGFyZCBoZWFkIikK
ICAgICAgICAgIyBDb3VsZCBydW4gZ2l0IGNsZWFuIGhlcmUgdG9vLCBidXQgdGhhdCB3b3VsZG4n
dCBtYXRjaCB3b3JraW5nX2RpcmVjdG9yeV9pc19jbGVhbgorICAgICAgICBzZWxmLnJ1bl9jb21t
YW5kKCJnaXQgcmVzZXQgLS1oYXJkIGhlYWQiKQogICAgIAogICAgIGRlZiB1cGRhdGVfd2Via2l0
KHNlbGYpOgogICAgICAgICAjIEZJWE1FOiBTaG91bGQgcHJvYmFibHkgY2FsbCB1cGRhdGUtd2Vi
a2l0LCBubz8KICAgICAgICAgbG9nKCJVcGRhdGluZyB3b3JraW5nIGRpcmVjdG9yeSIpCi0gICAg
ICAgIG9zLnN5c3RlbSgiZ2l0IHN2biByZWJhc2UiKQorICAgICAgICBzZWxmLnJ1bl9jb21tYW5k
KCJnaXQgc3ZuIHJlYmFzZSIpCiAKICAgICBkZWYgc3RhdHVzX2NvbW1hbmQoc2VsZik6CiAgICAg
ICAgIHJldHVybiAnZ2l0IHN0YXR1cycKQEAgLTI3NSwxOCArMjY2LDEyIEBAIGNsYXNzIEdpdChT
Q00pOgogICAgICMgR2l0LXNwZWNpZmljIG1ldGhvZHM6CiAgICAgCiAgICAgZGVmIGNvbW1pdF9s
b2NhbGx5X3dpdGhfbWVzc2FnZShzZWxmLCBtZXNzYWdlKToKLSAgICAgICAgY29tbWl0X3Byb2Nl
c3MgPSBzdWJwcm9jZXNzLlBvcGVuKCdnaXQgY29tbWl0IC1hIC1GIC0nLCBzdGRpbj1zdWJwcm9j
ZXNzLlBJUEUsIHNoZWxsPVRydWUpCi0gICAgICAgIGNvbW1pdF9wcm9jZXNzLmNvbW11bmljYXRl
KG1lc3NhZ2UpCisgICAgICAgIHNlbGYucnVuX2NvbW1hbmQoJ2dpdCBjb21taXQgLWEgLUYgLScs
IGlucHV0PW1lc3NhZ2UpCiAgICAgICAgIAogICAgIGRlZiBwdXNoX2xvY2FsX2NvbW1pdHNfdG9f
c2VydmVyKHNlbGYpOgogICAgICAgICBpZiBzZWxmLmRyeXJ1bjoKICAgICAgICAgICAgIHJldHVy
biAiRHJ5IHJ1biwgbm8gcmVtb3RlIGNvbW1pdC4iCi0gICAgICAgIGNvbW1pdF9wcm9jZXNzID0g
c3VicHJvY2Vzcy5Qb3BlbignZ2l0IHN2biBkY29tbWl0Jywgc3Rkb3V0PXN1YnByb2Nlc3MuUElQ
RSwgc2hlbGw9VHJ1ZSkKLSAgICAgICAgKG91dCwgZXJyb3IpID0gY29tbWl0X3Byb2Nlc3MuY29t
bXVuaWNhdGUoKQotICAgICAgICByZXR1cm5fY29kZSA9IGNvbW1pdF9wcm9jZXNzLndhaXQoKQot
ICAgICAgICBpZiByZXR1cm5fY29kZToKLSAgICAgICAgICAgIGxvZygiQ29tbWl0IGZhaWx1cmU6
ICVkIiAlIHJldHVybl9jb2RlKSAjIFdlIHJlYWxseSBzaG91bGQgaGFuZGxlIHRoZSBmYWlsdXJl
Ci0gICAgICAgIHJldHVybiBvdXQKKyAgICAgICAgcmV0dXJuIHNlbGYucnVuX2NvbW1hbmQoJ2dp
dCBzdm4gZGNvbW1pdCcpCiAKICAgICBkZWYgY29tbWl0X2lkc19mcm9tX3JhbmdlX2FyZ3VtZW50
cyhzZWxmLCBhcmdzLCBjaGVycnlfcGljaz1GYWxzZSk6CiAgICAgICAgICMgRmlyc3QgZ2V0IHRo
ZSBjb21taXQtaWRzIGZvciB0aGUgcGFzc2VkIGluIHJldmlzaW9ucy4KQEAgLTMwNSw5ICsyOTAs
NyBAQCBjbGFzcyBHaXQoU0NNKToKICAgICAgICAgcmV0dXJuIHNlbGYucnVuX2NvbW1hbmQoIiAi
LmpvaW4ocmV2X2xpc3RfYXJncykpLnNwbGl0bGluZXMoKQogCiAgICAgZGVmIGNvbW1pdF9tZXNz
YWdlX2Zvcl9jb21taXQoc2VsZiwgY29tbWl0X2lkKToKLSAgICAgICAgY29tbWl0X21lc3NhZ2Vf
cHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9wZW4oImdpdCBjYXQtZmlsZSBjb21taXQgIiArIGNvbW1p
dF9pZCwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwgc2hlbGw9VHJ1ZSkKLSAgICAgICAgY29tbWl0
X21lc3NhZ2UgPSBjb21taXRfbWVzc2FnZV9wcm9jZXNzLmNvbW11bmljYXRlKClbMF0KLSAgICAg
ICAgY29tbWl0X2xpbmVzID0gY29tbWl0X21lc3NhZ2Uuc3BsaXRsaW5lcygpCisgICAgICAgIGNv
bW1pdF9saW5lcyA9IHNlbGYucnVuX2NvbW1hbmQoImdpdCBjYXQtZmlsZSBjb21taXQgIiArIGNv
bW1pdF9pZCkuc3BsaXRsaW5lcygpCiAKICAgICAgICAgIyBTa2lwIHRoZSBnaXQgaGVhZGVycy4K
ICAgICAgICAgZmlyc3RfbGluZV9hZnRlcl9oZWFkZXJzID0gMApAQCAtMzIxLDQgKzMwNCw0IEBA
IGNsYXNzIEdpdChTQ00pOgogICAgICAgICByZXR1cm4gImdpdCBkaWZmLXRyZWUgLXAgIiArIGNv
bW1pdF9pZAogCiAgICAgZGVmIGZpbGVzX2NoYW5nZWRfc3VtbWFyeV9mb3JfY29tbWl0KHNlbGYs
IGNvbW1pdF9pZCk6Ci0gICAgICAgIHJldHVybiBzdWJwcm9jZXNzLlBvcGVuKCJnaXQgZGlmZi10
cmVlIC0tc2hvcnRzdGF0IC0tbm8tY29tbWl0LWlkICIgKyBjb21taXRfaWQsIHN0ZG91dD1zdWJw
cm9jZXNzLlBJUEUsIHNoZWxsPVRydWUpLmNvbW11bmljYXRlKClbMF0KKyAgICAgICAgcmV0dXJu
IHNlbGYucnVuX2NvbW1hbmQoImdpdCBkaWZmLXRyZWUgLS1zaG9ydHN0YXQgLS1uby1jb21taXQt
aWQgIiArIGNvbW1pdF9pZCkK
</data>
<flag name="review"
          id="16352"
          type_id="1"
          status="+"
          setter="levin"
    />
          </attachment>
      

    </bug>

</bugzilla>