<?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>87803</bug_id>
          
          <creation_ts>2012-05-29 18:20:12 -0700</creation_ts>
          <short_desc>Layout tests often fail trying to stat nonexistent logs</short_desc>
          <delta_ts>2012-06-14 21:42:57 -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>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="Stephanie Lewis">slewis</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>ojan</cc>
    
    <cc>slewis</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>636675</commentid>
    <comment_count>0</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2012-05-29 18:20:12 -0700</bug_when>
    <thetext>On Mac crashreporter will roll over logs after a certain number of crashes.  This can cause the layout tests to fail if looking for a log that doesn&apos;t exist anymore.  We&apos;re tracking bugs internally to fix that problem, but the the try/catch block should include the stat and catch OSError.

backtrace:

18:01:45.278 79451 worker/5 raised OSError(&apos;[Errno 2] No such file or directory: &apos;/Users/buildbot/Library/Logs/DiagnosticReports/WebProcess_2012-05-29-161118_buildbots-Mac-Pro-40.crash&apos;&apos;):
18:01:45.278 79492 worker/7 mathml/presentation/fenced-mi.xhtml passed
18:01:45.278 79451   layout_tests/controllers/manager_worker_broker.py:290 (in run)
18:01:45.278 79451     self._worker_connection.run_message_loop()
18:01:45.278 79451   layout_tests/controllers/manager_worker_broker.py:243 (in run_message_loop)
18:01:45.278 79451     self._broker.run_message_loop(self._run_topic, self._client, delay_secs)
18:01:45.278 79451   layout_tests/controllers/manager_worker_broker.py:175 (in run_message_loop)
18:01:45.279 79451     self._run_loop(topic_name, client, block=True, delay_secs=delay_secs)
18:01:45.279 79451   layout_tests/controllers/manager_worker_broker.py:189 (in _run_loop)
18:01:45.279 79451     self._dispatch_message(msg, client)
18:01:45.279 79451   layout_tests/controllers/manager_worker_broker.py:198 (in _dispatch_message)
18:01:45.279 79451     message_handler(message.src, *optargs)
18:01:45.279 79451   layout_tests/controllers/worker.py:144 (in handle_test_list)
18:01:45.279 79451     self._run_test(test_input)
18:01:45.279 79451   layout_tests/controllers/worker.py:171 (in _run_test)
18:01:45.279 79451     result = self.run_test_with_timeout(test_input, test_timeout_sec)
18:01:45.279 79451   layout_tests/controllers/worker.py:213 (in run_test_with_timeout)
18:01:45.279 79451     return self._run_test_in_this_thread(test_input)
18:01:45.279 79451   layout_tests/controllers/worker.py:298 (in _run_test_in_this_thread)
18:01:45.279 79451     return self.run_single_test(self._driver, test_input)
18:01:45.279 79451   layout_tests/controllers/worker.py:302 (in run_single_test)
18:01:45.279 79451     test_input, driver, self._name)
18:01:45.279 79451   layout_tests/controllers/single_test_runner.py:46 (in run_single_test)
18:01:45.279 79451     return runner.run()
18:01:45.279 79451   layout_tests/controllers/single_test_runner.py:101 (in run)
18:01:45.280 79451     return self._run_reftest()
18:01:45.280 79451   layout_tests/controllers/single_test_runner.py:291 (in _run_reftest)
18:01:45.280 79451     reference_output = self._driver.run_test(DriverInput(reference_test_name, self._timeout, test_output.image_hash, should_run_pixel_test=True))
18:01:45.280 79451   layout_tests/port/driver.py:217 (in run_test)
18:01:45.280 79451     return self._running_drivers[cmd_line_key].run_test(driver_input)
18:01:45.280 79451   layout_tests/port/webkit.py:579 (in run_test)
18:01:45.280 79451     newer_than=start_time)
18:01:45.280 79451   layout_tests/port/mac.py:194 (in _get_crash_log)
18:01:45.280 79451     crash_log = crash_logs.find_newest_log(name, pid, include_errors=True, newer_than=newer_than)
18:01:45.280 79451   common/system/crashlogs.py:38 (in find_newest_log)
18:01:45.280 79451     return self._find_newest_log_darwin(process_name, pid, include_errors, newer_than)
18:01:45.280 79451   common/system/crashlogs.py:59 (in _find_newest_log_darwin)
18:01:45.280 79451     if not newer_than or self._host.filesystem.mtime(path) &gt; newer_than:
18:01:45.280 79451   common/system/filesystem.py:183 (in mtime)
18:01:45.280 79451     return os.stat(path).st_mtime</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636680</commentid>
    <comment_count>1</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-05-29 18:24:13 -0700</bug_when>
    <thetext>the list of logs is only obtained 4 lines above ... doesn&apos;t that imply that we&apos;re rolling over the logs in the time it takes to actually walk the list (presumably less than a second or so)? How many things do you have crashing at once, and what is the limit on how many logs crash reporter will keep?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636681</commentid>
    <comment_count>2</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2012-05-29 18:25:12 -0700</bug_when>
    <thetext>hmm, It isn&apos;t the crash log rollover causing the problem either.  I just looked at the bot now, and there are older logs than the one it is looking for.  I wonder how it got the name of a file that doesn&apos;t exist.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636688</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-05-29 18:32:03 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; hmm, It isn&apos;t the crash log rollover causing the problem either.  I just looked at the bot now, and there are older logs than the one it is looking for.  I wonder how it got the name of a file that doesn&apos;t exist.

Interesting. That&apos;s a good question. There would either have to be a bug in our file-finding code (which I just checked and it looks correct - that&apos;s certainly a plausible looking filename, at least, but maybe I&apos;m missing something), or the file would&apos;ve had to have been created and then deleted,  or you&apos;re seeing some sort of a filesystem / python inconsistency between os.walk() and os.stat().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636695</commentid>
    <comment_count>4</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2012-05-29 18:35:23 -0700</bug_when>
    <thetext>It looks like ReportCrash doesn&apos;t necessarily remove by oldest logs first.  I just had the logs disappear out from underneath me.  It must use some sort of heuristic and we are getting bitten by it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636697</commentid>
    <comment_count>5</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-05-29 18:36:50 -0700</bug_when>
    <thetext>I see. Well, catching the exception would certainly be defensively safe and correct; did you have a patch in the works, or do you want me to fix it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636763</commentid>
    <comment_count>6</comment_count>
      <attachid>144683</attachid>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2012-05-29 19:50:42 -0700</bug_when>
    <thetext>Created attachment 144683
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636771</commentid>
    <comment_count>7</comment_count>
      <attachid>144683</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-05-29 20:10:58 -0700</bug_when>
    <thetext>Comment on attachment 144683
patch

This needs a unittest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637947</commentid>
    <comment_count>8</comment_count>
      <attachid>144973</attachid>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2012-05-30 19:48:45 -0700</bug_when>
    <thetext>Created attachment 144973
patch and test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637958</commentid>
    <comment_count>9</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2012-05-30 20:07:11 -0700</bug_when>
    <thetext>committed http://trac.webkit.org/projects/webkit/changeset/119030</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649842</commentid>
    <comment_count>10</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-06-14 21:42:57 -0700</bug_when>
    <thetext>I&apos;m not sure why this is still open ... closing.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144683</attachid>
            <date>2012-05-29 19:50:42 -0700</date>
            <delta_ts>2012-05-30 19:48:45 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-https-bugs.webkit.org-show_bug.cgi-id-87803.patch</filename>
            <type>text/plain</type>
            <size>3050</size>
            <attacher name="Stephanie Lewis">slewis</attacher>
            
              <data encoding="base64">RnJvbSA0ODg1YjI3MThjNDlhMzVjOGJhYjdkNTBhY2M4YWNkNDA4YjY4NTc1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVwaGFuaWUgTGV3aXMgPHNsZXdpc0BhcHBsZS5jb20+CkRh
dGU6IFR1ZSwgMjkgTWF5IDIwMTIgMTk6NDA6MjYgLTA3MDAKU3ViamVjdDogW1BBVENIXSBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc4MDMgTGF5b3V0IHRlc3RzCiBv
ZnRlbiBmYWlsIHRyeWluZyB0byBzdGF0IG5vbmV4aXN0ZW50IGxvZ3MKClJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgoKQ3Jhc2hSZXBvcnRlciByZW1vdmVzIGxvZ3MgdXNpbmcgYSBoZXVyaXN0
aWMgdG8gY29uc2VydmUgc3BhY2UuICBXcmFwIGEKdHJ5L2NhdGNoIGJsb2NrIGFyb3VuZCBhY2Nl
c3NpbmcgdGhlIGxvZ3MgYXMgYSBwcmVjYXV0aW9uLgoKKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9zeXN0ZW0vY3Jhc2hsb2dzLnB5OgooQ3Jhc2hMb2dzLl9maW5kX25ld2VzdF9sb2dfZGFyd2lu
KToKLS0tCiBUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwgICAxMyArKysrKysrKysrKysrCiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0
ZW0vY3Jhc2hsb2dzLnB5IHwgICAxMyArKysrKysrKy0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDIx
IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDM2N2RlMjkuLmMxNWMwNzEgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxOCBAQAog
MjAxMi0wNS0yOSAgU3RlcGhhbmllIExld2lzICA8c2xld2lzQGFwcGxlLmNvbT4KIAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc4MDMKKyAgICAgICAg
TGF5b3V0IHRlc3RzIG9mdGVuIGZhaWwgdHJ5aW5nIHRvIHN0YXQgbm9uZXhpc3RlbnQgbG9ncyAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDcmFzaFJl
cG9ydGVyIHJlbW92ZXMgbG9ncyB1c2luZyBhIGhldXJpc3RpYyB0byBjb25zZXJ2ZSBzcGFjZS4g
IFdyYXAgYSAKKyAgICAgICAgdHJ5L2NhdGNoIGJsb2NrIGFyb3VuZCBhY2Nlc3NpbmcgdGhlIGxv
Z3MgYXMgYSBwcmVjYXV0aW9uLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24v
c3lzdGVtL2NyYXNobG9ncy5weToKKyAgICAgICAgKENyYXNoTG9ncy5fZmluZF9uZXdlc3RfbG9n
X2Rhcndpbik6CisKKzIwMTItMDUtMjkgIFN0ZXBoYW5pZSBMZXdpcyAgPHNsZXdpc0BhcHBsZS5j
b20+CisKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3
NzE3CiAgICAgICAgIFVucmVzcG9uc2l2ZSBXZWJQcm9jZXNzZXMgY2FuIGJlIG1pc3Rha2VuIGZv
ciBXZWJQcm9jZXNzIGNyYXNoZXMuCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL3N5c3RlbS9jcmFzaGxvZ3MucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9zeXN0ZW0vY3Jhc2hsb2dzLnB5CmluZGV4IDBkZDM3ZDIuLjI3MGNhODEgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9jcmFzaGxvZ3MucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2NyYXNobG9ncy5weQpAQCAt
NTYsMTUgKzU2LDE4IEBAIGNsYXNzIENyYXNoTG9ncyhvYmplY3QpOgogICAgICAgICBmaXJzdF9s
aW5lX3JlZ2V4ID0gcmUuY29tcGlsZShyJ15Qcm9jZXNzOlxzKyg/UDxwcm9jZXNzX25hbWU+Liop
IFxbKD9QPHBpZD5cZCspXF0kJykKICAgICAgICAgZXJyb3JzID0gJycKICAgICAgICAgZm9yIHBh
dGggaW4gcmV2ZXJzZWQoc29ydGVkKGxvZ3MpKToKLSAgICAgICAgICAgIGlmIG5vdCBuZXdlcl90
aGFuIG9yIHNlbGYuX2hvc3QuZmlsZXN5c3RlbS5tdGltZShwYXRoKSA+IG5ld2VyX3RoYW46Ci0g
ICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGlm
IG5vdCBuZXdlcl90aGFuIG9yIHNlbGYuX2hvc3QuZmlsZXN5c3RlbS5tdGltZShwYXRoKSA+IG5l
d2VyX3RoYW46CiAgICAgICAgICAgICAgICAgICAgIGYgPSBzZWxmLl9ob3N0LmZpbGVzeXN0ZW0u
cmVhZF90ZXh0X2ZpbGUocGF0aCkKICAgICAgICAgICAgICAgICAgICAgbWF0Y2ggPSBmaXJzdF9s
aW5lX3JlZ2V4Lm1hdGNoKGZbMDpmLmZpbmQoJ1xuJyldKQogICAgICAgICAgICAgICAgICAgICBp
ZiBtYXRjaCBhbmQgbWF0Y2guZ3JvdXAoJ3Byb2Nlc3NfbmFtZScpID09IHByb2Nlc3NfbmFtZSBh
bmQgKHBpZCBpcyBOb25lIG9yIGludChtYXRjaC5ncm91cCgncGlkJykpID09IHBpZCk6CiAgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXJyb3JzICsgZgotICAgICAgICAgICAgICAgIGV4
Y2VwdCBJT0Vycm9yLCBlOgotICAgICAgICAgICAgICAgICAgICBpZiBpbmNsdWRlX2Vycm9yczoK
LSAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycyArPSAiRVJST1I6IEZhaWxlZCB0byByZWFk
ICclcyc6ICVzXG4iICUgKHBhdGgsIHN0cihlKSkKKyAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9y
LCBlOgorICAgICAgICAgICAgICAgIGlmIGluY2x1ZGVfZXJyb3JzOgorICAgICAgICAgICAgICAg
ICAgICBlcnJvcnMgKz0gIkVSUk9SOiBGYWlsZWQgdG8gcmVhZCAnJXMnOiAlc1xuIiAlIChwYXRo
LCBzdHIoZSkpCisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciwgZToKKyAgICAgICAgICAgICAg
ICBpZiBpbmNsdWRlX2Vycm9yczoKKyAgICAgICAgICAgICAgICAgICAgZXJyb3JzICs9ICJFUlJP
UjogRmFpbGVkIHRvIHJlYWQgJyVzJzogJXNcbiIgJSAocGF0aCwgc3RyKGUpKQogCiAgICAgICAg
IGlmIGluY2x1ZGVfZXJyb3JzIGFuZCBlcnJvcnM6CiAgICAgICAgICAgICByZXR1cm4gZXJyb3Jz
Ci0tIAoxLjcuOS42IChBcHBsZSBHaXQtMzEpCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144973</attachid>
            <date>2012-05-30 19:48:45 -0700</date>
            <delta_ts>2012-05-30 19:50:26 -0700</delta_ts>
            <desc>patch and test</desc>
            <filename>0001-https-bugs.webkit.org-show_bug.cgi-id-87803.patch</filename>
            <type>text/plain</type>
            <size>4599</size>
            <attacher name="Stephanie Lewis">slewis</attacher>
            
              <data encoding="base64">RnJvbSAyOTkzMTUzNDMwN2JlMWNlNjliYmZkMTAyZjU4NDQwODQ2ODcwZDg5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVwaGFuaWUgTGV3aXMgPHNsZXdpc0BhcHBsZS5jb20+CkRh
dGU6IFR1ZSwgMjkgTWF5IDIwMTIgMTk6NDA6MjYgLTA3MDAKU3ViamVjdDogW1BBVENIXSBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc4MDMgTGF5b3V0IHRlc3RzCiBv
ZnRlbiBmYWlsIHRyeWluZyB0byBzdGF0IG5vbmV4aXN0ZW50IGxvZ3MKClJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgoKQ3Jhc2hSZXBvcnRlciByZW1vdmVzIGxvZ3MgdXNpbmcgYSBoZXVyaXN0
aWMgdG8gY29uc2VydmUgc3BhY2UuICBXcmFwIGEKdHJ5L2NhdGNoIGJsb2NrIGFyb3VuZCBhY2Nl
c3NpbmcgdGhlIGxvZ3MgYXMgYSBwcmVjYXV0aW9uLgoKKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9zeXN0ZW0vY3Jhc2hsb2dzLnB5OgooQ3Jhc2hMb2dzLl9maW5kX25ld2VzdF9sb2dfZGFyd2lu
KToKLS0tCiBUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgMTMgKysrKysrKysrKysrKwogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lz
dGVtL2NyYXNobG9ncy5weSAgfCAgIDEzICsrKysrKysrLS0tLS0KIC4uLi93ZWJraXRweS9jb21t
b24vc3lzdGVtL2NyYXNobG9nc191bml0dGVzdC5weSAgIHwgICAxNCArKysrKysrKysrKystLQog
MyBmaWxlcyBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5NzhhYmJiLi5i
NzI2Yjg5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDUgKzEsMTggQEAKIDIwMTItMDUtMzAgIFN0ZXBoYW5pZSBMZXdpcyAgPHNsZXdpc0Bh
cHBsZS5jb20+CiAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg3ODAzCisgICAgICAgIExheW91dCB0ZXN0cyBvZnRlbiBmYWlsIHRyeWluZyB0byBzdGF0
IG5vbmV4aXN0ZW50IGxvZ3MgCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQ3Jhc2hSZXBvcnRlciByZW1vdmVzIGxvZ3MgdXNpbmcgYSBoZXVyaXN0aWMg
dG8gY29uc2VydmUgc3BhY2UuICBXcmFwIGEgCisgICAgICAgIHRyeS9jYXRjaCBibG9jayBhcm91
bmQgYWNjZXNzaW5nIHRoZSBsb2dzIGFzIGEgcHJlY2F1dGlvbi4KKworICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9jcmFzaGxvZ3MucHk6CisgICAgICAgIChDcmFzaExv
Z3MuX2ZpbmRfbmV3ZXN0X2xvZ19kYXJ3aW4pOgorCisyMDEyLTA1LTMwICBTdGVwaGFuaWUgTGV3
aXMgIDxzbGV3aXNAYXBwbGUuY29tPgorCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04NzcxNwogICAgICAgICBVbnJlc3BvbnNpdmUgV2ViUHJvY2Vzc2Vz
IGNhbiBiZSBtaXN0YWtlbiBmb3IgV2ViUHJvY2VzcyBjcmFzaGVzLgogCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vY3Jhc2hsb2dzLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2NyYXNobG9ncy5weQppbmRleCAwZGQzN2Qy
Li4yNzBjYTgxIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0
ZW0vY3Jhc2hsb2dzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3Rl
bS9jcmFzaGxvZ3MucHkKQEAgLTU2LDE1ICs1NiwxOCBAQCBjbGFzcyBDcmFzaExvZ3Mob2JqZWN0
KToKICAgICAgICAgZmlyc3RfbGluZV9yZWdleCA9IHJlLmNvbXBpbGUocideUHJvY2Vzczpccyso
P1A8cHJvY2Vzc19uYW1lPi4qKSBcWyg/UDxwaWQ+XGQrKVxdJCcpCiAgICAgICAgIGVycm9ycyA9
ICcnCiAgICAgICAgIGZvciBwYXRoIGluIHJldmVyc2VkKHNvcnRlZChsb2dzKSk6Ci0gICAgICAg
ICAgICBpZiBub3QgbmV3ZXJfdGhhbiBvciBzZWxmLl9ob3N0LmZpbGVzeXN0ZW0ubXRpbWUocGF0
aCkgPiBuZXdlcl90aGFuOgotICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgIHRyeToK
KyAgICAgICAgICAgICAgICBpZiBub3QgbmV3ZXJfdGhhbiBvciBzZWxmLl9ob3N0LmZpbGVzeXN0
ZW0ubXRpbWUocGF0aCkgPiBuZXdlcl90aGFuOgogICAgICAgICAgICAgICAgICAgICBmID0gc2Vs
Zi5faG9zdC5maWxlc3lzdGVtLnJlYWRfdGV4dF9maWxlKHBhdGgpCiAgICAgICAgICAgICAgICAg
ICAgIG1hdGNoID0gZmlyc3RfbGluZV9yZWdleC5tYXRjaChmWzA6Zi5maW5kKCdcbicpXSkKICAg
ICAgICAgICAgICAgICAgICAgaWYgbWF0Y2ggYW5kIG1hdGNoLmdyb3VwKCdwcm9jZXNzX25hbWUn
KSA9PSBwcm9jZXNzX25hbWUgYW5kIChwaWQgaXMgTm9uZSBvciBpbnQobWF0Y2guZ3JvdXAoJ3Bp
ZCcpKSA9PSBwaWQpOgogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVycm9ycyArIGYK
LSAgICAgICAgICAgICAgICBleGNlcHQgSU9FcnJvciwgZToKLSAgICAgICAgICAgICAgICAgICAg
aWYgaW5jbHVkZV9lcnJvcnM6Ci0gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMgKz0gIkVS
Uk9SOiBGYWlsZWQgdG8gcmVhZCAnJXMnOiAlc1xuIiAlIChwYXRoLCBzdHIoZSkpCisgICAgICAg
ICAgICBleGNlcHQgSU9FcnJvciwgZToKKyAgICAgICAgICAgICAgICBpZiBpbmNsdWRlX2Vycm9y
czoKKyAgICAgICAgICAgICAgICAgICAgZXJyb3JzICs9ICJFUlJPUjogRmFpbGVkIHRvIHJlYWQg
JyVzJzogJXNcbiIgJSAocGF0aCwgc3RyKGUpKQorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3Is
IGU6CisgICAgICAgICAgICAgICAgaWYgaW5jbHVkZV9lcnJvcnM6CisgICAgICAgICAgICAgICAg
ICAgIGVycm9ycyArPSAiRVJST1I6IEZhaWxlZCB0byByZWFkICclcyc6ICVzXG4iICUgKHBhdGgs
IHN0cihlKSkKIAogICAgICAgICBpZiBpbmNsdWRlX2Vycm9ycyBhbmQgZXJyb3JzOgogICAgICAg
ICAgICAgcmV0dXJuIGVycm9ycwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vc3lzdGVtL2NyYXNobG9nc191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL3N5c3RlbS9jcmFzaGxvZ3NfdW5pdHRlc3QucHkKaW5kZXggZDkzZmVlYy4uMWY1
YzQwYSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2Ny
YXNobG9nc191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9z
eXN0ZW0vY3Jhc2hsb2dzX3VuaXR0ZXN0LnB5CkBAIC03NSw2ICs3NSw3IEBAIGNsYXNzIENyYXNo
TG9nc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBlbHNlOgogICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChhLnNwbGl0bGluZXMoKSwgYi5zcGxpdGxpbmVzKCkpCiAKKwogICAg
IGRlZiB0ZXN0X2ZpbmRfbG9nX2RhcndpbihzZWxmKToKICAgICAgICAgaWYgbm90IFN5c3RlbUhv
c3QoKS5wbGF0Zm9ybS5pc19tYWMoKToKICAgICAgICAgICAgIHJldHVybgpAQCAtMTA1LDggKzEw
NiwxNyBAQCBjbGFzcyBDcmFzaExvZ3NUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChsb2csIE5vbmUpCiAKICAgICAgICAgZGVmIGJhZF9yZWFkKHBhdGgp
OgotICAgICAgICAgICAgcmFpc2UgSU9FcnJvcignTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeScp
CisgICAgICAgICAgICByYWlzZSBJT0Vycm9yKCdJT0Vycm9yOiBObyBzdWNoIGZpbGUgb3IgZGly
ZWN0b3J5JykKKworICAgICAgICBkZWYgYmFkX210aW1lKHBhdGgpOgorICAgICAgICAgICAgcmFp
c2UgT1NFcnJvcignT1NFcnJvcjogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeScpCiAKICAgICAg
ICAgZmlsZXN5c3RlbS5yZWFkX3RleHRfZmlsZSA9IGJhZF9yZWFkCiAgICAgICAgIGxvZyA9IGNy
YXNoX2xvZ3MuZmluZF9uZXdlc3RfbG9nKCJEdW1wUmVuZGVyVHJlZSIsIDI4NTMxLCBpbmNsdWRl
X2Vycm9ycz1UcnVlKQotICAgICAgICBzZWxmLmFzc2VydFRydWUoJ05vIHN1Y2ggZmlsZSBvciBk
aXJlY3RvcnknIGluIGxvZykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCdJT0Vycm9yOiBObyBz
dWNoIGZpbGUgb3IgZGlyZWN0b3J5JyBpbiBsb2cpCisKKyAgICAgICAgZmlsZXN5c3RlbSA9IE1v
Y2tGaWxlU3lzdGVtKGZpbGVzKQorICAgICAgICBjcmFzaF9sb2dzID0gQ3Jhc2hMb2dzKE1vY2tT
eXN0ZW1Ib3N0KGZpbGVzeXN0ZW09ZmlsZXN5c3RlbSkpCisgICAgICAgIGZpbGVzeXN0ZW0ubXRp
bWUgPSBiYWRfbXRpbWUKKyAgICAgICAgbG9nID0gY3Jhc2hfbG9ncy5maW5kX25ld2VzdF9sb2co
IkR1bXBSZW5kZXJUcmVlIiwgbmV3ZXJfdGhhbj0xLjAsIGluY2x1ZGVfZXJyb3JzPVRydWUpCisg
ICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgnT1NFcnJvcjogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y
eScgaW4gbG9nKQotLSAKMS43LjkuNiAoQXBwbGUgR2l0LTMxKQoK
</data>
<flag name="review"
          id="151989"
          type_id="1"
          status="+"
          setter="dpranke"
    />
          </attachment>
      

    </bug>

</bugzilla>