Closed Bug 897175 Opened 7 years ago Closed 7 years ago

Defect -Intermittent browser_findbar.js | Show find bar with menu item - Got false, expected true | runTests: Task failed - Error: transitionend event timeout at waitForEvent@chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/head.js:281

Categories

(Firefox for Metro Graveyard :: Tests, defect, P2)

x86
Windows 8.1
defect

Tracking

(firefox24 unaffected, firefox25 fixed)

RESOLVED FIXED
Firefox 25
Tracking Status
firefox24 --- unaffected
firefox25 --- fixed

People

(Reporter: RyanVM, Assigned: mbrubeck)

References

Details

(Keywords: intermittent-failure, Whiteboard: feature=defect c=testing u=developer p=2)

Attachments

(1 file)

https://tbpl.mozilla.org/php/getParsedLog.php?id=25620107&tree=Mozilla-Inbound

WINNT 6.2 mozilla-inbound opt test mochitest-metro-chrome on 2013-07-23 11:28:15 PDT for push 7ef1ee8a5061
slave: t-w864-ix-075

11:34:21     INFO -  TEST-PASS | chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.js | chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.html is loaded
11:34:21     INFO -  TEST-PASS | chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.js | Navbar is hidden by default
11:34:21     INFO -  TEST-PASS | chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.js | Find bar is hidden by default
11:34:21     INFO -  TEST-PASS | chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.js | Navbar is visible
11:34:21     INFO -  TEST-PASS | chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.js | Find bar is still hidden
11:34:21     INFO -  TEST-PASS | chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.js | Navbar is hidden
11:34:21     INFO -  TEST-PASS | chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.js | Findbar is visible
11:34:21     INFO -  TEST-PASS | chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.js | Navbar is visible again
11:34:21     INFO -  TEST-PASS | chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.js | Find bar is hidden again
11:34:21     INFO -  TEST-INFO | chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.js | END Findbar/navbar interaction
11:34:21     INFO -  TEST-INFO | chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.js | RUN Show and hide the find bar with mouse
11:34:21     INFO -  TEST-INFO | chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.js | Opening chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.html in a new tab
11:34:21     INFO -  ### Content.js loaded
11:34:21     INFO -  ### FormHelper.js loaded
11:34:21     INFO -  ### SelectionPrototype.js loaded
11:34:21     INFO -  ### SelectionHandler.js loaded
11:34:21     INFO -  ### ContextMenuHandler.js loaded
11:34:21     INFO -  ### FindHandler.js loaded
11:34:21     INFO -  ### ConsoleAPIObserver.js loaded
11:34:21     INFO -  MetroWidget::GetDPI
11:34:21     INFO -  MetroWidget::GetDPI
11:34:21     INFO -  TEST-PASS | chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.js | chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.html is loaded
11:34:21     INFO -  TEST-PASS | chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.js | Find bar is hidden by default
11:34:21  WARNING -  TEST-UNEXPECTED-FAIL | chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.js | Show find bar with menu item - Got false, expected true
11:34:21     INFO -  Stack trace:
11:34:21     INFO -      JS frame :: chrome://mochikit/content/browser-test.js :: test_is :: line 560
11:34:21     INFO -      JS frame :: chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.js :: .run :: line 74
11:34:21     INFO -      JS frame :: resource://gre/modules/Task.jsm :: TaskImpl_run :: line 192
11:34:21     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: resolve :: line 122
11:34:21     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: then :: line 47
11:34:21     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: resolve :: line 189
11:34:21     INFO -      JS frame :: chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/head.js :: onEvent :: line 293
11:34:21     INFO -      native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0
11:34:21  WARNING -  TEST-UNEXPECTED-FAIL | chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.js | runTests: Task failed - Error: transitionend event timeout at waitForEvent@chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/head.js:281
11:34:21     INFO -  .run@chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.js:77
11:34:21     INFO -  TaskImpl_run@resource://gre/modules/Task.jsm:192
11:34:21     INFO -  resolve@resource://gre/modules/commonjs/sdk/core/promise.js:122
11:34:21     INFO -  then@resource://gre/modules/commonjs/sdk/core/promise.js:47
11:34:21     INFO -  resolve@resource://gre/modules/commonjs/sdk/core/promise.js:189
11:34:23     INFO -  onEvent@chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/head.js:293
11:34:23     INFO -   at wfe_canceller@chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/head.js:284
11:34:23     INFO -  Stack trace:
11:34:23     INFO -      JS frame :: chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/head.js :: <TOP_LEVEL> :: line 757
11:34:23     INFO -      JS frame :: resource://gre/modules/Task.jsm :: TaskImpl_run :: line 193
11:34:23     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: reject :: line 137
11:34:23     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: then :: line 56
11:34:23     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: resolve :: line 189
11:34:23     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: reject :: line 212
11:34:23     INFO -      JS frame :: resource://gre/modules/Task.jsm :: TaskImpl_run :: line 223
11:34:23     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: reject :: line 137
11:34:23     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: then :: line 56
11:34:23     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: resolve :: line 189
11:34:23     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: reject :: line 212
11:34:23     INFO -      JS frame :: chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/head.js :: wfe_canceller :: line 284
11:34:23     INFO -      native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0
11:34:23     INFO -  TEST-INFO | chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.js | END Show and hide the find bar with mouse
11:34:23     INFO -  INFO TEST-END | chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/browser_findbar.js | finished in 4912ms
Blocks: 880298
Priority: -- → P3
Summary: Intermittent browser_findbar.js | Show find bar with menu item - Got false, expected true | runTests: Task failed - Error: transitionend event timeout at waitForEvent@chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/head.js:281 → Defect -Intermittent browser_findbar.js | Show find bar with menu item - Got false, expected true | runTests: Task failed - Error: transitionend event timeout at waitForEvent@chrome://mochitests/content/metro/browser/metro/base/tests/mochitest/head.js:281
Whiteboard: feature=defect c=testing u=developer p=0
No longer blocks: 865451
Disabled due to frequent intermittent failures.
https://hg.mozilla.org/integration/fx-team/rev/d0edf8086809
Whiteboard: feature=defect c=testing u=developer p=0 → [test disabled][leave open] feature=defect c=testing u=developer p=0
Assignee: nobody → mbrubeck
Attached patch patchSplinter Review
I couldn't reproduce this locally, but I have a theory that it happens because the next-to-last test case ends with the findbar still in the middle of hiding, so the waitForEvent in the last test case catches the wrong "transitionend" event.  This patch forces the previous test to wait until the transition is complete.  Pushed to Try:
https://tbpl.mozilla.org/?tree=Try&rev=b5bdb3fcdc4e
Hey Matt, can you provide a point estimate.
Blocks: metrov1it12
No longer blocks: metrov2defect&change
Status: NEW → ASSIGNED
Flags: needinfo?(mbrubeck)
QA Contact: jbecerra
Priority: P3 → P2
estimate p=2
Flags: needinfo?(mbrubeck)
Whiteboard: [test disabled][leave open] feature=defect c=testing u=developer p=0 → [test disabled][leave open] feature=defect c=testing u=developer p=2
Comment on attachment 785254 [details] [diff] [review]
patch

This was green on Try.  Instead of waiting for just the navbar transition, this ensures that both the navbar and findbar transitions finish before the test continues to the next step.
Attachment #785254 - Flags: review?(rsilveira)
Comment on attachment 785254 [details] [diff] [review]
patch

Review of attachment 785254 [details] [diff] [review]:
-----------------------------------------------------------------

::: browser/metro/base/tests/mochitest/browser_findbar.js
@@ +47,5 @@
>      is(Elements.findbar.isShowing, false, "Find bar is still hidden");
>  
>      EventUtils.synthesizeKey("f", { accelKey: true });
> +    yield Promise.all(waitForEvent(Elements.navbar, "transitionend"),
> +                      waitForEvent(Elements.findbar, "transitionend"));

nit: If you want to be extra safe, you could declare the waitForEvents before the synthesizeKey call and yield after.
Attachment #785254 - Flags: review?(rsilveira) → review+
https://hg.mozilla.org/integration/fx-team/rev/4ee48f7a741d

I left the waitForEvent calls where they were, because "transitionend" should never happen synchronously.
But the test is still disabled ...
(In reply to Girish Sharma [:Optimizer] from comment #23)
> But the test is still disabled ...

Oops. https://hg.mozilla.org/integration/fx-team/rev/e7e31347a02b
Whiteboard: [test disabled][leave open] feature=defect c=testing u=developer p=2 → feature=defect c=testing u=developer p=2
https://hg.mozilla.org/mozilla-central/rev/4ee48f7a741d
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 25
OS: Windows 8 Metro → Windows 8.1
You need to log in before you can comment on or make changes to this bug.