<?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>182085</bug_id>
          
          <creation_ts>2018-01-24 20:51:22 -0800</creation_ts>
          <short_desc>Bubbles intermittently disappear from bot watchers dashboard</short_desc>
          <delta_ts>2018-02-01 10:36:53 -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>Other</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="Aakash Jain">aakash_jain</reporter>
          <assigned_to name="Aakash Jain">aakash_jain</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>lforschler</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1392914</commentid>
    <comment_count>0</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-01-24 20:51:22 -0800</bug_when>
    <thetext>See &lt;rdar://problem/36848949&gt;.

[Error] Assertion Failed
	failureLogURL (BuildbotIteration.js:165)
	appendBuilderQueueStatus (BuildbotBuilderQueueView.js:80)
	(anonymous function) (BuildbotQueueView.js:320)
	(anonymous function)
	forEach
	appendBuildStyle (BuildbotQueueView.js:312)
	update (BuildbotBuilderQueueView.js:116)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392917</commentid>
    <comment_count>1</comment_count>
      <attachid>332228</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-01-24 20:55:30 -0800</bug_when>
    <thetext>Created attachment 332228
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1393239</commentid>
    <comment_count>2</comment_count>
      <attachid>332228</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2018-01-25 13:29:25 -0800</bug_when>
    <thetext>Comment on attachment 332228
Proposed patch

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

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:-165
&gt; -        console.assert(this._firstFailedStep);

This confuses me. How can there be a failure when no steps failed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1393255</commentid>
    <comment_count>3</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-01-25 13:46:30 -0800</bug_when>
    <thetext>&gt; This confuses me. How can there be a failure when no steps failed?

Theoretically it can happen if:
1)the failed step is hidden (see https://trac.webkit.org/browser/webkit/trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js#L292)

2)the api call to fetch steps information returned unexpected data. Buildbot 0.8 has single API call while in Buildbot 0.9, steps information is fetched in separate API call.

I had the same confusion and couldn&apos;t reproduce the issue. The assertion indicate that there was atleast one such case. We could wait and try to reproduce the issue more reliably and figure out when does such a case happens.

This issue is intermittent and happens only with server running Buildbot 0.9, and anyways in Buildbot 0.9 we return buildPageURLForIteration() which doesn&apos;t depend on step information.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1393379</commentid>
    <comment_count>4</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-01-25 17:47:01 -0800</bug_when>
    <thetext>I added some logs and reproduced the issue and was able to find a case when overall result (this._results) was failure, while this._firstFailedStep was null. See attached screenshot in &lt;rdar://36848949&gt;.

It has to do with fetching the build info and build steps asynchronously (in Buildbot 0.9) and happens while fetching info from ongoing build (which is about to finish).

The order of events which can cause can be this:
1: fetched steps info (no failed step)
2: one of the build step failed (overall build status is set to failed)
3: fetched build info (found the build status as failed)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1393553</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2018-01-26 10:07:13 -0800</bug_when>
    <thetext>In this situation, does the fix fully correct the user experience, or are we just trading a bad bug for a slightly less bad one? Is it feasible to fully fix the behavior?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395211</commentid>
    <comment_count>6</comment_count>
      <attachid>332816</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-01-31 15:55:54 -0800</bug_when>
    <thetext>Created attachment 332816
Alternative patch

Simpler patch. It fixes the bug and doesn&apos;t change any functionality at all (i.e. returns the same URL which was returned before this code change, for both Buildbot 0.8 and 0.9).

The if (!this._firstFailedStep.logs) statement was added in https://trac.webkit.org/changeset/220120/webkit while adding Buildbot 0.9 support, and relies on the fact that Buildbot 0.9 api doesn&apos;t have logs inside _firstFailedStep, and so is always true for Buildbot 0.9.

We can also try to improve this method and construct the URL for the stdio. That would be a more complex fix (making sure this._firstFailedStep is set properly whenever this.failed is true), I am not sure if the additional benefit is worth investing the time in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395267</commentid>
    <comment_count>7</comment_count>
      <attachid>332816</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2018-01-31 17:39:48 -0800</bug_when>
    <thetext>Comment on attachment 332816
Alternative patch

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

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:-167
&gt; -        if (!this._firstFailedStep.logs)

Did you find out why we had this check? I&apos;m not sure if removing it is safe, it was probably added to fix some assertion observed in practice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395278</commentid>
    <comment_count>8</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-01-31 18:18:47 -0800</bug_when>
    <thetext>&gt; &gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:-167
&gt; &gt; -        if (!this._firstFailedStep.logs)
&gt; 
&gt; Did you find out why we had this check? I&apos;m not sure if removing it is safe,
&gt; it was probably added to fix some assertion observed in practice.

Yes, I mentioned it in comment 6 above. Removing it is safe. We never needed this in Buildbot 0.8. I added this line while adding support for Buildbot 0.9.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395516</commentid>
    <comment_count>9</comment_count>
      <attachid>332816</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-01 09:30:30 -0800</bug_when>
    <thetext>Comment on attachment 332816
Alternative patch

Clearing flags on attachment: 332816

Committed r227971: &lt;https://trac.webkit.org/changeset/227971&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395550</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-01 10:36:53 -0800</bug_when>
    <thetext>&lt;rdar://problem/37121278&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332228</attachid>
            <date>2018-01-24 20:55:30 -0800</date>
            <delta_ts>2018-02-01 10:31:59 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>dashboard_bubble_disappear.patch</filename>
            <type>text/plain</type>
            <size>1674</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIyNzU5MikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE0IEBACisyMDE4LTAxLTI0ICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBCdWJibGVzIGludGVybWl0dGVudGx5IGRpc2FwcGVhciBmcm9tIGJvdCB3
YXRjaGVycyBkYXNoYm9hcmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4MjA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVi
bGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RJdGVyYXRpb24uanM6CisgICAgICAg
IChCdWlsZGJvdEl0ZXJhdGlvbi5wcm90b3R5cGUuZmFpbHVyZUxvZ1VSTCk6IGZhaWx1cmVMb2dV
UkwgZG9lc24ndCBkZXBlbmQgb24gc3RlcCBpbiBCdWlsZGJvdCAwLjkuCisgICAgICAgIElmIF9m
aXJzdEZhaWxlZFN0ZXAgaXMgbm90IGRlZmluZWQsIHdlIHNob3VsZCBzdGlsbCByZXR1cm4gVVJM
IGZvciB0aGUgQnVpbGRlciBwYWdlLgorCiAyMDE4LTAxLTI0ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgR3JhY2VmdWxseSByZWNvdmVyIGZy
b20gTmV0d29ya1Byb2Nlc3MgY3Jhc2hlcyBpbiBwcml2YXRlIGJyb3dzaW5nCkluZGV4OiBUb29s
cy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9k
YXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdEl0ZXJhdGlvbi5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9k
YXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdEl0ZXJhdGlvbi5qcwkocmV2aXNpb24gMjI3NTkyKQor
KysgVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGlj
X2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RJdGVyYXRpb24uanMJKHdvcmtpbmcgY29w
eSkKQEAgLTE2Miw5ICsxNjIsNyBAQCBCdWlsZGJvdEl0ZXJhdGlvbi5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIGlmICghdGhpcy5mYWlsZWQpCiAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkOwog
Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2ZpcnN0RmFpbGVkU3RlcCk7Ci0KLSAgICAg
ICAgaWYgKCF0aGlzLl9maXJzdEZhaWxlZFN0ZXAubG9ncykKKyAgICAgICAgaWYgKCF0aGlzLl9m
aXJzdEZhaWxlZFN0ZXAgfHwgIXRoaXMuX2ZpcnN0RmFpbGVkU3RlcC5sb2dzKQogICAgICAgICAg
ICAgcmV0dXJuIHRoaXMucXVldWUuYnVpbGRib3QuYnVpbGRQYWdlVVJMRm9ySXRlcmF0aW9uKHRo
aXMpOwogCiAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5fZmlyc3RGYWlsZWRTdGVw
LmxvZ3MubGVuZ3RoOyArK2kpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332816</attachid>
            <date>2018-01-31 15:55:54 -0800</date>
            <delta_ts>2018-02-01 09:30:30 -0800</delta_ts>
            <desc>Alternative patch</desc>
            <filename>dashboard_bubble_disappear_v2.patch</filename>
            <type>text/plain</type>
            <size>2062</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIyNzkzNykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE1IEBACisyMDE4LTAxLTMxICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBCdWJibGVzIGludGVybWl0dGVudGx5IGRpc2FwcGVhciBmcm9tIGJvdCB3
YXRjaGVycyBkYXNoYm9hcmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4MjA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVi
bGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RJdGVyYXRpb24uanM6CisgICAgICAg
IChCdWlsZGJvdEl0ZXJhdGlvbi5wcm90b3R5cGUuZmFpbHVyZUxvZ1VSTCk6IGZhaWx1cmVMb2dV
UkwgZG9lc24ndCBkZXBlbmQgb24gc3RlcCBpbiBCdWlsZGJvdCAwLjkuCisgICAgICAgIFJldHVy
biB0aGUgQnVpbGQgUGFnZSBVUkwgZm9yIEJ1aWxkYm90IEJ1aWxkYm90IDAuOS4gRWFybGllciBj
b2RlIHdhcyBhbHNvIGRvaW5nIHRoZSBzYW1lIHVzaW5nIGEKKyAgICAgICAgY29uZnVzaW5nIGlm
ICghdGhpcy5fZmlyc3RGYWlsZWRTdGVwLmxvZ3MpIHN0YXRlbWVudCB3aGljaCBpcyBhbHdheXMg
ZmFsc2UgZm9yIEJ1aWxkYm90IDAuOS4KKwogMjAxOC0wMS0zMSAgTWljaGFlbCBDYXRhbnphcm8g
IDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjI3MjIzKTog
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NsZWFyLWluLW1lbW9yeS1hbmQtcGVy
c2lzdGVudC1zdG9yZS1vbmUtaG91ci5odG1sLCBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvZ3JhbmRmYXRoZXJpbmcuaHRtbCB0aW1pbmcgb3V0IG9uIEdUSywgV1BFCkluZGV4OiBU
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRt
bC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdEl0ZXJhdGlvbi5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRt
bC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdEl0ZXJhdGlvbi5qcwkocmV2aXNpb24gMjI3OTM3
KQorKysgVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVi
bGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RJdGVyYXRpb24uanMJKHdvcmtpbmcg
Y29weSkKQEAgLTE2MiwxMSArMTYyLDExIEBAIEJ1aWxkYm90SXRlcmF0aW9uLnByb3RvdHlwZSA9
IHsKICAgICAgICAgaWYgKCF0aGlzLmZhaWxlZCkKICAgICAgICAgICAgIHJldHVybiB1bmRlZmlu
ZWQ7CiAKLSAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5fZmlyc3RGYWlsZWRTdGVwKTsKLQot
ICAgICAgICBpZiAoIXRoaXMuX2ZpcnN0RmFpbGVkU3RlcC5sb2dzKQorICAgICAgICBpZiAoIXRo
aXMucXVldWUuYnVpbGRib3QuVkVSU0lPTl9MRVNTX1RIQU5fMDkpCiAgICAgICAgICAgICByZXR1
cm4gdGhpcy5xdWV1ZS5idWlsZGJvdC5idWlsZFBhZ2VVUkxGb3JJdGVyYXRpb24odGhpcyk7CiAK
KyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5fZmlyc3RGYWlsZWRTdGVwKTsKKwogICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX2ZpcnN0RmFpbGVkU3RlcC5sb2dzLmxlbmd0aDsg
KytpKSB7CiAgICAgICAgICAgICBpZiAodGhpcy5fZmlyc3RGYWlsZWRTdGVwLmxvZ3NbaV1bMF0g
PT0ga2luZCkKICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fZmlyc3RGYWlsZWRTdGVwLmxv
Z3NbaV1bMV07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>