Open Bug 1026310 Opened 9 years ago Updated 6 months ago

Intermittent browser_UITour_panel_close_annotation.js | Timeout waiting for popup at anchor: Highlight should move to the appMenu button and still be visible

Categories

(Firefox :: Tours, defect, P3)

33 Branch
x86_64
macOS
defect
Points:
2

Tracking

()

Tracking Status
firefox31 --- unaffected
firefox32 --- unaffected
firefox33 --- disabled
firefox-esr24 --- unaffected

People

(Reporter: KWierso, Unassigned)

References

Details

(Keywords: intermittent-failure, leave-open, Whiteboard: [test disabled])

Attachments

(2 files, 1 obsolete file)

https://tbpl.mozilla.org/php/getParsedLog.php?id=41816072&tree=Mozilla-Inbound
Rev5 MacOSX Mountain Lion 10.8 mozilla-inbound opt test mochitest-browser-chrome-2 on 2014-06-16 14:21:19 PDT for push 85ae65b5aec9

slave: talos-mtnlion-r5-001



14:23:27     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | The info panel should have closed too
14:23:27     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Element should not be null, when checking visibility
14:23:27     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Highlight should be closed/hidden after UITour tab is closed
14:23:27     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Element should not be null, when checking visibility
14:23:27     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Tooltip should be closed/hidden after UITour tab is closed
14:23:27     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | @noautohide on the menu panel should have been cleaned up
14:23:27     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | The panel shouldn't have @panelopen
14:23:27     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | The panel shouldn't be open
14:23:27     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Menu button should know that the menu is closed
14:23:27     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Any pinned tab should be closed after UITour tab is closed
14:23:27     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Starting test_highlight_panel_open_subview
14:23:28     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Highlight should be shown after showHighlight() for fixed panel items
14:23:28     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Panel should have opened
14:23:28     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Highlight should have disappeared when the subview opened
14:23:28     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Panel should have stayed open when the subview opened
14:23:28     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | The info panel should have remained open
14:23:28     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Element should not be null, when checking visibility
14:23:28     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Highlight should be closed/hidden after UITour tab is closed
14:23:28     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Element should not be null, when checking visibility
14:23:28     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Tooltip should be closed/hidden after UITour tab is closed
14:23:28     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | @noautohide on the menu panel should have been cleaned up
14:23:28     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | The panel shouldn't have @panelopen
14:23:28     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | The panel shouldn't be open
14:23:28     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Menu button should know that the menu is closed
14:23:28     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Any pinned tab should be closed after UITour tab is closed
14:23:28     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Starting test_info_panel_open_subview
14:23:28     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Highlight should be shown after showHighlight() for fixed panel items
14:23:28     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Panel should have opened
14:23:31  WARNING -  TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Timeout waiting for invisibility: Tooltip should have disappeared when the subview opened
14:23:31     INFO -  Stack trace:
14:23:31     INFO -      JS frame :: chrome://mochitests/content/browser/browser/modules/test/head.js :: waitForCondition/interval< :: line 10
14:23:31     INFO -      native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0
14:23:31     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Tooltip should have disappeared when the subview opened
14:23:31     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Panel should have stayed open when the subview opened
14:23:31     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | The highlight should have remained open
14:23:31     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Element should not be null, when checking visibility
14:23:31     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Highlight should be closed/hidden after UITour tab is closed
14:23:31     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Element should not be null, when checking visibility
14:23:31     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Tooltip should be closed/hidden after UITour tab is closed
14:23:31     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | @noautohide on the menu panel should have been cleaned up
14:23:31     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | The panel shouldn't have @panelopen
14:23:31     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | The panel shouldn't be open
14:23:31     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Menu button should know that the menu is closed
14:23:31     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Any pinned tab should be closed after UITour tab is closed
14:23:31     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Starting test_info_move_outside_panel
14:23:31     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Tooltip should be shown after showInfo() for a panel item
14:23:31     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Element should not be null, when checking visibility
14:23:31     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Popup should be visible
14:23:31     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Panel should have opened
14:23:32     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Tooltip should move to the appMenu button and still be visible
14:23:32     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Element should not be null, when checking visibility
14:23:32     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Popup should be visible
14:23:32     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Menu should have closed after the highlight moved elsewhere.
14:23:32     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | The highlight should have remained visible
14:23:32     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Element should not be null, when checking visibility
14:23:32     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Highlight should be closed/hidden after UITour tab is closed
14:23:32     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Element should not be null, when checking visibility
14:23:32     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Tooltip should be closed/hidden after UITour tab is closed
14:23:32     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | @noautohide on the menu panel should have been cleaned up
14:23:32     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | The panel shouldn't have @panelopen
14:23:32     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | The panel shouldn't be open
14:23:32     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Menu button should know that the menu is closed
14:23:32     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | Any pinned tab should be closed after UITour tab is closed
14:23:32     INFO -  TEST-INFO | MEMORY STAT vsize after test: 3467988992
14:23:32     INFO -  TEST-INFO | MEMORY STAT residentFast after test: 422653952
14:23:32     INFO -  TEST-INFO | MEMORY STAT heapAllocated after test: 86926264
14:23:32     INFO -  INFO TEST-END | chrome://mochitests/content/browser/browser/modules/test/browser_UITour_panel_close_annotation.js | finished in 5995ms
This is marked 31 branch - did this happen on branches, Wes? I'm not seeing anything here.

AFAICT this is a recently regressed thing on central. Matt/Blair, any idea of what might have triggered this test to suddenly break?
Flags: needinfo?(kwierso)
Flags: needinfo?(bmcbride)
Flags: needinfo?(MattN+bmo)
Actually, I'm tempted to point at bug 994117. Neil, is it possible this is related?
Flags: needinfo?(enndeakin)
I don't actually remember seeing the version field when I filed this bug. Not sure why it picked 31...
Flags: needinfo?(kwierso)
Version: 31 Branch → 33 Branch
Did you clone it from another bug?
It looks like the test is relying on the popup.state to determine if the popup is open or not. I assume the panel is an arrow panel. The panel is still animating open 

There are three options:
 1. Change the implementation of popup.state to return 'showing' instead of 'open' until the popupshown event has fired.
 2. Change the test to instead use the popupshown event
 3. Disable the animation during this test
Flags: needinfo?(enndeakin)
(In reply to Ryan VanderMeulen [:RyanVM UTC-4] from comment #17)
> Did you clone it from another bug?

Looks like every bug filed into Firefox :: General presets the version at 31 branch...
(In reply to Neil Deakin from comment #18)
>  1. Change the implementation of popup.state to return 'showing' instead of
> 'open' until the popupshown event has fired.

IMO, we should fix this - it's inconsistent and unexpected that state=open before popupshown has fired.
Flags: needinfo?(enndeakin)
Flags: needinfo?(bmcbride)
Flags: needinfo?(MattN+bmo)
Assignee: nobody → enndeakin
Flags: needinfo?(enndeakin)
Marco, please add this to the current iteration.
Flags: needinfo?(mmucci)
Whiteboard: p=2
Added to Iteration 33.1

Neil, would you recommend this bug as [qa+] or [qa-] for verification?
Status: NEW → ASSIGNED
Flags: needinfo?(mmucci) → firefox-backlog+
Whiteboard: p=2 → p=2 s=33.1 [qa?]
Another related issue with this test among others in the same directory is that there are functions in browser/modules/test/head.js that assume that 'hiding' and 'closed' are the hidden states and that all others are visible states. So waitForElementToBeVisible for example, returns true during the 'showing' state and the test continues on to fail.
The issue described in comment 23 is also breaking PanelUI.show(). I'm a little amazed this isn't breaking a bunch of existing tests, but at the very least it's breaking the additional checks I'm adding in bug 1021606, and thus blocking that bug.
Blocks: 1021606
Attached patch Patch as described (obsolete) — Splinter Review
There's still a test failure on Windows in test_bug619644.html which I'll continue to investigate, although it doesn't use popups as I can tell. But the main patch should be good to review here.
Attachment #8444844 - Flags: review?(neil)
Comment on attachment 8444844 [details] [diff] [review]
Patch as described

UITour.jsm changes. Otherwise, browser_UITour2.js fails as the tooltip popup is now in the showing state when an attempt to reopen the popup occurs.
Attachment #8444844 - Flags: review?(MattN+bmo)
Iteration: --- → 33.2
Points: --- → 2
QA Whiteboard: [qa?]
Whiteboard: p=2 s=33.1 [qa?]
Comment on attachment 8444844 [details] [diff] [review]
Patch as described

(I don't have an up-to-date build handy so I can't get the patch to apply.)

> // XUL popups can be in several different states. When opening a popup, the
> // state changes as follows:
> //   ePopupClosed - initial state
> //   ePopupShowing - during the period when the popupshowing event fires
> //   ePopupOpen - between the popupshowing event and being visible. Creation
> //                of the child frames, layout and reflow occurs in this state.
>+//                The popup is stored in the popup manager's list of open popups
>+//                during this state.
>+//   ePopupOpenAndWaitingForShown - layout is done and the popup's view and
>+//                                  widget are made visible. The popup is
>+//                                  visible on screen but may be transitioning.
>+//                                  The popupshown event has not yet fired.
>+//   ePopupOpenAndVisible - the popup is visible and full ready. This state is
>+//                          assigned just before the popupshown event fires.
I think it would be clearer if ePopupOpenAndVisible retains its current meaning whereby the widget is visible, and give the state where the transition has finished a different name. (In fact my preference would be to change the suffixes to Closed, Showing, Opening, Visible, Shown, Hidden but maybe that's an oversimplification.)
> I think it would be clearer if ePopupOpenAndVisible retains its current
> meaning whereby the widget is visible, and give the state where the
> transition has finished a different name. (In fact my preference would be to
> change the suffixes to Closed, Showing, Opening, Visible, Shown, Hidden but
> maybe that's an oversimplification.)

I'll change to use these clearer names.
QA Whiteboard: [qa?] → [qa-]
Attachment #8444844 - Flags: review?(MattN+bmo) → review+
Attachment #8444844 - Attachment is obsolete: true
Attachment #8444844 - Flags: review?(neil)
Attachment #8447167 - Flags: review?(neil)
Disabled browser_UITour_panel_close_annotation.js on Windows for intermittent failures:
https://hg.mozilla.org/integration/mozilla-inbound/rev/5e9ad761e154
Keywords: leave-open
Whiteboard: [test disabled on Windows]
Flags: needinfo?(neil)
Iteration: 33.2 → 33.3
(In reply to Ed Morley [:edmorley UTC+0] from comment #185)
> Disabled browser_UITour_panel_close_annotation.js on Windows for
> intermittent failures:
> https://hg.mozilla.org/integration/mozilla-inbound/rev/5e9ad761e154

This skipped browser_UITour_annotation_size_attributes.js rather than browser_UITour_panel_close_annotation.js.

https://hg.mozilla.org/integration/mozilla-inbound/rev/ebfe5b067e06
Comment on attachment 8447167 [details] [diff] [review]
Patch as described, v2

Maybe someone else can review.
Attachment #8447167 - Flags: review?(mstange)
(In reply to comment #102)
> (I don't have an up-to-date build handy so I can't get the patch to apply.)

(I have a more up-to-date build now!)
Flags: needinfo?(neil)
Attachment #8447167 - Flags: review?(neil) → review+
Attachment #8447167 - Flags: review?(mstange)
So it looks like we're still getting some of these failures. None of 1032137 currently though, so that one could be fixed.
Depends on: 1039798