<?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>131843</bug_id>
          
          <creation_ts>2014-04-18 07:57:58 -0700</creation_ts>
          <short_desc>[XvfbDriver] XvfbDriver should avoid trying to use display numbers with stale sockets or locks owned by other user</short_desc>
          <delta_ts>2016-01-02 09:41:02 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Carlos Alberto Lopez Perez">clopez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dpranke</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kkristof</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1001913</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-04-18 07:57:58 -0700</bug_when>
    <thetext>xvfbdriver.py:_next_free_display() looks at the current active process to guess which X displays are already on use on the system. This is correct.

However, when Xvfb (or X) starts it creates both a socket on /tmp/.X11-unix/X$ndisplay and a lock on /tmp/.X$ndisplay-lock. When it shutdowns cleanly it removes both the lock and the socket files, but when is killed (for example on the bots via kill-old-process) the files remains there.

xvfbdriver.py:_next_free_display() don&apos;t has this into account, and on the next run it will try to reuse that display number. That isn&apos;t a problem if is the same user than before, because Xvfb will clean this stale files. The problem is when is another user trying to run the tests, he don&apos;t has permissions to delete the stale lock or socket files owned by the previous user, so Xvfb refuses to start:

Error for /tmp/.X55-lock owned by other user:
(EE) 
Fatal server error:
(EE) Could not create server lock file: /tmp/.X55-lock
(EE) 

Error for /tmp/.X11-unix/X55 owned by other user:
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE) 
Fatal server error:
(EE) Cannot establish any listening sockets - Make sure an X server isn&apos;t already running(EE) 


So this can cause a massive test failure when you have two or more uses running tests (or playing with X) on the same machine (it don&apos;t has to be simultaneous).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001914</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-04-18 08:01:11 -0700</bug_when>
    <thetext>Related bugs:

https://bugs.webkit.org/show_bug.cgi?id=88414
https://bugs.webkit.org/show_bug.cgi?id=103806</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001950</commentid>
    <comment_count>2</comment_count>
      <attachid>229655</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-04-18 10:47:43 -0700</bug_when>
    <thetext>Created attachment 229655
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151981</commentid>
    <comment_count>3</comment_count>
      <attachid>229655</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-02 09:41:02 -0800</bug_when>
    <thetext>Comment on attachment 229655
Patch

Thanks for this patch. This function was removed in r192568, so this patch will need rewritten for sure. But also since r192568, we no longer check for lockfiles at all, so I&apos;m not sure that this bug is still relevant.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229655</attachid>
            <date>2014-04-18 10:47:43 -0700</date>
            <delta_ts>2016-01-02 09:41:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131843-20140418194721.patch</filename>
            <type>text/plain</type>
            <size>3298</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3NDYzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzY5NTAzYzU1ZGQ5ZTg3M2I2YzVhMzA0MzQxNjEzZTg0
NmVhZGI3MC4uY2Y4MDYwZTZkZGI5MDQyNGQ3YzU5MjAwOGM2YTI2ZDEwNTZhYTE2NiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDE0LTA0LTE4ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFh2ZmJEcml2ZXI6IERvbid0IHVzZSBkaXNwbGF5cyB3aXRoIHN0
YWxlIGZpbGVzIG93bmVkIGJ5IG90aGVyIHVzZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzE4NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVy
LnB5OgorICAgICAgICAoWHZmYkRyaXZlci5fbmV4dF9mcmVlX2Rpc3BsYXkpOiBDaGVjayBmb3Ig
c3RhbGUgbG9jayBhbmQgc29ja2V0CisgICAgICAgIGZpbGVzIGZyb20gWCBiZWxvbmdpbmcgdG8g
b3RoZXIgdXNlcnMgYW5kIGFkZCB0aGVtIHRvIHRoZSBsaXN0IG9mCisgICAgICAgIHJlc2VydmVk
IHNjcmVlbiBudW1iZXJzLgorICAgICAgICAoWHZmYkRyaXZlci5fbmV4dF9mcmVlX2Rpc3BsYXkp
OiBEb24ndCBhYm9ydCB3aGVuIGdldHRpbmcgdGhlCisgICAgICAgIFdlYktpdFh2ZmIgbG9jayBm
YWlscywgYnV0IGluc3RlYWQgdHJ5IHdpdGggdGhlIG5leHQgb24gdGhlIGxpc3QuCisKIDIwMTQt
MDQtMTYgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dp
bl0gQSBmZXcgZmluYWwgY2xlYW51cHMgdG8gdGhlIERhdGFPYmplY3QgY2xhc3Nlcy4KZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXIucHkKaW5kZXggOWMwYWMyZDc1YzgwNWJl
NTU4NGNiMTFmNWZlZTg2M2FlZGUyMTlkYi4uZWRkNzllMzAzYWM0YTUzNzQ2NWEwOWRmOTgwZjQ5
MGJjYmIyMzhhMyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJk
cml2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXIucHkK
QEAgLTU4LDEyICs1OCwzMCBAQCBjbGFzcyBYdmZiRHJpdmVyKERyaXZlcik6CiAgICAgICAgICAg
ICBtYXRjaCA9IHJlLm1hdGNoKCcoWHxYdmZifFhvcmcpXHMrLipcczooP1A8c2NyZWVuX251bWJl
cj5cZCspJywgcGlkKQogICAgICAgICAgICAgaWYgbWF0Y2g6CiAgICAgICAgICAgICAgICAgcmVz
ZXJ2ZWRfc2NyZWVucy5hZGQoaW50KG1hdGNoLmdyb3VwKCdzY3JlZW5fbnVtYmVyJykpKQorICAg
ICAgICAjIENoZWNrIGZvciBzdGFsZSBYIGxvY2tmaWxlcyBub3Qgb3duZWQgYnkgbXlzZWxmLgor
ICAgICAgICBteXVpZCA9IG9zLmdldHVpZCgpCisgICAgICAgIGZvciB4bG9ja2ZpbGUgaW4gb3Mu
bGlzdGRpcignL3RtcCcpOgorICAgICAgICAgICAgaWYgeGxvY2tmaWxlLnN0YXJ0c3dpdGgoJy5Y
JykgYW5kIHhsb2NrZmlsZS5lbmRzd2l0aCgnLWxvY2snKToKKyAgICAgICAgICAgICAgICBpZiBv
cy5zdGF0KG9zLnBhdGguam9pbignL3RtcCcsIHhsb2NrZmlsZSkpLnN0X3VpZCAhPSBteXVpZDoK
KyAgICAgICAgICAgICAgICAgICAgcmVzZXJ2ZWRfc2NyZWVucy5hZGQoaW50KHhsb2NrZmlsZS5z
dHJpcCgnLlgnKS5zdHJpcCgnLWxvY2snKSkpCisgICAgICAgICMgQ2hlY2sgZm9yIHN0YWxlIFgg
c29ja2V0ZmlsZXMgbm90IG93bmVkIGJ5IG15c2VsZi4KKyAgICAgICAgaWYgb3MucGF0aC5pc2Rp
cignL3RtcC8uWDExLXVuaXgnKToKKyAgICAgICAgICAgIGZvciB4c29ja2V0ZmlsZSBpbiBvcy5s
aXN0ZGlyKCcvdG1wLy5YMTEtdW5peCcpOgorICAgICAgICAgICAgICAgIGlmIHhzb2NrZXRmaWxl
LnN0YXJ0c3dpdGgoJ1gnKToKKyAgICAgICAgICAgICAgICAgICAgaWYgb3Muc3RhdChvcy5wYXRo
LmpvaW4oJy90bXAvLlgxMS11bml4JywgeHNvY2tldGZpbGUpKS5zdF91aWQgIT0gbXl1aWQ6Cisg
ICAgICAgICAgICAgICAgICAgICAgICByZXNlcnZlZF9zY3JlZW5zLmFkZChpbnQoeHNvY2tldGZp
bGUuc3RyaXAoJ1gnKSkpCiAgICAgICAgIGZvciBpIGluIHJhbmdlKDk5KToKICAgICAgICAgICAg
IGlmIGkgbm90IGluIHJlc2VydmVkX3NjcmVlbnM6Ci0gICAgICAgICAgICAgICAgX2d1YXJkX2xv
Y2tfZmlsZSA9IHNlbGYuX3BvcnQuaG9zdC5maWxlc3lzdGVtLmpvaW4oJy90bXAnLCAnV2ViS2l0
WHZmYi5sb2NrLiVpJyAlIGkpCi0gICAgICAgICAgICAgICAgc2VsZi5fZ3VhcmRfbG9jayA9IHNl
bGYuX3BvcnQuaG9zdC5tYWtlX2ZpbGVfbG9jayhfZ3VhcmRfbG9ja19maWxlKQotICAgICAgICAg
ICAgICAgIGlmIHNlbGYuX2d1YXJkX2xvY2suYWNxdWlyZV9sb2NrKCk6Ci0gICAgICAgICAgICAg
ICAgICAgIHJldHVybiBpCisgICAgICAgICAgICAgICAgIyBEb24ndCBhYm9ydCBpZiB0aGVyZSBp
cyBhIFdlYktpdFh2ZmIgbG9ja2ZpbGUgZm9yIHRoaXMgZGlzcGxheSBmcm9tIGFub3RoZXIgdXNl
ci4KKyAgICAgICAgICAgICAgICAjIFdlIGNvbnRpbnVlIHRyeWluZyB3aXRoIHRoZSBuZXh0IGRp
c3BsYXkgb24gdGhlIGxpc3QgdW50aWwgd2UgZ2V0IHRoZSBsb2NrLgorICAgICAgICAgICAgICAg
IHRyeToKKyAgICAgICAgICAgICAgICAgICAgX2d1YXJkX2xvY2tfZmlsZSA9IHNlbGYuX3BvcnQu
aG9zdC5maWxlc3lzdGVtLmpvaW4oJy90bXAnLCAnV2ViS2l0WHZmYi5sb2NrLiVpJyAlIGkpCisg
ICAgICAgICAgICAgICAgICAgIHNlbGYuX2d1YXJkX2xvY2sgPSBzZWxmLl9wb3J0Lmhvc3QubWFr
ZV9maWxlX2xvY2soX2d1YXJkX2xvY2tfZmlsZSkKKyAgICAgICAgICAgICAgICAgICAgaWYgc2Vs
Zi5fZ3VhcmRfbG9jay5hY3F1aXJlX2xvY2soKToKKyAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBpCisgICAgICAgICAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgICAgICAgICAgICAg
IyBUcnkgbmV4dCBkaXNwbGF5IG51bWJlciBvbiB0aGUgbGlzdAorICAgICAgICAgICAgICAgICAg
ICAgICAgcGFzcwogCiAgICAgZGVmIF94dmZiX3NjcmVlbl9kZXB0aChzZWxmKToKICAgICAgICAg
cmV0dXJuIG9zLmVudmlyb24uZ2V0KCdYVkZCX1NDUkVFTl9ERVBUSCcsICcyNCcpCg==
</data>
<flag name="review"
          id="254021"
          type_id="1"
          status="-"
          setter="mcatanzaro"
    />
    <flag name="commit-queue"
          id="254022"
          type_id="3"
          status="-"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>