<?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>174220</bug_id>
          
          <creation_ts>2017-07-06 15:13:28 -0700</creation_ts>
          <short_desc>[GTK][WPE] kill-old-process should kill more webkit related process</short_desc>
          <delta_ts>2017-07-06 17:47:02 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</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="Carlos Alberto Lopez Perez">clopez</reporter>
          <assigned_to name="Carlos Alberto Lopez Perez">clopez</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>lforschler</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1326212</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-07-06 15:13:28 -0700</bug_when>
    <thetext>kill-old-processes is executed on the bots before each new test run to kill leftover process from the previous run.
This helps to avoid that process that have become unresponsive to interfere with the next run of the bot (like leftover process consuming CPU or RAM)

The list of process to kill on Linux ports misses several process like jsc, and WebKitWebProcess, WebKitDatabaseProcess, etc...

I started to build a list of possible process, but then I realized there are much more than i imagined: for example, when for the gtk api tests there are dozens of different Test*API different process names. The names of some process also change between ports (GTK+ and WPE)

So it looks like a good idea to dynamically generate the possible names of all webkit-related process by looking for the binary names on the bin build directory and add that names to the list of process to kill</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326214</commentid>
    <comment_count>1</comment_count>
      <attachid>314763</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-07-06 15:25:56 -0700</bug_when>
    <thetext>Created attachment 314763
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326262</commentid>
    <comment_count>2</comment_count>
      <attachid>314763</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-07-06 17:32:57 -0700</bug_when>
    <thetext>Comment on attachment 314763
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=314763&amp;action=review

&gt; Tools/BuildSlaveSupport/kill-old-processes:28
&gt; +def listAllWebKitPrograms(build_dir_bin):

Nit: I might have named this builddir_bin instead.

&gt; Tools/BuildSlaveSupport/kill-old-processes:32
&gt; +            if os.access(os.path.join(root, file), os.X_OK):

Why do you need to call access?

&gt; Tools/BuildSlaveSupport/kill-old-processes:136
&gt; +        build_dir_bin = &quot;WebKitBuild/Release/bin&quot; if os.path.isdir(&quot;WebKitBuild/Release/bin&quot;) else &quot;WebKitBuild/Debug/bin&quot;

I was going to object to this, but I guess it would be pretty odd if the built binaries ever differ between release and debug builds, so this seems fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326265</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-07-06 17:40:01 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #2)
&gt; Comment on attachment 314763 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=314763&amp;action=review
&gt; 
&gt; &gt; Tools/BuildSlaveSupport/kill-old-processes:28
&gt; &gt; +def listAllWebKitPrograms(build_dir_bin):
&gt; 
&gt; Nit: I might have named this builddir_bin instead.
&gt; 

Looks better, will change it.

&gt; &gt; Tools/BuildSlaveSupport/kill-old-processes:32
&gt; &gt; +            if os.access(os.path.join(root, file), os.X_OK):
&gt; 
&gt; Why do you need to call access?
&gt; 

To check if the file is executable, otherwise I don&apos;t want to add its filename to the list of possible webkit-related process.

&gt; &gt; Tools/BuildSlaveSupport/kill-old-processes:136
&gt; &gt; +        build_dir_bin = &quot;WebKitBuild/Release/bin&quot; if os.path.isdir(&quot;WebKitBuild/Release/bin&quot;) else &quot;WebKitBuild/Debug/bin&quot;
&gt; 
&gt; I was going to object to this, but I guess it would be pretty odd if the
&gt; built binaries ever differ between release and debug builds, so this seems
&gt; fine.

The idea is to get WebKitBuild/Release/bin on release bots and WebKitBuild/Debug/bin on debug bots. All linux ports (GTK+, WPE and JSCOnly) use one of the two possibilities to store the binaries that will be executed (depending if its a release or a debug bot).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326273</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2017-07-06 17:47:02 -0700</bug_when>
    <thetext>Committed r219227: &lt;http://trac.webkit.org/changeset/219227&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314763</attachid>
            <date>2017-07-06 15:25:56 -0700</date>
            <delta_ts>2017-07-06 17:32:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174220-20170707002555.patch</filename>
            <type>text/plain</type>
            <size>2968</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5MjEwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZmIzMDg1MzBkOTI1NjhkZTExNGUzM2NkMjhjYTg4ZTYx
NmE1NTJkNC4uYzA5YTA0MTU2NGJjOWEwZTIzZWQ5YjBkZWQ3NWQ1NDQ2MmEzN2ZlMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDE3LTA3LTA2ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0ga2lsbC1vbGQtcHJvY2VzcyBzaG91bGQga2ls
bCBtb3JlIHdlYmtpdCByZWxhdGVkIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDIyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEdlbmVyYXRlIGxpc3Qgb2YgcG9zc2libGUgd2Via2l0LXJl
bGF0ZWQgcHJvY2VzcyBuYW1lcyBhbmQgYWRkCisgICAgICAgIHRoZW0gdG8gdGhlIGxpc3Qgb2Yg
cHJvY2VzcyB0byBraWxsLgorICAgICAgICBBbHNvIHVwZGF0ZSB0aGUgcG9zc2libGUgc3lzdGVt
IHJlbGF0ZWQgcHJvY2VzcyBmb3IgR1RLKy9XUEUuCisKKyAgICAgICAgKiBCdWlsZFNsYXZlU3Vw
cG9ydC9raWxsLW9sZC1wcm9jZXNzZXM6CisgICAgICAgIChsaXN0QWxsV2ViS2l0UHJvZ3JhbXMp
OgorICAgICAgICAobWFpbik6CisKIDIwMTctMDctMDYgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1x
dWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMTkx
OTQuCmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9raWxsLW9sZC1wcm9jZXNz
ZXMgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9raWxsLW9sZC1wcm9jZXNzZXMKaW5kZXggYzBh
NjgzYTcxM2E2M2QxNmQ4ZWQ4MzVkMmExYzc4ZGNmMGUzZDBiMi4uNmJkNDYwMWMxNjE2MmEyMGM0
ODc0ZTdhMjViNWQ4MjUyYmQ1MWE5MSAxMDA3NTUKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBv
cnQva2lsbC1vbGQtcHJvY2Vzc2VzCisrKyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2tpbGwt
b2xkLXByb2Nlc3NlcwpAQCAtMjUsNiArMjUsMTQgQEAKIAogaW1wb3J0IG9zLCBzeXMKIAorZGVm
IGxpc3RBbGxXZWJLaXRQcm9ncmFtcyhidWlsZF9kaXJfYmluKToKKyAgICBmb3VuZFdlYktpdFBy
b2dyYW1zID0gW10KKyAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhidWlsZF9k
aXJfYmluKToKKyAgICAgICAgZm9yIGZpbGUgaW4gZmlsZXM6CisgICAgICAgICAgICBpZiBvcy5h
Y2Nlc3Mob3MucGF0aC5qb2luKHJvb3QsIGZpbGUpLCBvcy5YX09LKToKKyAgICAgICAgICAgICAg
ICBmb3VuZFdlYktpdFByb2dyYW1zLmFwcGVuZChmaWxlKQorICAgIHJldHVybiBmb3VuZFdlYktp
dFByb2dyYW1zCisKIAogZGVmIG1haW4odXNlcj1Ob25lKToKICAgICB0YXNrc1RvS2lsbFdpbiA9
IFsKQEAgLTkzLDE4ICsxMDEsMjAgQEAgZGVmIG1haW4odXNlcj1Ob25lKToKICAgICBdCiAKICAg
ICB0YXNrVG9LaWxsVW5peCA9IFsKLSAgICAgICAgImFwYWNoZTIiLAorICAgICAgICAjIFN5c3Rl
bSBwcm9jZXNzIHRoYXQgYXJlIGV4ZWN1dGVkIGFzIHBhcnQgb2YgdGhlIGJ1aWxkIHByb2Nlc3MK
ICAgICAgICAgImNjMXBsdXMiLAotICAgICAgICAiRHVtcFJlbmRlclRyZWUiLAotICAgICAgICAi
Z29sZCIsCi0gICAgICAgICJodHRwZCIsCisgICAgICAgICJsZC5nb2xkIiwKICAgICAgICAgImxk
IiwKICAgICAgICAgIm1ha2UiLAotICAgICAgICAicnVieSIsCisgICAgICAgICJjbWFrZSIsCiAg
ICAgICAgICJzdm4iLAotICAgICAgICAid2Via2l0X3VuaXRfdGVzdHMiLAotICAgICAgICAiV2Vi
S2l0VGVzdFJ1bm5lciIsCisgICAgICAgICMgU3lzdGVtIHByb2Nlc3MgdGhhdCBhcmUgZXhlY3V0
ZWQgYXMgcGFydCBvZiB0aGUgdGVzdCBzdGVwcwogICAgICAgICAiWHZmYiIsCisgICAgICAgICJn
ZGIiLAorICAgICAgICAicnVieSIsCisgICAgICAgICJhcGFjaGUyIiwKKyAgICAgICAgImh0dHBk
IiwKKyAgICAgICAgIyBXZWJLaXQgcmVsYXRlZCBwcm9jZXNzIG5hbWVzIGFyZSBhdXRvbWF0aWNh
bGx5IGdlbmVyYXRlZCBmb3IgR1RLKy9XUEUKICAgICBdCiAKICAgICAjIFRoaXMgYWxsb3dzIHRv
IHNwZWNpZnkgb24gdGhlIGVudmlyb25tZW50IG9mIHRoZSBib3QgYSBsaXN0IG9mIHByb2Nlc3Mg
dGhhdCBzaG91bGQgYmUga2lsbGVkLgpAQCAtMTIzLDcgKzEzMyw4IEBAIGRlZiBtYWluKHVzZXI9
Tm9uZSk6CiAgICAgICAgIGZvciB0YXNrIGluIHRhc2tzVG9LaWxsICsgdGFza3NUb0tpbGxXaW46
CiAgICAgICAgICAgICBvcy5zeXN0ZW0oInRhc2traWxsIC90IC9mIC9pbSAiICsgdGFzaykKICAg
ICBlbGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCdsaW51eCcpOgotICAgICAgICBmb3IgdGFz
ayBpbiB0YXNrc1RvS2lsbCArIHRhc2tUb0tpbGxVbml4OgorICAgICAgICBidWlsZF9kaXJfYmlu
ID0gIldlYktpdEJ1aWxkL1JlbGVhc2UvYmluIiBpZiBvcy5wYXRoLmlzZGlyKCJXZWJLaXRCdWls
ZC9SZWxlYXNlL2JpbiIpIGVsc2UgIldlYktpdEJ1aWxkL0RlYnVnL2JpbiIKKyAgICAgICAgZm9y
IHRhc2sgaW4gdGFza3NUb0tpbGwgKyB0YXNrVG9LaWxsVW5peCArIGxpc3RBbGxXZWJLaXRQcm9n
cmFtcyhidWlsZF9kaXJfYmluKToKICAgICAgICAgICAgIG9zLnN5c3RlbSgia2lsbGFsbCAtOSAt
diAiICsgdGFzaykKICAgICAgICAgb3Muc3lzdGVtKCJwcyBhdXggfCBncmVwIC1QICcuKy9weXRo
b24gLisocnVuX3dlYmtpdF90ZXN0c3xydW4td2Via2l0LXRlc3RzfG1vZF9weXdlYnNvY2tldCkn
IHwgZ3JlcCAtdiBncmVwIHwgYXdrICd7cHJpbnQgJDJ9JyB8IHhhcmdzIGtpbGwiKQogICAgIGVs
c2U6Cg==
</data>
<flag name="review"
          id="335624"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>