<?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>47653</bug_id>
          
          <creation_ts>2010-10-13 21:23:08 -0700</creation_ts>
          <short_desc>Introduce the ChromiumXVFBPort for running commit-queue on EC2</short_desc>
          <delta_ts>2010-10-14 15:04:31 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>agl</cc>
    
    <cc>eric</cc>
    
    <cc>evan</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>293945</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-13 21:23:08 -0700</bug_when>
    <thetext>Introduce the ChromiumXVFBPort for running commit-queue on EC2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293946</commentid>
    <comment_count>1</comment_count>
      <attachid>70709</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-13 21:25:28 -0700</bug_when>
    <thetext>Created attachment 70709
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293952</commentid>
    <comment_count>2</comment_count>
      <attachid>70709</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-10-13 21:44:15 -0700</bug_when>
    <thetext>Comment on attachment 70709
Patch

Seems like this needs a FIXME about finding a better way to do this...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>293955</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-13 22:00:36 -0700</bug_when>
    <thetext>Committed r69736: &lt;http://trac.webkit.org/changeset/69736&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294110</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Langley">agl</who>
    <bug_when>2010-10-14 07:41:51 -0700</bug_when>
    <thetext>Wait, we&apos;re adding a new type of chromium-linux target? :(

I don&apos;t think WebKit can handle this. We have an extensive script to setup Ubuntu machines for running layout tests in the Chromium tree. That should remove differences which arise from different installed fonts. test_shell also fixes the fontconfig config in order to remove differences due to that. (If this is pure WebKit, then does that mean that you&apos;re using DRT? Does DRT do the same thing?)

I haven&apos;t done any WebKit work in a long time (mostly because of the horror of layout tests) and I wouldn&apos;t want things to get worse. One should try very hard to eliminate the differences before going this route. (Maybe you have, and failed?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294174</commentid>
    <comment_count>5</comment_count>
    <who name="Evan Martin">evan</who>
    <bug_when>2010-10-14 10:20:09 -0700</bug_when>
    <thetext>All the X-based ports (Qt, Gtk) should use Xvfb to run on EC2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294184</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-14 10:34:32 -0700</bug_when>
    <thetext>&gt; I don&apos;t think WebKit can handle this. We have an extensive script to setup Ubuntu machines for running layout tests in the Chromium tree. That should remove differences which arise from different installed fonts. test_shell also fixes the fontconfig config in order to remove differences due to that. (If this is pure WebKit, then does that mean that you&apos;re using DRT? Does DRT do the same thing?)

Is that script something that makes sense to move to webkit.org?  With my current setup (just following the instructions), we&apos;ve got about a dozen or so failing tests.  A bunch of those tests are failing because of something wrong with filesystem, so they seem unrelated to fonts.

&gt; I haven&apos;t done any WebKit work in a long time (mostly because of the horror of layout tests) and I wouldn&apos;t want things to get worse. One should try very hard to eliminate the differences before going this route. (Maybe you have, and failed?)

What differences are you referring to?  This patch just lets the bots run the tests under xvfb.

&gt; All the X-based ports (Qt, Gtk) should use Xvfb to run on EC2.

Yep.  AFAIK, none of these ports have tried to run tests using the webkitpy infrastructure.  Presumably they have something like this in buildbot-land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294353</commentid>
    <comment_count>7</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-10-14 14:01:07 -0700</bug_when>
    <thetext>I think what agl is asking is why is this a separate port as opposed to just a flag (and as a flag, gtk and qt would be able to use it too).  Having it be a separate port makes it sound like we&apos;re going to check in separate results.

Also, where&apos;s xvfb-run live?

I think it&apos;s a good idea to add xvfb support directly to NRWT, but there are some implementation details that can make it better than how chromium uses xvfb (e.g., we should start one xvfb per test thread?).

I think GTK+ is very close to using NRWT on their buildbots (see the related work in adding http locking), so they would probably prefer the ability to use this.

Finally, DRT on Chromium Linux doesn&apos;t need an X connection (although that may change since we haven&apos;t added plugin support yet).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294366</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-14 14:13:52 -0700</bug_when>
    <thetext>&gt; I think what agl is asking is why is this a separate port as opposed to just a flag (and as a flag, gtk and qt would be able to use it too).  Having it be a separate port makes it sound like we&apos;re going to check in separate results.

Well, it&apos;s really something about the platform, but our port system here doesn&apos;t have any concept of platform.  In fact, this code doesn&apos;t even know that Mac Chromium is any different from Linux Chromium.  This doesn&apos;t have anything to do with test results.

&gt; Also, where&apos;s xvfb-run live?

I&apos;m not sure I understand the question.  It&apos;s in the path somewhere.

&gt; I think it&apos;s a good idea to add xvfb support directly to NRWT, but there are some implementation details that can make it better than how chromium uses xvfb (e.g., we should start one xvfb per test thread?).

That sounds like a reasonable idea.  I don&apos;t really know anything about xvfb.

&gt; Finally, DRT on Chromium Linux doesn&apos;t need an X connection (although that may change since we haven&apos;t added plugin support yet).

Oh, I thought I tried running it without xvfb.  I can try again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294376</commentid>
    <comment_count>9</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-10-14 14:37:32 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Well, it&apos;s really something about the platform, but our port system here doesn&apos;t have any concept of platform.  In fact, this code doesn&apos;t even know that Mac Chromium is any different from Linux Chromium.  This doesn&apos;t have anything to do with test results.

Oh, this has to do with ORWT.  I don&apos;t know about the port abstraction in ORWT, but in NRWT, the port would be the wrong layer.  How hard is it to add platform to the port system in ORWT?  Seems like it would be trivial?

&gt; &gt; Also, where&apos;s xvfb-run live?
&gt; 
&gt; I&apos;m not sure I understand the question.  It&apos;s in the path somewhere.

I mean, where&apos;s the code for it.  Do you have to worry about conflicting display ids from running two ORWTs on the same machine?  What about cleaning up Xvfb processes if ORWT crashes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294389</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-14 14:57:45 -0700</bug_when>
    <thetext>&gt; Oh, this has to do with ORWT.

It actually has to do with the commit-queue, which doesn&apos;t care whether its using old or new run-webkit-tests.

&gt; &gt; &gt; Also, where&apos;s xvfb-run live?
&gt; &gt; 
&gt; &gt; I&apos;m not sure I understand the question.  It&apos;s in the path somewhere.
&gt; 
&gt; I mean, where&apos;s the code for it.  Do you have to worry about conflicting display ids from running two ORWTs on the same machine?  What about cleaning up Xvfb processes if ORWT crashes?

&quot;apt-get install xvfb&quot; installs it.  I don&apos;t know how well it handles error conditions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294393</commentid>
    <comment_count>11</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-10-14 15:04:31 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; &gt; I mean, where&apos;s the code for it.  Do you have to worry about conflicting display ids from running two ORWTs on the same machine?  What about cleaning up Xvfb processes if ORWT crashes?
&gt; 
&gt; &quot;apt-get install xvfb&quot; installs it.  I don&apos;t know how well it handles error conditions.

Ah, I see why I&apos;m confused.  I didn&apos;t know about xvfb-run, which is itself a wrapper script around Xvfb.

To answer my own question, yes, it picks a random display id and cleans up after itself in case of a crash.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70709</attachid>
            <date>2010-10-13 21:25:28 -0700</date>
            <delta_ts>2010-10-13 21:44:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47653-20101013212527.patch</filename>
            <type>text/plain</type>
            <size>2348</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAyNTQwNTIyMmMxZGE3ZTE5MWVjM2ZjZmQyNjQ3Y2JkNjA1M2EwMjI5Li4xZWIyYzRh
ZmY0MTBiMTAxZjkyYzVjYmU2NGVjZTc0ZDU3YTBhNDA0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMjEgQEAK
IAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBJbnRyb2R1
Y2UgdGhlIENocm9taXVtWFZGQlBvcnQgZm9yIHJ1bm5pbmcgY29tbWl0LXF1ZXVlIG9uIEVDMgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc2NTMKKwor
ICAgICAgICBJJ20gbm90IGVudGlyZWx5IHN1cmUgdGhpcyBpcyB0aGUgYmVzdCB3YXkgdG8gZG8g
dGhpcywgYnV0IHdlIG5lZWQgdG8KKyAgICAgICAgcnVuIHRoZSB0ZXN0cyB1bmRlciBYVkZCIG9u
IEVDMiBiZWNhdXNlIHRoZSBFQzIgaW5zdGFuY2VzIGRvbid0IGhhdmUgYQorICAgICAgICByZWFs
IG1vbml0b3IgaG9va2VkIHVwLiAgVGhpcyBwYXRjaCBhZGRzIGEgQ2hyb21pdW1YVkZCUG9ydCB0
aGF0IHJ1bnMKKyAgICAgICAgdGhhdCB3YXkuICBUaGUgaWRlYSBpcyB0aGF0IFhWRkIgaXMgbGlr
ZSBhIHBsYXRmb3JtIGZvciB0aGUgQ2hyb21pdW0KKyAgICAgICAgcG9ydCwgYnV0IHdlIGRvbid0
IGhhdmUgYSByZWFsIG5vdGlvbiBvZiBwbGF0Zm9ybSBzZXBhcmF0ZSBmcm9tIHBvcnQuCisKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvcG9ydHMucHk6CisKKzIwMTAt
MTAtMTMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBNYWtlIC0tcG9ydCBhIGdsb2JhbCBvcHRp
b24gYW5kIHBhc3MgdGhlIHBvcnQgaW5mb3JtYXRpb24gdG8gdGhlIGNvbW1pdC1xdWV1ZSBzdWJw
cm9jZXNzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
NzY1MAogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9j
b25maWcvcG9ydHMucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25m
aWcvcG9ydHMucHkKaW5kZXggZWJkODhiMTE0MjNmNjAzNzI1YTA0NzkxZjA0MTE0MDNjNmZjZTUw
Yy4uZWMxYTc4NDdmZDE5YzE0OTVmZTgwN2Q2ZDg1OTUyNGQ5NDg0MmIzZCAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3BvcnRzLnB5CisrKyBi
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9wb3J0cy5weQpAQCAt
NDUsNiArNDUsNyBAQCBjbGFzcyBXZWJLaXRQb3J0KG9iamVjdCk6CiAgICAgZGVmIHBvcnQocG9y
dF9uYW1lKToKICAgICAgICAgcG9ydHMgPSB7CiAgICAgICAgICAgICAiY2hyb21pdW0iOiBDaHJv
bWl1bVBvcnQsCisgICAgICAgICAgICAiY2hyb21pdW0teHZmYiI6IENocm9taXVtWFZGQlBvcnQs
CiAgICAgICAgICAgICAiZ3RrIjogR3RrUG9ydCwKICAgICAgICAgICAgICJtYWMiOiBNYWNQb3J0
LAogICAgICAgICAgICAgIndpbiI6IFdpblBvcnQsCkBAIC0yMTcsMyArMjE4LDIzIEBAIGNsYXNz
IENocm9taXVtUG9ydChXZWJLaXRQb3J0KToKICAgICAgICAgY29tbWFuZCA9IFdlYktpdFBvcnQu
YnVpbGRfd2Via2l0X2NvbW1hbmQoYnVpbGRfc3R5bGU9YnVpbGRfc3R5bGUpCiAgICAgICAgIGNv
bW1hbmQuYXBwZW5kKCItLWNocm9taXVtIikKICAgICAgICAgcmV0dXJuIGNvbW1hbmQKKworICAg
IEBjbGFzc21ldGhvZAorICAgIGRlZiBydW5fd2Via2l0X3Rlc3RzX2NvbW1hbmQoY2xzKToKKyAg
ICAgICAgcmV0dXJuIFsKKyAgICAgICAgICAgIGNscy5zY3JpcHRfcGF0aCgibmV3LXJ1bi13ZWJr
aXQtdGVzdHMiKSwKKyAgICAgICAgICAgICItLWNocm9taXVtIiwKKyAgICAgICAgICAgICItLXVz
ZS1kcnQiLAorICAgICAgICAgICAgIi0tbm8tcGl4ZWwtdGVzdHMiLAorICAgICAgICBdCisKKwor
Y2xhc3MgQ2hyb21pdW1YVkZCUG9ydChDaHJvbWl1bVBvcnQpOgorCisgICAgQGNsYXNzbWV0aG9k
CisgICAgZGVmIGZsYWcoY2xzKToKKyAgICAgICAgcmV0dXJuICItLXBvcnQ9Y2hyb21pdW0teHZm
YiIKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBydW5fd2Via2l0X3Rlc3RzX2NvbW1hbmQo
Y2xzKToKKyAgICAgICAgcmV0dXJuIFsieHZmYi1ydW4iXSArIGNscy5ydW5fd2Via2l0X3Rlc3Rz
X2NvbW1hbmQoKQo=
</data>
<flag name="review"
          id="60591"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>