<?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>77335</bug_id>
          
          <creation_ts>2012-01-30 06:00:27 -0800</creation_ts>
          <short_desc>[Qt][NRWT] Run each DRT in it&apos;s own xvfb</short_desc>
          <delta_ts>2014-02-03 03:19:50 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>84928</dependson>
    
    <dependson>85654</dependson>
          <blocked>77730</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="János Badics">jbadics</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>kkristof</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ojan</cc>
    
    <cc>ossy</cc>
    
    <cc>pnormand</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>545057</commentid>
    <comment_count>0</comment_count>
    <who name="János Badics">jbadics</who>
    <bug_when>2012-01-30 06:00:27 -0800</bug_when>
    <thetext>running xvfb-run ...../DumpRenderTree [testname] gives the right output;
but putting xvfb-run in cmd_line(self) causes tests to timeout and give no results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545071</commentid>
    <comment_count>1</comment_count>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2012-01-30 06:42:13 -0800</bug_when>
    <thetext>Hi,
I looked after it and I have found this problem is caused by the xvfb-run because it redirects the stderr to stdout.
You can try to modify the xvfb-run and put into the webkit dir and call this modified script.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548654</commentid>
    <comment_count>2</comment_count>
      <attachid>125312</attachid>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2012-02-03 05:36:17 -0800</bug_when>
    <thetext>Created attachment 125312
proposed fix

Hi
I modified the xvfb-run script which now doesn&apos;t redirect the stderr to the stdout, so the nrwt get the stderr from the driver.
I also add a new --xvfb option to the nrwt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548660</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-02-03 05:49:10 -0800</bug_when>
    <thetext>We need it to be able run layout tests parallel with NRWT (https://bugs.webkit.org/show_bug.cgi?id=77730).

There are strange flakey crashes now in the editing tests,
because they try to use same clipboard at the same time.

There are several ways to solve this problem:
- run all DRT in separated XVFB (with separated clipboards) - best solution
- serialize editing tests - it works, but it makes testing slow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548867</commentid>
    <comment_count>4</comment_count>
      <attachid>125312</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-03 11:06:52 -0800</bug_when>
    <thetext>Comment on attachment 125312
proposed fix

The cr-linux EWS uses xvfb.  I wonder how adam set that up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548871</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-02-03 11:11:41 -0800</bug_when>
    <thetext>Our buildbots run in xvfb long time ago. The problem is that now the buildslave
run in xvfb, and its DRT instances run in one xvfb with its one clipboard, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548895</commentid>
    <comment_count>6</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-02-03 11:34:57 -0800</bug_when>
    <thetext>GTK+ has the same problem and has code for this already: http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/layout_tests/port/gtk.py#L46

Maybe Qt and GTK can somehow refactor and share this code?

Chromium Linux doesn&apos;t have this problem because we use a mock clipboard in DRT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549070</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-03 14:22:15 -0800</bug_when>
    <thetext>&gt; The cr-linux EWS uses xvfb.  I wonder how adam set that up.

I created a chromium-xvfb port:

http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/ports.py#L261

Why doesn&apos;t the buildbot just run-webkit-tests inside an xvfb?  This doesn&apos;t seem like a concern for run-webkit-tests itself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549088</commentid>
    <comment_count>8</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-02-03 14:32:00 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; &gt; The cr-linux EWS uses xvfb.  I wonder how adam set that up.
&gt; 
&gt; I created a chromium-xvfb port:
&gt; 
&gt; http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/ports.py#L261
&gt; 
&gt; Why doesn&apos;t the buildbot just run-webkit-tests inside an xvfb?  This doesn&apos;t seem like a concern for run-webkit-tests itself.

See comment #3 - we need one xvfb per worker, not one for all of NRWT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549093</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-03 14:35:35 -0800</bug_when>
    <thetext>Is this a problem for all ports?  Do we need to solve this problem for everyone (not just buildbots)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549385</commentid>
    <comment_count>10</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-02-04 00:09:09 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; Is this a problem for all ports?  Do we need to solve this problem for everyone (not just buildbots)?

I don&apos;t know how other ports works or not with parallel testing. But it is a blocker to run parallel tests on Qt now. 

It isn&apos;t problem only for the buildbots. Developers can&apos;t run parallel tests because of this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603955</commentid>
    <comment_count>11</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-04-17 05:49:05 -0700</bug_when>
    <thetext>Kristóf, could you pick up this bug again?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609753</commentid>
    <comment_count>12</comment_count>
      <attachid>138810</attachid>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2012-04-25 07:58:42 -0700</bug_when>
    <thetext>Created attachment 138810
proposed fix

This patch uses the same way as the gtk to start each DRT in separate xvfb hence I moved the GtkDriver to the new XvfbDriver class and use this in the qt as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610009</commentid>
    <comment_count>13</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-04-25 13:32:00 -0700</bug_when>
    <thetext>Odd that you&apos;r eusing xvfb for isolation.  I guess it works.

Chromium has code for this, for running tests in cr-linux-ews.  But it&apos;s in a different place.  I believe we run the whole session in a single xvfb.

http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/ports.py#L196</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610013</commentid>
    <comment_count>14</comment_count>
      <attachid>138810</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-25 13:33:46 -0700</bug_when>
    <thetext>Comment on attachment 138810
proposed fix

Clearing flags on attachment: 138810

Committed r115240: &lt;http://trac.webkit.org/changeset/115240&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610014</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-25 13:34:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610017</commentid>
    <comment_count>16</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-04-25 13:37:22 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Odd that you&apos;r eusing xvfb for isolation.  I guess it works.
&gt; 
&gt; Chromium has code for this, for running tests in cr-linux-ews.  But it&apos;s in a different place.  I believe we run the whole session in a single xvfb.

If that&apos;s true, we should change it. Running tests in parallel is blocked on the xvfb process if there&apos;s only one. I thought we changed to used multiple xvfbs ages ago, but I don&apos;t see the code now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610018</commentid>
    <comment_count>17</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-25 13:38:47 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #13)
&gt; &gt; Odd that you&apos;r eusing xvfb for isolation.  I guess it works.
&gt; &gt; 
&gt; &gt; Chromium has code for this, for running tests in cr-linux-ews.  But it&apos;s in a different place.  I believe we run the whole session in a single xvfb.
&gt; 
&gt; If that&apos;s true, we should change it. Running tests in parallel is blocked on the xvfb process if there&apos;s only one. I thought we changed to used multiple xvfbs ages ago, but I don&apos;t see the code now.

See the earlier comments on this bug ... the problems arise on the Qt and Gtk ports from using the shared clipboard; chromium&apos;s DRT uses a Mock clipboard and so doesn&apos;t have to worry about this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610025</commentid>
    <comment_count>18</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-04-25 13:49:58 -0700</bug_when>
    <thetext>Historically the approach has been to mock out things like clipboard at a system level in DRT.  But it&apos;s possible xvfb is a better solution for these linux ports.  It won&apos;t help them on non-linux platforms of course :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610050</commentid>
    <comment_count>19</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-04-25 14:31:40 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; (In reply to comment #13)
&gt; &gt; &gt; Odd that you&apos;r eusing xvfb for isolation.  I guess it works.
&gt; &gt; &gt; 
&gt; &gt; &gt; Chromium has code for this, for running tests in cr-linux-ews.  But it&apos;s in a different place.  I believe we run the whole session in a single xvfb.
&gt; &gt; 
&gt; &gt; If that&apos;s true, we should change it. Running tests in parallel is blocked on the xvfb process if there&apos;s only one. I thought we changed to used multiple xvfbs ages ago, but I don&apos;t see the code now.
&gt; 
&gt; See the earlier comments on this bug ... the problems arise on the Qt and Gtk ports from using the shared clipboard; chromium&apos;s DRT uses a Mock clipboard and so doesn&apos;t have to worry about this.

We don&apos;t need it for correctness, but chromium should use multiple xvfbs because the tests will run faster because they won&apos;t be gated on the single xvfb process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610062</commentid>
    <comment_count>20</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-25 14:46:38 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; 
&gt; We don&apos;t need it for correctness, but chromium should use multiple xvfbs because the tests will run faster because they won&apos;t be gated on the single xvfb process.

Maybe. I&apos;ve not seen xvfb be a bottleneck, but then again I haven&apos;t really tested it lately. It could be that having multiple X servers will just increase contention on the CPUs ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610345</commentid>
    <comment_count>21</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-04-25 21:58:00 -0700</bug_when>
    <thetext>Reopen, because it was rolled out - http://trac.webkit.org/changeset/115286

Please check the bot history. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611110</commentid>
    <comment_count>22</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-04-26 17:16:54 -0700</bug_when>
    <thetext>Interesting, I didn&apos;t realize wait() would raise an OSError if the process was already dead.

You can either catch that, or use _xvfb_process.terminate() instead of executive.kill_process and/or use _xvfb_process.join() instead of wait(), since join() definitely won&apos;t throw an error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611870</commentid>
    <comment_count>23</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-04-27 13:57:18 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; (In reply to comment #19)
&gt; &gt; 
&gt; &gt; We don&apos;t need it for correctness, but chromium should use multiple xvfbs because the tests will run faster because they won&apos;t be gated on the single xvfb process.
&gt; 
&gt; Maybe. I&apos;ve not seen xvfb be a bottleneck, but then again I haven&apos;t really tested it lately. It could be that having multiple X servers will just increase contention on the CPUs ...

xvfb isn&apos;t a bottleneck since we don&apos;t paint to the screen.  I forget when we made that change, but it&apos;s been a while.

Chromium only wants a single Xvfb.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616372</commentid>
    <comment_count>24</comment_count>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2012-05-04 10:26:02 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; Interesting, I didn&apos;t realize wait() would raise an OSError if the process was already dead.
&gt; 
&gt; You can either catch that, or use _xvfb_process.terminate() instead of executive.kill_process and/or use _xvfb_process.join() instead of wait(), since join() definitely won&apos;t throw an error.

I&apos;ve tried to reproduce that when the wait throw an OSError but it wasn&apos;t successful. Anyway I&apos;ve modified the patch as you said.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616374</commentid>
    <comment_count>25</comment_count>
      <attachid>140265</attachid>
    <who name="Kristóf Kosztyó">kkristof</who>
    <bug_when>2012-05-04 10:26:37 -0700</bug_when>
    <thetext>Created attachment 140265
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616470</commentid>
    <comment_count>26</comment_count>
      <attachid>140265</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-05-04 11:39:49 -0700</bug_when>
    <thetext>Comment on attachment 140265
proposed fix

looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616475</commentid>
    <comment_count>27</comment_count>
      <attachid>140265</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-05-04 11:43:57 -0700</bug_when>
    <thetext>Comment on attachment 140265
proposed fix

Clearing flags on attachment: 140265

Committed r116134: &lt;http://trac.webkit.org/changeset/116134&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>616476</commentid>
    <comment_count>28</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-05-04 11:44:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702843</commentid>
    <comment_count>29</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-08-23 03:19:46 -0700</bug_when>
    <thetext>Reopen, because XVFBDriver was disabled on Qt temporarily: https://trac.webkit.org/changeset/120688

See https://bugs.webkit.org/show_bug.cgi?id=88414 for details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975390</commentid>
    <comment_count>30</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2014-02-03 03:19:50 -0800</bug_when>
    <thetext>=== Bulk closing of Qt bugs ===

If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary.

If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125312</attachid>
            <date>2012-02-03 05:36:17 -0800</date>
            <delta_ts>2012-04-25 07:58:42 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>0103.patch</filename>
            <type>text/plain</type>
            <size>9531</size>
            <attacher name="Kristóf Kosztyó">kkristof</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiOTEw
YzE4Li4zNTVmYzdiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMDItMDMgIEtyaXN0w7NmIEtvc3p0ecOzICA8
a2tyaXN0b2ZAaW5mLnUtc3plZ2VkLmh1PgorCisgICAgICAgIFtRdF0gcnVubmluZyBEdW1wUmVu
dGVyVHJlZSB3aXRoIHh2ZmItcnVuIGNhdXNlcyB0ZXN0cyB0byB0aW1lb3V0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMzNQorCisgICAgICAgIEFk
ZCAtLXh2ZmIgb3B0aW9uIHRvIHRoZSBucnd0IHdoaWNoIHN0YXJ0cyBldmVyeSBkcml2ZXIKKyAg
ICAgICAgaW4gZGlmZmVyZW50IHh2ZmIgc2Vzc2lvbiBhbmQgYWxzbyBhZGQgdGhlIG1vZGlmaWVk
IHh2ZmItcnVuCisgICAgICAgIHNjcmlwdHMgd2hpY2ggZG9lc24ndCByZWRpcmVjdCB0aGUgc3Rk
ZXJyIHRvIHRoZSBzdGRvdXQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3dlYmtpdC5w
eToKKyAgICAgICAgKFdlYktpdERyaXZlci5jbWRfbGluZSk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weToKKyAgICAgICAgKHBhcnNl
X2FyZ3MpOgorICAgICAgICAqIFNjcmlwdHMveHZmYi1ydW46IEFkZGVkLgorCiAyMDEyLTAyLTAz
ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KIAogICAgICAgICBb
UXRdIFJlcGxhY2UgR05VIGxpbmtlciBzY3JpcHQgZm9yIGV4cG9ydHMgd2l0aCBleHBvcnQgbWFj
cm9zIGluIFdURi9KU0MKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3BvcnQvd2Via2l0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvcG9ydC93ZWJraXQucHkKaW5kZXggNmY3OTY3ZS4uYjRjNjY2MSAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC93ZWJraXQucHkKQEAgLTQ2Myw2
ICs0NjMsOSBAQCBjbGFzcyBXZWJLaXREcml2ZXIoRHJpdmVyKToKIAogICAgIGRlZiBjbWRfbGlu
ZShzZWxmKToKICAgICAgICAgY21kID0gc2VsZi5fY29tbWFuZF93cmFwcGVyKHNlbGYuX3BvcnQu
Z2V0X29wdGlvbignd3JhcHBlcicpKQorICAgICAgICBpZiBzZWxmLl9wb3J0LmdldF9vcHRpb24o
J3h2ZmInKToKKyAgICAgICAgICAgIGNtZCA9IGNtZCArIFtzZWxmLl9wb3J0Ll9jb25maWcuc2Ny
aXB0X3BhdGgoJ3h2ZmItcnVuJyksCisgICAgICAgICAgICAgICAgICAgICAgICAnLS1hdXRvLXNl
cnZlcm51bScsICctcyAtc2NyZWVuIDAgMTAyNHg3Njh4MjQnXQogICAgICAgICBjbWQuYXBwZW5k
KHNlbGYuX3BvcnQuX3BhdGhfdG9fZHJpdmVyKCkpCiAgICAgICAgIGlmIHNlbGYuX3BpeGVsX3Rl
c3RzOgogICAgICAgICAgICAgY21kLmFwcGVuZCgnLS1waXhlbC10ZXN0cycpCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5w
eQppbmRleCBhYzA5ZmM1Li5kMzQzMDU5IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKQEAgLTQyNCw2ICs0MjQs
OCBAQCBkZWYgcGFyc2VfYXJncyhhcmdzPU5vbmUpOgogICAgICAgICAgICAgaGVscD0iRG9uJ3Qg
cmUtdHJ5IGFueSB0ZXN0cyB0aGF0IHByb2R1Y2UgdW5leHBlY3RlZCByZXN1bHRzLiIpLAogICAg
ICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1tYXgtbG9ja2VkLXNoYXJkcyIsIHR5cGU9Imlu
dCIsCiAgICAgICAgICAgICBoZWxwPSJTZXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGxvY2tlZCBz
aGFyZHMiKSwKKyAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0teHZmYiIsIGFjdGlvbj0i
c3RvcmVfdHJ1ZSIsCisgICAgICAgICAgICBoZWxwPSJSdW4gdGhlIGRyaXZlcnMgaW4gc2VwYXJh
dGUgeHZmYiBzZXNzaW9ucyIpLAogICAgIF0KIAogICAgIG1pc2Nfb3B0aW9ucyA9IFsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMveHZmYi1ydW4gYi9Ub29scy9TY3JpcHRzL3h2ZmItcnVuCm5l
dyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJkY2Y2ZDQKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9TY3JpcHRzL3h2ZmItcnVuCkBAIC0wLDAgKzEsMTk2IEBACisjIS9iaW4vc2gK
KyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIworIyAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorIyAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAo
IkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorIyAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorIyAgICAgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
IworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWQorIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
KyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorIyBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworIyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7CisjIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorIyBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YKKyMgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworIyBUaGlzIHNjcmlwdCBzdGFydHMgYW4gaW5zdGFu
Y2Ugb2YgWHZmYiwgdGhlICJmYWtlIiBYIHNlcnZlciwgcnVucyBhIGNvbW1hbmQKKyMgd2l0aCB0
aGF0IHNlcnZlciBhdmFpbGFibGUsIGFuZCBraWxscyB0aGUgWCBzZXJ2ZXIgd2hlbiBkb25lLiAg
VGhlIHJldHVybgorIyB2YWx1ZSBvZiB0aGUgY29tbWFuZCBiZWNvbWVzIHRoZSByZXR1cm4gdmFs
dWUgb2YgdGhpcyBzY3JpcHQuCisjCisjIElmIGFueW9uZSBpcyB1c2luZyB0aGlzIHRvIGJ1aWxk
IGEgRGViaWFuIHBhY2thZ2UsIG1ha2Ugc3VyZSB0aGUgcGFja2FnZQorIyBCdWlsZC1EZXBlbmRz
IG9uIHh2ZmIsIHhiYXNlLWNsaWVudHMsIGFuZCB4Zm9udHMtYmFzZS4KKworc2V0IC1lCisKK1BS
T0dOQU1FPXh2ZmItcnVuCitTRVJWRVJOVU09OTkKK0FVVEhGSUxFPQorRVJST1JGSUxFPS9kZXYv
bnVsbAorU1RBUlRXQUlUPTMKK1hWRkJBUkdTPSItc2NyZWVuIDAgNjQweDQ4MHg4IgorTElTVEVO
VENQPSItbm9saXN0ZW4gdGNwIgorWEFVVEhQUk9UTz0uCisKK1BBVEg9JFBBVEg6L3Vzci9iaW4v
WDExOi91c3IvWDExUjYvYmluCisKKyMgUXVlcnkgdGhlIHRlcm1pbmFsIHRvIGVzdGFibGlzaCBh
IGRlZmF1bHQgbnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGZvcgorIyBkaXNwbGF5aW5nIG1lc3Nh
Z2VzIHRvIHRoZSB1c2VyLiAgVGhpcyBpcyB1c2VkIG9ubHkgYXMgYSBmYWxsYmFjayBpbiB0aGUg
ZXZlbnQKKyMgdGhlIENPTFVNTlMgdmFyaWFibGUgaXMgbm90IHNldC4gICgkQ09MVU1OUyBjYW4g
cmVhY3QgdG8gU0lHV0lOQ0ggd2hpbGUgdGhlCisjIHNjcmlwdCBpcyBydW5uaW5nLCBhbmQgdGhp
cyBjYW5ub3QsIG9ubHkgYmVpbmcgY2FsY3VsYXRlZCBvbmNlLikKK0RFRkNPTFVNTlM9JChzdHR5
IHNpemUgMj4vZGV2L251bGwgfCBhd2sgJ3twcmludCAkMn0nKSB8fCB0cnVlCitpZiAhIGV4cHIg
IiRERUZDT0xVTU5TIiA6ICJbWzpkaWdpdDpdXVwrJCIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisg
ICAgREVGQ09MVU1OUz04MAorZmkKKworIyBEaXNwbGF5IGEgbWVzc2FnZSwgd3JhcHBpbmcgbGlu
ZXMgYXQgdGhlIHRlcm1pbmFsIHdpZHRoLgorbWVzc2FnZSAoKSB7CisgICAgZWNobyAiJFBST0dO
QU1FOiAkKiIgfCBmbXQgLXQgLXcgJHtDT0xVTU5TOi0kREVGQ09MVU1OU30KK30KKworIyBEaXNw
bGF5IGFuIGVycm9yIG1lc3NhZ2UuCitlcnJvciAoKSB7CisgICAgbWVzc2FnZSAiZXJyb3I6ICQq
IiA+JjIKK30KKworIyBEaXNwbGF5IGEgdXNhZ2UgbWVzc2FnZS4KK3VzYWdlICgpIHsKKyAgICBp
ZiBbIC1uICIkKiIgXTsgdGhlbgorICAgICAgICBtZXNzYWdlICJ1c2FnZSBlcnJvcjogJCoiCisg
ICAgZmkKKyAgICBjYXQgPDxFT0YKK1VzYWdlOiAkUFJPR05BTUUgW09QVElPTiAuLi5dIENPTU1B
TkQKK1J1biBDT01NQU5EICh1c3VhbGx5IGFuIFggY2xpZW50KSBpbiBhIHZpcnR1YWwgWCBzZXJ2
ZXIgZW52aXJvbm1lbnQuCitPcHRpb25zOgorLWEgICAgICAgIC0tYXV0by1zZXJ2ZXJudW0gICAg
ICAgICAgdHJ5IHRvIGdldCBhIGZyZWUgc2VydmVyIG51bWJlciwgc3RhcnRpbmcgYXQKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tc2VydmVyLW51bQorLWUgRklMRSAgIC0t
ZXJyb3ItZmlsZT1GSUxFICAgICAgICAgZmlsZSB1c2VkIHRvIHN0b3JlIHhhdXRoIGVycm9ycyBh
bmQgWHZmYgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0IChkZWZh
dWx0OiAkRVJST1JGSUxFKQorLWYgRklMRSAgIC0tYXV0aC1maWxlPUZJTEUgICAgICAgICAgZmls
ZSB1c2VkIHRvIHN0b3JlIGF1dGggY29va2llCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAoZGVmYXVsdDogLi8uWGF1dGhvcml0eSkKKy1oICAgICAgICAtLWhlbHAgICAgICAg
ICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyB1c2FnZSBtZXNzYWdlIGFuZCBleGl0CistbiBOVU0g
ICAgLS1zZXJ2ZXItbnVtPU5VTSAgICAgICAgICBzZXJ2ZXIgbnVtYmVyIHRvIHVzZSAoZGVmYXVs
dDogJFNFUlZFUk5VTSkKKy1sICAgICAgICAtLWxpc3Rlbi10Y3AgICAgICAgICAgICAgIGVuYWJs
ZSBUQ1AgcG9ydCBsaXN0ZW5pbmcgaW4gdGhlIFggc2VydmVyCistcCBQUk9UTyAgLS14YXV0aC1w
cm90b2NvbD1QUk9UTyAgICBYIGF1dGhvcml0eSBwcm90b2NvbCBuYW1lIHRvIHVzZQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlZmF1bHQ6IHhhdXRoIGNvbW1hbmQncyBk
ZWZhdWx0KQorLXMgQVJHUyAgIC0tc2VydmVyLWFyZ3M9QVJHUyAgICAgICAgYXJndW1lbnRzIChv
dGhlciB0aGFuIHNlcnZlciBudW1iZXIgYW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiLW5vbGlzdGVuIHRjcCIpIHRvIHBhc3MgdG8gdGhlIFh2ZmIgc2VydmVyCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGVmYXVsdDogIiRYVkZCQVJHUyIpCist
dyBERUxBWSAgLS13YWl0PURFTEFZICAgICAgICAgICAgICBkZWxheSBpbiBzZWNvbmRzIHRvIHdh
aXQgZm9yIFh2ZmIgdG8gc3RhcnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJlZm9yZSBydW5uaW5nIENPTU1BTkQgKGRlZmF1bHQ6ICRTVEFSVFdBSVQpCitFT0YKK30KKwor
IyBGaW5kIGEgZnJlZSBzZXJ2ZXIgbnVtYmVyIGJ5IGxvb2tpbmcgYXQgLlgqLWxvY2sgZmlsZXMg
aW4gL3RtcC4KK2ZpbmRfZnJlZV9zZXJ2ZXJudW0oKSB7CisgICAgIyBTYWRseSwgdGhlICJsb2Nh
bCIga2V5d29yZCBpcyBub3QgUE9TSVguICBMZWF2ZSB0aGUgbmV4dCBsaW5lIGNvbW1lbnRlZCBp
bgorICAgICMgdGhlIGhvcGUgRGViaWFuIFBvbGljeSBldmVudHVhbGx5IGNoYW5nZXMgdG8gYWxs
b3cgaXQgaW4gL2Jpbi9zaCBzY3JpcHRzCisgICAgIyBhbnl3YXkuCisgICAgI2xvY2FsIGkKKwor
ICAgIGk9JFNFUlZFUk5VTQorICAgIHdoaWxlIFsgLWYgL3RtcC8uWCRpLWxvY2sgXTsgZG8KKyAg
ICAgICAgaT0kKCgkaSArIDEpKQorICAgIGRvbmUKKyAgICBlY2hvICRpCit9CisKKyMgUGFyc2Ug
dGhlIGNvbW1hbmQgbGluZS4KK0FSR1M9JChnZXRvcHQgLS1vcHRpb25zICthZTpmOmhuOmxwOnM6
dzogXAorICAgICAgIC0tbG9uZyBhdXRvLXNlcnZlcm51bSxlcnJvci1maWxlOmF1dGgtZmlsZTos
aGVscCxzZXJ2ZXItbnVtOixsaXN0ZW4tdGNwLHhhdXRoLXByb3RvY29sOixzZXJ2ZXItYXJnczos
d2FpdDogXAorICAgICAgIC0tbmFtZSAiJFBST0dOQU1FIiAtLSAiJEAiKQorR0VUT1BUX1NUQVRV
Uz0kPworCitpZiBbICRHRVRPUFRfU1RBVFVTIC1uZSAwIF07IHRoZW4KKyAgICBlcnJvciAiaW50
ZXJuYWwgZXJyb3I7IGdldG9wdCBleGl0ZWQgd2l0aCBzdGF0dXMgJEdFVE9QVF9TVEFUVVMiCisg
ICAgZXhpdCA2CitmaQorCitldmFsIHNldCAtLSAiJEFSR1MiCisKK3doaWxlIDo7IGRvCisgICAg
Y2FzZSAiJDEiIGluCisgICAgICAgIC1hfC0tYXV0by1zZXJ2ZXJudW0pIFNFUlZFUk5VTT0kKGZp
bmRfZnJlZV9zZXJ2ZXJudW0pIDs7CisgICAgICAgIC1lfC0tZXJyb3ItZmlsZSkgRVJST1JGSUxF
PSIkMiI7IHNoaWZ0IDs7CisgICAgICAgIC1mfC0tYXV0aC1maWxlKSBBVVRIRklMRT0iJDIiOyBz
aGlmdCA7OworICAgICAgICAtaHwtLWhlbHApIFNIT1dIRUxQPSJ5ZXMiIDs7CisgICAgICAgIC1u
fC0tc2VydmVyLW51bSkgU0VSVkVSTlVNPSIkMiI7IHNoaWZ0IDs7CisgICAgICAgIC1sfC0tbGlz
dGVuLXRjcCkgTElTVEVOVENQPSIiIDs7CisgICAgICAgIC1wfC0teGF1dGgtcHJvdG9jb2wpIFhB
VVRIUFJPVE89IiQyIjsgc2hpZnQgOzsKKyAgICAgICAgLXN8LS1zZXJ2ZXItYXJncykgWFZGQkFS
R1M9IiQyIjsgc2hpZnQgOzsKKyAgICAgICAgLXd8LS13YWl0KSBTVEFSVFdBSVQ9IiQyIjsgc2hp
ZnQgOzsKKyAgICAgICAgLS0pIHNoaWZ0OyBicmVhayA7OworICAgICAgICAqKSBlcnJvciAiaW50
ZXJuYWwgZXJyb3I7IGdldG9wdCBwZXJtaXR0ZWQgXCIkMVwiIHVuZXhwZWN0ZWRseSIKKyAgICAg
ICAgICAgZXhpdCA2CisgICAgICAgICAgIDs7CisgICAgZXNhYworICAgIHNoaWZ0Citkb25lCisK
K2lmIFsgIiRTSE9XSEVMUCIgXTsgdGhlbgorICAgIHVzYWdlCisgICAgZXhpdCAwCitmaQorCitp
ZiBbIC16ICIkKiIgXTsgdGhlbgorICAgIHVzYWdlICJuZWVkIGEgY29tbWFuZCB0byBydW4iID4m
MgorICAgIGV4aXQgMgorZmkKKworaWYgISB3aGljaCB4YXV0aCA+L2Rldi9udWxsOyB0aGVuCisg
ICAgZXJyb3IgInhhdXRoIGNvbW1hbmQgbm90IGZvdW5kIgorICAgIGV4aXQgMworZmkKKworIyBJ
ZiB0aGUgdXNlciBkaWQgbm90IHNwZWNpZnkgYW4gWCBhdXRob3JpemF0aW9uIGZpbGUgdG8gdXNl
LCBzZXQgdXAgYSB0ZW1wb3JhcnkKKyMgZGlyZWN0b3J5IHRvIGhvdXNlIG9uZS4KK2lmIFsgLXog
IiRBVVRIRklMRSIgXTsgdGhlbgorICAgIFhWRkJfUlVOX1RNUERJUj0iJHtUTVBESVI6LS90bXB9
LyRQUk9HTkFNRS4kJCIKKyAgICBpZiAhIG1rZGlyIC1wIC1tIDcwMCAiJFhWRkJfUlVOX1RNUERJ
UiI7IHRoZW4KKyAgICAgICAgZXJyb3IgInRlbXBvcmFyeSBkaXJlY3RvcnkgJFhWRkJfUlVOX1RN
UERJUiBhbHJlYWR5IGV4aXN0cyIKKyAgICAgICAgZXhpdCA0CisgICAgZmkKKyAgICBBVVRIRklM
RT0kKHRlbXBmaWxlIC1uICIkWFZGQl9SVU5fVE1QRElSL1hhdXRob3JpdHkiKQorZmkKKworIyBT
dGFydCBYdmZiLgorTUNPT0tJRT0kKG1jb29raWUpCitYQVVUSE9SSVRZPSRBVVRIRklMRSB4YXV0
aCBhZGQgIjokU0VSVkVSTlVNIiAiJFhBVVRIUFJPVE8iICIkTUNPT0tJRSIgXAorICA+IiRFUlJP
UkZJTEUiIDI+JjEKK1hBVVRIT1JJVFk9JEFVVEhGSUxFIFh2ZmIgIjokU0VSVkVSTlVNIiAkWFZG
QkFSR1MgJExJU1RFTlRDUCA+IiRFUlJPUkZJTEUiIFwKKyAgMj4mMSAmCitYVkZCUElEPSQhCitz
bGVlcCAiJFNUQVJUV0FJVCIKKworIyBTdGFydCB0aGUgY29tbWFuZCBhbmQgc2F2ZSBpdHMgZXhp
dCBzdGF0dXMuCitzZXQgK2UKK0RJU1BMQVk9OiRTRVJWRVJOVU0gWEFVVEhPUklUWT0kQVVUSEZJ
TEUgIiRAIgorUkVUVkFMPSQ/CitzZXQgLWUKKworIyBLaWxsIFh2ZmIgbm93IHRoYXQgdGhlIGNv
bW1hbmQgaGFzIGV4aXRlZC4KK2tpbGwgJFhWRkJQSUQKKworIyBDbGVhbiB1cC4KK1hBVVRIT1JJ
VFk9JEFVVEhGSUxFIHhhdXRoIHJlbW92ZSAiOiRTRVJWRVJOVU0iID4iJEVSUk9SRklMRSIgMj4m
MQoraWYgWyAtbiAiJFhWRkJfUlVOX1RNUERJUiIgXTsgdGhlbgorICAgIGlmICEgcm0gLXIgIiRY
VkZCX1JVTl9UTVBESVIiOyB0aGVuCisgICAgICAgIGVycm9yICJwcm9ibGVtIHdoaWxlIGNsZWFu
aW5nIHVwIHRlbXBvcmFyeSBkaXJlY3RvcnkiCisgICAgICAgIGV4aXQgNQorICAgIGZpCitmaQor
CisjIFJldHVybiB0aGUgZXhlY3V0ZWQgY29tbWFuZCdzIGV4aXQgc3RhdHVzLgorZXhpdCAkUkVU
VkFMCisKKyMgdmltOnNldCBhaSBldCBzdHM9NCBzdz00IHR3PTgwOgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUK
</data>
<flag name="review"
          id="126794"
          type_id="1"
          status="-"
          setter="tony"
    />
    <flag name="commit-queue"
          id="126795"
          type_id="3"
          status="-"
          setter="tony"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138810</attachid>
            <date>2012-04-25 07:58:42 -0700</date>
            <delta_ts>2012-05-04 10:26:37 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>xvfbrun.patch</filename>
            <type>text/plain</type>
            <size>8423</size>
            <attacher name="Kristóf Kosztyó">kkristof</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAyMzY5
YmU3Li44NDJhZWQ0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMDQtMjUgIEtyaXN0w7NmIEtvc3p0ecOzICA8
a2tyaXN0b2ZAaW5mLnUtc3plZ2VkLmh1PgorCisgICAgICAgIFtRdF1bTlJXVF0gUnVuIGVhY2gg
RFJUIGluIGl0J3Mgb3duIHh2ZmIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc3MzM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2d0ay5weToK
KyAgICAgICAgKEd0a1BvcnQuX2RyaXZlcl9jbGFzcyk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcG9ydC9xdC5weToKKyAgICAgICAgKFF0UG9ydC5fZHJpdmVyX2Ns
YXNzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3h2ZmJk
cml2ZXIucHk6IEFkZGVkLgorICAgICAgICAoWHZmYkRyaXZlcik6CisgICAgICAgIChYdmZiRHJp
dmVyLl9zdGFydCk6CisgICAgICAgIChYdmZiRHJpdmVyLl9zdGFydC54X2ZpbHRlcik6CisgICAg
ICAgIChYdmZiRHJpdmVyLnN0b3ApOgorCiAyMDEyLTA0LTE4ICBUb3IgQXJuZSBWZXN0YsO4ICA8
dG9yLmFybmUudmVzdGJvQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIE1ha2UgdGhlIHdlYiB2
aWV3J3MgdXJsIHByb3BlcnR5IGZvbGxvdyB0aGUgYWN0aXZlIHVybApkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9ndGsucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2d0ay5weQppbmRleCA3MTRkMTY2Li5iM2Uz
MzRiIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2d0ay5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2d0
ay5weQpAQCAtMzIsNDkgKzMyLDEyIEBAIGltcG9ydCBzaWduYWwKIGltcG9ydCBzdWJwcm9jZXNz
CiAKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscy50ZXN0X2NvbmZpZ3VyYXRpb24g
aW1wb3J0IFRlc3RDb25maWd1cmF0aW9uCi1mcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5wb3J0
LnNlcnZlcl9wcm9jZXNzIGltcG9ydCBTZXJ2ZXJQcm9jZXNzCi1mcm9tIHdlYmtpdHB5LmxheW91
dF90ZXN0cy5wb3J0LndlYmtpdCBpbXBvcnQgV2ViS2l0RHJpdmVyLCBXZWJLaXRQb3J0Ci1mcm9t
IHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBFeGVjdXRpdmUKK2Zyb20g
d2Via2l0cHkubGF5b3V0X3Rlc3RzLnBvcnQud2Via2l0IGltcG9ydCBXZWJLaXRQb3J0Citmcm9t
IHdlYmtpdHB5LmxheW91dF90ZXN0cy5wb3J0Lnh2ZmJkcml2ZXIgaW1wb3J0IFh2ZmJEcml2ZXIK
IAogX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCiAKLWNsYXNzIEd0a0RyaXZl
cihXZWJLaXREcml2ZXIpOgotICAgIGRlZiBfc3RhcnQoc2VsZiwgcGl4ZWxfdGVzdHMsIHBlcl90
ZXN0X2FyZ3MpOgotCi0gICAgICAgICMgQ29sbGVjdCB0aGUgbnVtYmVyIG9mIFggc2VydmVycyBy
dW5uaW5nIGFscmVhZHkgYW5kIG1ha2UKLSAgICAgICAgIyBzdXJlIG91ciBYdmZiIHByb2Nlc3Mg
ZG9lc24ndCBjbGFzaCB3aXRoIGFueSBvZiB0aGVtLgotICAgICAgICBkZWYgeF9maWx0ZXIocHJv
Y2Vzc19uYW1lKToKLSAgICAgICAgICAgIHJldHVybiBwcm9jZXNzX25hbWUuZmluZCgiWG9yZyIp
ID4gLTEKLQotICAgICAgICBydW5uaW5nX2Rpc3BsYXlzID0gbGVuKEV4ZWN1dGl2ZSgpLnJ1bm5p
bmdfcGlkcyh4X2ZpbHRlcikpCi0KLSAgICAgICAgIyBVc2UgZXZlbiBkaXNwbGF5cyBmb3IgcGl4
ZWwgdGVzdHMgYW5kIG9kZCBvbmVzIG90aGVyd2lzZS4gV2hlbiBwaXhlbCB0ZXN0cyBhcmUgZGlz
YWJsZWQsCi0gICAgICAgICMgRHJpdmVyUHJveHkgY3JlYXRlcyB0d28gZHJpdmVycywgb25lIGZv
ciBub3JtYWwgYW5kIHRoZSBvdGhlciBmb3IgcmVmIHRlc3RzLiBCb3RoIGhhdmUKLSAgICAgICAg
IyB0aGUgc2FtZSB3b3JrZXIgbnVtYmVyLCBzbyB0aGlzIHByZXZlbnRzIHRoZW0gZnJvbSB1c2lu
ZyB0aGUgc2FtZSBYdmZiIGluc3RhbmNlLgotICAgICAgICBkaXNwbGF5X2lkID0gc2VsZi5fd29y
a2VyX251bWJlciAqIDIgKyBydW5uaW5nX2Rpc3BsYXlzCi0gICAgICAgIGlmIHNlbGYuX3BvcnQu
Z2V0X29wdGlvbigncGl4ZWxfdGVzdHMnKToKLSAgICAgICAgICAgIGRpc3BsYXlfaWQgKz0gMQot
ICAgICAgICBydW5feHZmYiA9IFsiWHZmYiIsICI6JWQiICUgKGRpc3BsYXlfaWQpLCAiLXNjcmVl
biIsICAiMCIsICI4MDB4NjAweDI0IiwgIi1ub2xpc3RlbiIsICJ0Y3AiXQotICAgICAgICB3aXRo
IG9wZW4ob3MuZGV2bnVsbCwgJ3cnKSBhcyBkZXZudWxsOgotICAgICAgICAgICAgc2VsZi5feHZm
Yl9wcm9jZXNzID0gc3VicHJvY2Vzcy5Qb3BlbihydW5feHZmYiwgc3RkZXJyPWRldm51bGwpCi0g
ICAgICAgIHNlcnZlcl9uYW1lID0gc2VsZi5fcG9ydC5kcml2ZXJfbmFtZSgpCi0gICAgICAgIGVu
dmlyb25tZW50ID0gc2VsZi5fcG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoc2VydmVyX25h
bWUpCi0gICAgICAgICMgV2UgbXVzdCBkbyB0aGlzIGhlcmUgYmVjYXVzZSB0aGUgRElTUExBWSBu
dW1iZXIgZGVwZW5kcyBvbiBfd29ya2VyX251bWJlcgotICAgICAgICBlbnZpcm9ubWVudFsnRElT
UExBWSddID0gIjolZCIgJSAoZGlzcGxheV9pZCkKLSAgICAgICAgc2VsZi5fY3Jhc2hlZF9wcm9j
ZXNzX25hbWUgPSBOb25lCi0gICAgICAgIHNlbGYuX2NyYXNoZWRfcGlkID0gTm9uZQotICAgICAg
ICBzZWxmLl9zZXJ2ZXJfcHJvY2VzcyA9IFNlcnZlclByb2Nlc3Moc2VsZi5fcG9ydCwgc2VydmVy
X25hbWUsIHNlbGYuY21kX2xpbmUocGl4ZWxfdGVzdHMsIHBlcl90ZXN0X2FyZ3MpLCBlbnZpcm9u
bWVudCkKLQotICAgIGRlZiBzdG9wKHNlbGYpOgotICAgICAgICBXZWJLaXREcml2ZXIuc3RvcChz
ZWxmKQotICAgICAgICBpZiBnZXRhdHRyKHNlbGYsICdfeHZmYl9wcm9jZXNzJywgTm9uZSk6Ci0g
ICAgICAgICAgICAjIEZJWE1FOiBUaGlzIHNob3VsZCB1c2UgRXhlY3V0aXZlLmtpbGxfcHJvY2Vz
cwotICAgICAgICAgICAgb3Mua2lsbChzZWxmLl94dmZiX3Byb2Nlc3MucGlkLCBzaWduYWwuU0lH
VEVSTSkKLSAgICAgICAgICAgIHNlbGYuX3h2ZmJfcHJvY2Vzcy53YWl0KCkKLSAgICAgICAgICAg
IHNlbGYuX3h2ZmJfcHJvY2VzcyA9IE5vbmUKLQotCiBjbGFzcyBHdGtQb3J0KFdlYktpdFBvcnQp
OgogICAgIHBvcnRfbmFtZSA9ICJndGsiCiAKQEAgLTgyLDcgKzQ1LDcgQEAgY2xhc3MgR3RrUG9y
dChXZWJLaXRQb3J0KToKICAgICAgICAgcmV0dXJuICItLWd0ayIKIAogICAgIGRlZiBfZHJpdmVy
X2NsYXNzKHNlbGYpOgotICAgICAgICByZXR1cm4gR3RrRHJpdmVyCisgICAgICAgIHJldHVybiBY
dmZiRHJpdmVyCiAKICAgICBkZWYgX3VubG9hZF9wdWxzZWF1ZGlvX21vZHVsZShzZWxmKToKICAg
ICAgICAgIyBVbmxvYWQgcHVsc2VhdWRpbydzIG1vZHVsZS1zdHJlYW0tcmVzdG9yZSwgc2luY2Ug
aXQgcmVtZW1iZXJzCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9wb3J0L3F0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9y
dC9xdC5weQppbmRleCAzNzExOGJiLi5iMDhkOGM5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3F0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcXQucHkKQEAgLTM4LDcgKzM4LDcgQEAgaW1wb3J0IHdl
YmtpdAogZnJvbSB3ZWJraXRweS5jb21tb24ubWVtb2l6ZWQgaW1wb3J0IG1lbW9pemVkCiBmcm9t
IHdlYmtpdHB5LmxheW91dF90ZXN0cy5tb2RlbHMudGVzdF9jb25maWd1cmF0aW9uIGltcG9ydCBU
ZXN0Q29uZmlndXJhdGlvbgogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMucG9ydC53ZWJraXQg
aW1wb3J0IFdlYktpdFBvcnQKLQorZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMucG9ydC54dmZi
ZHJpdmVyIGltcG9ydCBYdmZiRHJpdmVyCiAKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25h
bWVfXykKIApAQCAtODEsNiArODEsOSBAQCBjbGFzcyBRdFBvcnQoV2ViS2l0UG9ydCk6CiAgICAg
ICAgICMgVGhlIFF0IHBvcnQgYnVpbGRzIERSVCBhcyBwYXJ0IG9mIHRoZSBtYWluIGJ1aWxkIHN0
ZXAKICAgICAgICAgcmV0dXJuIFRydWUKIAorICAgIGRlZiBfZHJpdmVyX2NsYXNzKHNlbGYpOgor
ICAgICAgICByZXR1cm4gWHZmYkRyaXZlcgorCiAgICAgZGVmIF9wYXRoX3RvX2RyaXZlcihzZWxm
KToKICAgICAgICAgcmV0dXJuIHNlbGYuX2J1aWxkX3BhdGgoJ2Jpbi8lcycgJSBzZWxmLmRyaXZl
cl9uYW1lKCkpCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQveHZmYmRyaXZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3BvcnQveHZmYmRyaXZlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5kNjkxZmUwCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvcG9ydC94dmZiZHJpdmVyLnB5CkBAIC0wLDAgKzEsNzMgQEAKKyMgQ29weXJpZ2h0
IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5l
aXRoZXIgdGhlIEdvb2dsZSBuYW1lIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisjIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorIyBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKwor
aW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBvcworaW1wb3J0IHNpZ25hbAoraW1wb3J0IHN1YnByb2Nl
c3MKKworZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMucG9ydC5zZXJ2ZXJfcHJvY2VzcyBpbXBv
cnQgU2VydmVyUHJvY2VzcworZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMucG9ydC53ZWJraXQg
aW1wb3J0IFdlYktpdERyaXZlcgorZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1dGl2
ZSBpbXBvcnQgRXhlY3V0aXZlCisKK19sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykK
KworCitjbGFzcyBYdmZiRHJpdmVyKFdlYktpdERyaXZlcik6CisgICAgZGVmIF9zdGFydChzZWxm
LCBwaXhlbF90ZXN0cywgcGVyX3Rlc3RfYXJncyk6CisKKyAgICAgICAgIyBDb2xsZWN0IHRoZSBu
dW1iZXIgb2YgWCBzZXJ2ZXJzIHJ1bm5pbmcgYWxyZWFkeSBhbmQgbWFrZQorICAgICAgICAjIHN1
cmUgb3VyIFh2ZmIgcHJvY2VzcyBkb2Vzbid0IGNsYXNoIHdpdGggYW55IG9mIHRoZW0uCisgICAg
ICAgIGRlZiB4X2ZpbHRlcihwcm9jZXNzX25hbWUpOgorICAgICAgICAgICAgcmV0dXJuIHByb2Nl
c3NfbmFtZS5maW5kKCJYb3JnIikgPiAtMQorCisgICAgICAgIHJ1bm5pbmdfZGlzcGxheXMgPSBs
ZW4oRXhlY3V0aXZlKCkucnVubmluZ19waWRzKHhfZmlsdGVyKSkKKworICAgICAgICAjIFVzZSBl
dmVuIGRpc3BsYXlzIGZvciBwaXhlbCB0ZXN0cyBhbmQgb2RkIG9uZXMgb3RoZXJ3aXNlLiBXaGVu
IHBpeGVsIHRlc3RzIGFyZSBkaXNhYmxlZCwKKyAgICAgICAgIyBEcml2ZXJQcm94eSBjcmVhdGVz
IHR3byBkcml2ZXJzLCBvbmUgZm9yIG5vcm1hbCBhbmQgdGhlIG90aGVyIGZvciByZWYgdGVzdHMu
IEJvdGggaGF2ZQorICAgICAgICAjIHRoZSBzYW1lIHdvcmtlciBudW1iZXIsIHNvIHRoaXMgcHJl
dmVudHMgdGhlbSBmcm9tIHVzaW5nIHRoZSBzYW1lIFh2ZmIgaW5zdGFuY2UuCisgICAgICAgIGRp
c3BsYXlfaWQgPSBzZWxmLl93b3JrZXJfbnVtYmVyICogMiArIHJ1bm5pbmdfZGlzcGxheXMKKyAg
ICAgICAgaWYgc2VsZi5fcG9ydC5nZXRfb3B0aW9uKCdwaXhlbF90ZXN0cycpOgorICAgICAgICAg
ICAgZGlzcGxheV9pZCArPSAxCisgICAgICAgIHJ1bl94dmZiID0gWyJYdmZiIiwgIjolZCIgJSAo
ZGlzcGxheV9pZCksICItc2NyZWVuIiwgICIwIiwgIjgwMHg2MDB4MjQiLCAiLW5vbGlzdGVuIiwg
InRjcCJdCisgICAgICAgIHdpdGggb3Blbihvcy5kZXZudWxsLCAndycpIGFzIGRldm51bGw6Cisg
ICAgICAgICAgICBzZWxmLl94dmZiX3Byb2Nlc3MgPSBzdWJwcm9jZXNzLlBvcGVuKHJ1bl94dmZi
LCBzdGRlcnI9ZGV2bnVsbCkKKyAgICAgICAgc2VydmVyX25hbWUgPSBzZWxmLl9wb3J0LmRyaXZl
cl9uYW1lKCkKKyAgICAgICAgZW52aXJvbm1lbnQgPSBzZWxmLl9wb3J0LnNldHVwX2Vudmlyb25f
Zm9yX3NlcnZlcihzZXJ2ZXJfbmFtZSkKKyAgICAgICAgIyBXZSBtdXN0IGRvIHRoaXMgaGVyZSBi
ZWNhdXNlIHRoZSBESVNQTEFZIG51bWJlciBkZXBlbmRzIG9uIF93b3JrZXJfbnVtYmVyCisgICAg
ICAgIGVudmlyb25tZW50WydESVNQTEFZJ10gPSAiOiVkIiAlIChkaXNwbGF5X2lkKQorICAgICAg
ICBzZWxmLl9jcmFzaGVkX3Byb2Nlc3NfbmFtZSA9IE5vbmUKKyAgICAgICAgc2VsZi5fY3Jhc2hl
ZF9waWQgPSBOb25lCisgICAgICAgIHNlbGYuX3NlcnZlcl9wcm9jZXNzID0gU2VydmVyUHJvY2Vz
cyhzZWxmLl9wb3J0LCBzZXJ2ZXJfbmFtZSwgc2VsZi5jbWRfbGluZShwaXhlbF90ZXN0cywgcGVy
X3Rlc3RfYXJncyksIGVudmlyb25tZW50KQorCisgICAgZGVmIHN0b3Aoc2VsZik6CisgICAgICAg
IFdlYktpdERyaXZlci5zdG9wKHNlbGYpCisgICAgICAgIGlmIGdldGF0dHIoc2VsZiwgJ194dmZi
X3Byb2Nlc3MnLCBOb25lKToKKyAgICAgICAgICAgIEV4ZWN1dGl2ZSgpLmtpbGxfcHJvY2Vzcyhz
ZWxmLl94dmZiX3Byb2Nlc3MucGlkKQorICAgICAgICAgICAgc2VsZi5feHZmYl9wcm9jZXNzLndh
aXQoKQorICAgICAgICAgICAgc2VsZi5feHZmYl9wcm9jZXNzID0gTm9uZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140265</attachid>
            <date>2012-05-04 10:26:37 -0700</date>
            <delta_ts>2012-05-04 11:43:57 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>xvfbdriver.patch</filename>
            <type>text/plain</type>
            <size>6604</size>
            <attacher name="Kristóf Kosztyó">kkristof</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlNzJi
Yjc2ZS4uZjM2ZWZhMyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA1LTA0ICBLcmlzdMOzZiBLb3N6dHnDsyAg
PGtrcmlzdG9mQGluZi51LXN6ZWdlZC5odT4KKworICAgICAgICBbUXRdW05SV1RdIFJ1biBlYWNo
IERSVCBpbiBpdCdzIG93biB4dmZiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03NzMzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC9ndGsucHk6
CisgICAgICAgIChHdGtQb3J0Ll9kcml2ZXJfY2xhc3MpOgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcXQucHk6CisgICAgICAgIChRdFBvcnQuX2RyaXZlcl9j
bGFzcyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC94dmZi
ZHJpdmVyLnB5OiBBZGRlZC4KKyAgICAgICAgKFh2ZmJEcml2ZXIpOgorICAgICAgICAoWHZmYkRy
aXZlci5fc3RhcnQpOgorICAgICAgICAoWHZmYkRyaXZlci5fc3RhcnQueF9maWx0ZXIpOgorICAg
ICAgICAoWHZmYkRyaXZlci5zdG9wKToKKwogMjAxMi0wNS0wNCAgQ2hyaXN0b3BoZSBEdW1leiAg
PGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdIExheW91dFRlc3RD
b250cm9sbGVyIGRvZXMgbm90IHN1cHBvcnQgb3ZlcnJpZGluZyBXZWJLaXRMb2FkU2l0ZUljb25z
S2V5CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0
L2d0ay5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZ3RrLnB5
CmluZGV4IDk4NTFhOGIuLjMyYjdmNTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3BvcnQvZ3RrLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3BvcnQvZ3RrLnB5CkBAIC0zNSw2ICszNSw3IEBAIGZyb20gd2Via2l0cHku
bGF5b3V0X3Rlc3RzLm1vZGVscy50ZXN0X2NvbmZpZ3VyYXRpb24gaW1wb3J0IFRlc3RDb25maWd1
cmF0aW9uCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5wb3J0LnNlcnZlcl9wcm9jZXNzIGlt
cG9ydCBTZXJ2ZXJQcm9jZXNzCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5wb3J0LndlYmtp
dCBpbXBvcnQgV2ViS2l0RHJpdmVyLCBXZWJLaXRQb3J0CiBmcm9tIHdlYmtpdHB5LmxheW91dF90
ZXN0cy5wb3J0LnB1bHNlYXVkaW9fc2FuaXRpemVyIGltcG9ydCBQdWxzZUF1ZGlvU2FuaXRpemVy
Citmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5wb3J0Lnh2ZmJkcml2ZXIgaW1wb3J0IFh2ZmJE
cml2ZXIKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IEV4ZWN1
dGl2ZQogCiAKQEAgLTgxLDcgKzgyLDcgQEAgY2xhc3MgR3RrUG9ydChXZWJLaXRQb3J0LCBQdWxz
ZUF1ZGlvU2FuaXRpemVyKToKICAgICAgICAgcmV0dXJuICItLWd0ayIKIAogICAgIGRlZiBfZHJp
dmVyX2NsYXNzKHNlbGYpOgotICAgICAgICByZXR1cm4gR3RrRHJpdmVyCisgICAgICAgIHJldHVy
biBYdmZiRHJpdmVyCiAKICAgICBkZWYgc2V0dXBfdGVzdF9ydW4oc2VsZik6CiAgICAgICAgIHNl
bGYuX3VubG9hZF9wdWxzZWF1ZGlvX21vZHVsZSgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3F0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcG9ydC9xdC5weQppbmRleCA2MDZlY2Q2Li5kZTkzYmY0IDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L3F0LnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvcXQucHkKQEAgLTM4LDcg
KzM4LDcgQEAgaW1wb3J0IHdlYmtpdAogZnJvbSB3ZWJraXRweS5jb21tb24ubWVtb2l6ZWQgaW1w
b3J0IG1lbW9pemVkCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5tb2RlbHMudGVzdF9jb25m
aWd1cmF0aW9uIGltcG9ydCBUZXN0Q29uZmlndXJhdGlvbgogZnJvbSB3ZWJraXRweS5sYXlvdXRf
dGVzdHMucG9ydC53ZWJraXQgaW1wb3J0IFdlYktpdFBvcnQKLQorZnJvbSB3ZWJraXRweS5sYXlv
dXRfdGVzdHMucG9ydC54dmZiZHJpdmVyIGltcG9ydCBYdmZiRHJpdmVyCiAKIF9sb2cgPSBsb2dn
aW5nLmdldExvZ2dlcihfX25hbWVfXykKIApAQCAtODEsNiArODEsOSBAQCBjbGFzcyBRdFBvcnQo
V2ViS2l0UG9ydCk6CiAgICAgICAgICMgVGhlIFF0IHBvcnQgYnVpbGRzIERSVCBhcyBwYXJ0IG9m
IHRoZSBtYWluIGJ1aWxkIHN0ZXAKICAgICAgICAgcmV0dXJuIFRydWUKIAorICAgIGRlZiBfZHJp
dmVyX2NsYXNzKHNlbGYpOgorICAgICAgICByZXR1cm4gWHZmYkRyaXZlcgorCiAgICAgZGVmIF9w
YXRoX3RvX2RyaXZlcihzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX2J1aWxkX3BhdGgoJ2Jp
bi8lcycgJSBzZWxmLmRyaXZlcl9uYW1lKCkpCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQveHZmYmRyaXZlci5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQveHZmYmRyaXZlci5weQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5jMGY2MzY2Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcG9ydC94dmZiZHJpdmVyLnB5CkBAIC0wLDAgKzEs
NzYgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyMgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorIyBkaXN0cmli
dXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIEdvb2dsZSBuYW1lIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKworaW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBvcworaW1wb3J0IHNpZ25h
bAoraW1wb3J0IHN1YnByb2Nlc3MKKworZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMucG9ydC5z
ZXJ2ZXJfcHJvY2VzcyBpbXBvcnQgU2VydmVyUHJvY2VzcworZnJvbSB3ZWJraXRweS5sYXlvdXRf
dGVzdHMucG9ydC53ZWJraXQgaW1wb3J0IFdlYktpdERyaXZlcgorZnJvbSB3ZWJraXRweS5jb21t
b24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgRXhlY3V0aXZlCisKK19sb2cgPSBsb2dnaW5nLmdl
dExvZ2dlcihfX25hbWVfXykKKworCitjbGFzcyBYdmZiRHJpdmVyKFdlYktpdERyaXZlcik6Cisg
ICAgZGVmIF9zdGFydChzZWxmLCBwaXhlbF90ZXN0cywgcGVyX3Rlc3RfYXJncyk6CisKKyAgICAg
ICAgIyBDb2xsZWN0IHRoZSBudW1iZXIgb2YgWCBzZXJ2ZXJzIHJ1bm5pbmcgYWxyZWFkeSBhbmQg
bWFrZQorICAgICAgICAjIHN1cmUgb3VyIFh2ZmIgcHJvY2VzcyBkb2Vzbid0IGNsYXNoIHdpdGgg
YW55IG9mIHRoZW0uCisgICAgICAgIGRlZiB4X2ZpbHRlcihwcm9jZXNzX25hbWUpOgorICAgICAg
ICAgICAgcmV0dXJuIHByb2Nlc3NfbmFtZS5maW5kKCJYb3JnIikgPiAtMQorCisgICAgICAgIHJ1
bm5pbmdfZGlzcGxheXMgPSBsZW4oRXhlY3V0aXZlKCkucnVubmluZ19waWRzKHhfZmlsdGVyKSkK
KworICAgICAgICAjIFVzZSBldmVuIGRpc3BsYXlzIGZvciBwaXhlbCB0ZXN0cyBhbmQgb2RkIG9u
ZXMgb3RoZXJ3aXNlLiBXaGVuIHBpeGVsIHRlc3RzIGFyZSBkaXNhYmxlZCwKKyAgICAgICAgIyBE
cml2ZXJQcm94eSBjcmVhdGVzIHR3byBkcml2ZXJzLCBvbmUgZm9yIG5vcm1hbCBhbmQgdGhlIG90
aGVyIGZvciByZWYgdGVzdHMuIEJvdGggaGF2ZQorICAgICAgICAjIHRoZSBzYW1lIHdvcmtlciBu
dW1iZXIsIHNvIHRoaXMgcHJldmVudHMgdGhlbSBmcm9tIHVzaW5nIHRoZSBzYW1lIFh2ZmIgaW5z
dGFuY2UuCisgICAgICAgIGRpc3BsYXlfaWQgPSBzZWxmLl93b3JrZXJfbnVtYmVyICogMiArIHJ1
bm5pbmdfZGlzcGxheXMKKyAgICAgICAgaWYgc2VsZi5fcG9ydC5nZXRfb3B0aW9uKCdwaXhlbF90
ZXN0cycpOgorICAgICAgICAgICAgZGlzcGxheV9pZCArPSAxCisgICAgICAgIHJ1bl94dmZiID0g
WyJYdmZiIiwgIjolZCIgJSAoZGlzcGxheV9pZCksICItc2NyZWVuIiwgICIwIiwgIjgwMHg2MDB4
MjQiLCAiLW5vbGlzdGVuIiwgInRjcCJdCisgICAgICAgIHdpdGggb3Blbihvcy5kZXZudWxsLCAn
dycpIGFzIGRldm51bGw6CisgICAgICAgICAgICBzZWxmLl94dmZiX3Byb2Nlc3MgPSBzdWJwcm9j
ZXNzLlBvcGVuKHJ1bl94dmZiLCBzdGRlcnI9ZGV2bnVsbCkKKyAgICAgICAgc2VydmVyX25hbWUg
PSBzZWxmLl9wb3J0LmRyaXZlcl9uYW1lKCkKKyAgICAgICAgZW52aXJvbm1lbnQgPSBzZWxmLl9w
b3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZXJ2ZXJfbmFtZSkKKyAgICAgICAgIyBXZSBt
dXN0IGRvIHRoaXMgaGVyZSBiZWNhdXNlIHRoZSBESVNQTEFZIG51bWJlciBkZXBlbmRzIG9uIF93
b3JrZXJfbnVtYmVyCisgICAgICAgIGVudmlyb25tZW50WydESVNQTEFZJ10gPSAiOiVkIiAlIChk
aXNwbGF5X2lkKQorICAgICAgICBzZWxmLl9jcmFzaGVkX3Byb2Nlc3NfbmFtZSA9IE5vbmUKKyAg
ICAgICAgc2VsZi5fY3Jhc2hlZF9waWQgPSBOb25lCisgICAgICAgIHNlbGYuX3NlcnZlcl9wcm9j
ZXNzID0gU2VydmVyUHJvY2VzcyhzZWxmLl9wb3J0LCBzZXJ2ZXJfbmFtZSwgc2VsZi5jbWRfbGlu
ZShwaXhlbF90ZXN0cywgcGVyX3Rlc3RfYXJncyksIGVudmlyb25tZW50KQorCisgICAgZGVmIHN0
b3Aoc2VsZik6CisgICAgICAgIFdlYktpdERyaXZlci5zdG9wKHNlbGYpCisgICAgICAgIGlmIGdl
dGF0dHIoc2VsZiwgJ194dmZiX3Byb2Nlc3MnLCBOb25lKToKKyAgICAgICAgICAgIHRyeToKKyAg
ICAgICAgICAgICAgICBzZWxmLl94dmZiX3Byb2Nlc3MudGVybWluYXRlKCkKKyAgICAgICAgICAg
ICAgICBzZWxmLl94dmZiX3Byb2Nlc3Mud2FpdCgpCisgICAgICAgICAgICBleGNlcHQgT1NFcnJv
cjoKKyAgICAgICAgICAgICAgICBfbG9nLndhcm4oIlRoZSBkcml2ZXIgaXMgYWxyZWFkeSB0ZXJt
aW5hdGVkLiIpCisgICAgICAgICAgICBzZWxmLl94dmZiX3Byb2Nlc3MgPSBOb25lCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>