<?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>194086</bug_id>
          
          <creation_ts>2019-01-31 04:03:23 -0800</creation_ts>
          <short_desc>[GLIB] WebDriver: race condition when session starts</short_desc>
          <delta_ts>2019-01-31 05:07:28 -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>WebDriver</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bburg</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>pnormand</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1500534</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-01-31 04:03:23 -0800</bug_when>
    <thetext>This is causing flakiness in WebDriver bots, I can only reproduce it locally when my CPUs are at 100%. The thing is that sometimes we receive an empty target list right after the connection is established because RemoteInspector::setClient() calls pushListingsSoon() before a target has been registered. Most of the times the target is registered before the listing is pushed, but it can happen that when pushed the listing is still empty. After the target is registered an empty target list means the connection was lost, so we clear the connection and target. We need to ensure we do that only after the target has been registered.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500535</commentid>
    <comment_count>1</comment_count>
      <attachid>360716</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-01-31 04:06:46 -0800</bug_when>
    <thetext>Created attachment 360716
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500536</commentid>
    <comment_count>2</comment_count>
      <attachid>360716</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-01-31 04:17:32 -0800</bug_when>
    <thetext>Comment on attachment 360716
Patch

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

&gt; Source/WebDriver/glib/SessionHostGlib.cpp:335
&gt;          m_connectionID = 0;
&gt; -        if (m_dbusConnection)
&gt; +        if (m_connectionID &amp;&amp; m_dbusConnection)

So now this condition is always false because m_connectionID is set to 0 before the if. Is this correct? Why not remove the if block then?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500538</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-01-31 04:49:27 -0800</bug_when>
    <thetext>(In reply to Philippe Normand from comment #2)
&gt; Comment on attachment 360716 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=360716&amp;action=review
&gt; 
&gt; &gt; Source/WebDriver/glib/SessionHostGlib.cpp:335
&gt; &gt;          m_connectionID = 0;
&gt; &gt; -        if (m_dbusConnection)
&gt; &gt; +        if (m_connectionID &amp;&amp; m_dbusConnection)
&gt; 
&gt; So now this condition is always false because m_connectionID is set to 0
&gt; before the if. Is this correct? Why not remove the if block then?

Oops, you are right!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500539</commentid>
    <comment_count>4</comment_count>
      <attachid>360717</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-01-31 04:53:21 -0800</bug_when>
    <thetext>Created attachment 360717
Updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500540</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-01-31 05:06:22 -0800</bug_when>
    <thetext>Committed r240778: &lt;https://trac.webkit.org/changeset/240778&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500541</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-31 05:07:28 -0800</bug_when>
    <thetext>&lt;rdar://problem/47699722&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360716</attachid>
            <date>2019-01-31 04:06:46 -0800</date>
            <delta_ts>2019-01-31 04:53:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wd-flaky.diff</filename>
            <type>text/plain</type>
            <size>1876</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJEcml2ZXIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkRyaXZl
ci9DaGFuZ2VMb2cKaW5kZXggYzlmODM1OWI4OGMuLmEzZTc4N2FmZTZlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE5IEBACisyMDE5LTAxLTMxICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNn
YXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR0xJQl0gV2ViRHJpdmVyOiByYWNlIGNvbmRp
dGlvbiB3aGVuIHNlc3Npb24gc3RhcnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTQwODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGlzIGlzIGNhdXNpbmcgZmxha2luZXNzIGluIHRoZSBib3RzLCBJ
IGNhbiBvbmx5IHJlcHJvZHVjZSBpdCBsb2NhbGx5IHdoZW4gbXkgQ1BVcyBhcmUgYXQgMTAwJS4g
VGhlIHRoaW5nCisgICAgICAgIGlzIHRoYXQgc29tZXRpbWVzIHdlIHJlY2VpdmUgYW4gZW1wdHkg
dGFyZ2V0IGxpc3QgcmlnaHQgYWZ0ZXIgdGhlIGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQgYmVj
YXVzZQorICAgICAgICBSZW1vdGVJbnNwZWN0b3I6OnNldENsaWVudCgpIGNhbGxzIHB1c2hMaXN0
aW5nc1Nvb24oKSBiZWZvcmUgYSB0YXJnZXQgaGFzIGJlZW4gcmVnaXN0ZXJlZC4gTW9zdCBvZiB0
aGUgdGltZXMgdGhlCisgICAgICAgIHRhcmdldCBpcyByZWdpc3RlcmVkIGJlZm9yZSB0aGUgbGlz
dGluZyBpcyBwdXNoZWQsIGJ1dCBpdCBjYW4gaGFwcGVuIHRoYXQgd2hlbiBwdXNoZWQsIHRoZSBs
aXN0aW5nIGlzIHN0aWxsCisgICAgICAgIGVtcHR5LiBBZnRlciB0aGUgdGFyZ2V0IGlzIHJlZ2lz
dGVyZWQgYW4gZW1wdHkgdGFyZ2V0IGxpc3QgbWVhbnMgdGhlIGNvbm5lY3Rpb24gd2FzIGxvc3Qs
IHNvIHdlIGNsZWFyIHRoZQorICAgICAgICBjb25uZWN0aW9uIGFuZCB0YXJnZXQuIFdlIG5lZWQg
dG8gZW5zdXJlIHdlIGRvIHRoYXQgb25seSBhZnRlciB0aGUgdGFyZ2V0IGhhcyBiZWVuIHJlZ2lz
dGVyZWQuCisKKyAgICAgICAgKiBnbGliL1Nlc3Npb25Ib3N0R2xpYi5jcHA6CisKIDIwMTktMDEt
MjkgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFdlYkRyaXZlcjogUE9TVCBjb21tYW5kcyByZXF1aXJlIGEgdmFsaWQgcGFyYW1ldGVycyBvYmpl
Y3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJEcml2ZXIvZ2xpYi9TZXNzaW9uSG9zdEdsaWIuY3Bw
IGIvU291cmNlL1dlYkRyaXZlci9nbGliL1Nlc3Npb25Ib3N0R2xpYi5jcHAKaW5kZXggMzRmOWJj
YTJiODcuLmY0OTY1MmRlMmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViRHJpdmVyL2dsaWIvU2Vz
c2lvbkhvc3RHbGliLmNwcAorKysgYi9Tb3VyY2UvV2ViRHJpdmVyL2dsaWIvU2Vzc2lvbkhvc3RH
bGliLmNwcApAQCAtMzMyLDcgKzMzMiw3IEBAIHZvaWQgU2Vzc2lvbkhvc3Q6OnNldFRhcmdldExp
c3QodWludDY0X3QgY29ubmVjdGlvbklELCBWZWN0b3I8VGFyZ2V0PiYmIHRhcmdldExpCiAgICAg
aWYgKHRhcmdldExpc3QuaXNFbXB0eSgpKSB7CiAgICAgICAgIG1fdGFyZ2V0ID0gVGFyZ2V0KCk7
CiAgICAgICAgIG1fY29ubmVjdGlvbklEID0gMDsKLSAgICAgICAgaWYgKG1fZGJ1c0Nvbm5lY3Rp
b24pCisgICAgICAgIGlmIChtX2Nvbm5lY3Rpb25JRCAmJiBtX2RidXNDb25uZWN0aW9uKQogICAg
ICAgICAgICAgZ19kYnVzX2Nvbm5lY3Rpb25fY2xvc2UobV9kYnVzQ29ubmVjdGlvbi5nZXQoKSwg
bnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0cik7CiAgICAgICAgIHJldHVybjsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360717</attachid>
            <date>2019-01-31 04:53:21 -0800</date>
            <delta_ts>2019-01-31 05:01:42 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>wd-flaky.diff</filename>
            <type>text/plain</type>
            <size>2070</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJEcml2ZXIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkRyaXZl
ci9DaGFuZ2VMb2cKaW5kZXggYzlmODM1OWI4OGMuLmEzZTc4N2FmZTZlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE5IEBACisyMDE5LTAxLTMxICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNn
YXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR0xJQl0gV2ViRHJpdmVyOiByYWNlIGNvbmRp
dGlvbiB3aGVuIHNlc3Npb24gc3RhcnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTQwODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGlzIGlzIGNhdXNpbmcgZmxha2luZXNzIGluIHRoZSBib3RzLCBJ
IGNhbiBvbmx5IHJlcHJvZHVjZSBpdCBsb2NhbGx5IHdoZW4gbXkgQ1BVcyBhcmUgYXQgMTAwJS4g
VGhlIHRoaW5nCisgICAgICAgIGlzIHRoYXQgc29tZXRpbWVzIHdlIHJlY2VpdmUgYW4gZW1wdHkg
dGFyZ2V0IGxpc3QgcmlnaHQgYWZ0ZXIgdGhlIGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQgYmVj
YXVzZQorICAgICAgICBSZW1vdGVJbnNwZWN0b3I6OnNldENsaWVudCgpIGNhbGxzIHB1c2hMaXN0
aW5nc1Nvb24oKSBiZWZvcmUgYSB0YXJnZXQgaGFzIGJlZW4gcmVnaXN0ZXJlZC4gTW9zdCBvZiB0
aGUgdGltZXMgdGhlCisgICAgICAgIHRhcmdldCBpcyByZWdpc3RlcmVkIGJlZm9yZSB0aGUgbGlz
dGluZyBpcyBwdXNoZWQsIGJ1dCBpdCBjYW4gaGFwcGVuIHRoYXQgd2hlbiBwdXNoZWQsIHRoZSBs
aXN0aW5nIGlzIHN0aWxsCisgICAgICAgIGVtcHR5LiBBZnRlciB0aGUgdGFyZ2V0IGlzIHJlZ2lz
dGVyZWQgYW4gZW1wdHkgdGFyZ2V0IGxpc3QgbWVhbnMgdGhlIGNvbm5lY3Rpb24gd2FzIGxvc3Qs
IHNvIHdlIGNsZWFyIHRoZQorICAgICAgICBjb25uZWN0aW9uIGFuZCB0YXJnZXQuIFdlIG5lZWQg
dG8gZW5zdXJlIHdlIGRvIHRoYXQgb25seSBhZnRlciB0aGUgdGFyZ2V0IGhhcyBiZWVuIHJlZ2lz
dGVyZWQuCisKKyAgICAgICAgKiBnbGliL1Nlc3Npb25Ib3N0R2xpYi5jcHA6CisKIDIwMTktMDEt
MjkgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFdlYkRyaXZlcjogUE9TVCBjb21tYW5kcyByZXF1aXJlIGEgdmFsaWQgcGFyYW1ldGVycyBvYmpl
Y3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJEcml2ZXIvZ2xpYi9TZXNzaW9uSG9zdEdsaWIuY3Bw
IGIvU291cmNlL1dlYkRyaXZlci9nbGliL1Nlc3Npb25Ib3N0R2xpYi5jcHAKaW5kZXggMzRmOWJj
YTJiODcuLjdhMjBiODk0MWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViRHJpdmVyL2dsaWIvU2Vz
c2lvbkhvc3RHbGliLmNwcAorKysgYi9Tb3VyY2UvV2ViRHJpdmVyL2dsaWIvU2Vzc2lvbkhvc3RH
bGliLmNwcApAQCAtMzMxLDkgKzMzMSwxMSBAQCB2b2lkIFNlc3Npb25Ib3N0OjpzZXRUYXJnZXRM
aXN0KHVpbnQ2NF90IGNvbm5lY3Rpb25JRCwgVmVjdG9yPFRhcmdldD4mJiB0YXJnZXRMaQogICAg
IEFTU0VSVCh0YXJnZXRMaXN0LnNpemUoKSA8PSAxKTsKICAgICBpZiAodGFyZ2V0TGlzdC5pc0Vt
cHR5KCkpIHsKICAgICAgICAgbV90YXJnZXQgPSBUYXJnZXQoKTsKLSAgICAgICAgbV9jb25uZWN0
aW9uSUQgPSAwOwotICAgICAgICBpZiAobV9kYnVzQ29ubmVjdGlvbikKLSAgICAgICAgICAgIGdf
ZGJ1c19jb25uZWN0aW9uX2Nsb3NlKG1fZGJ1c0Nvbm5lY3Rpb24uZ2V0KCksIG51bGxwdHIsIG51
bGxwdHIsIG51bGxwdHIpOworICAgICAgICBpZiAobV9jb25uZWN0aW9uSUQpIHsKKyAgICAgICAg
ICAgIGlmIChtX2RidXNDb25uZWN0aW9uKQorICAgICAgICAgICAgICAgIGdfZGJ1c19jb25uZWN0
aW9uX2Nsb3NlKG1fZGJ1c0Nvbm5lY3Rpb24uZ2V0KCksIG51bGxwdHIsIG51bGxwdHIsIG51bGxw
dHIpOworICAgICAgICAgICAgbV9jb25uZWN0aW9uSUQgPSAwOworICAgICAgICB9CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAK
</data>
<flag name="review"
          id="377404"
          type_id="1"
          status="+"
          setter="pnormand"
    />
          </attachment>
      

    </bug>

</bugzilla>