Open Bug 1026310 Opened 11 years ago Updated 3 years 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+
Attached patch Patch as described, v2 — — Splinter 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
Blocks: 1039798
No longer depends on: 1039798
While running tests per directory (not as a full suite), we see this test fail a bit more often: 10% on windows xp opt bc2 * https://tbpl.mozilla.org/?tree=Try&rev=a2e9ce57c719 * log: https://tbpl.mozilla.org/php/getParsedLog.php?id=44181551&tree=Try 15% on osx 10.8 opt bc2 * https://tbpl.mozilla.org/?tree=Try&rev=f684d6c014bd * log: https://tbpl.mozilla.org/php/getParsedLog.php?id=44176135&tree=Try I am fine disabling these but would rather see this fixed :) Neil, do you have more thoughts on why we are still seeing this?
Flags: needinfo?(enndeakin)
Not yet. You can disable it again if you prefer.
Flags: needinfo?(enndeakin)
Thanks for the quick response! Lets double check in a week and see if we have more ideas or time to debug this. disabling is a last resort.
Iteration: 33.3 → 34.1
Just FYI, comm-central have a perma-orange (bug 1039798) which is due to the changes in this bug. In case you want something reproducible... The symptom is that popup state never get to "open", only to "showing" as can be seen from the logs.
Attached patch Let's try this — — Splinter Review
This patch changes is_visible to only return true when the popup state is 'open'.
Attachment #8460231 - Flags: review?(MattN+bmo)
Attachment #8460231 - Flags: review?(MattN+bmo) → review+
Looks like this is still failing.
Whiteboard: [test disabled on Windows] → [test disabled on Windows] [qa-]
Whiteboard: [test disabled on Windows] [qa-] → [test disabled] [qa-]
Iteration: 34.1 → 34.2
So I think this, like some other bugs we've seen, is caused by the main panel not opening large enough. It first gets laid out to the right size but then _setMaxHeight sets the maximum height to a value 99 pixels less. This causes the help button to be scrolled out of view and a mouse click to not hit it.
Assignee: enndeakin → nobody
Status: ASSIGNED → NEW
Iteration: 34.2 → ---
QA Whiteboard: [qa-]
Flags: qe-verify-
Whiteboard: [test disabled] [qa-] → [test disabled]
No longer blocks: run-by-dir
(In reply to Neil Deakin from comment #522) > So I think this, like some other bugs we've seen, is caused by the main > panel not opening large enough. It first gets laid out to the right size but > then _setMaxHeight sets the maximum height to a value 99 pixels less. This > causes the help button to be scrolled out of view and a mouse click to not > hit it. Is there some way we can test this theory?
Flags: needinfo?(enndeakin)
I did test it, by adding debugging info before submitting for testing, and those results are what I found.
Flags: needinfo?(enndeakin)
(In reply to Neil Deakin from comment #538) > I did test it, by adding debugging info before submitting for testing, and > those results are what I found. OK! So do we know *why* we're resizing it to be 99px too small, and/or how to fix it? :-)
Flags: needinfo?(enndeakin)
Moving open UITour bugs to Firefox::Tours. Filter on firefox-tours-20150121.
Component: General → Tours
Flags: needinfo?(enndeakin)
Bulk assigning P3 to all open intermittent bugs without a priority set in Firefox components per bug 1298978.
Priority: -- → P3

Test still permafails across the board, though the error message is different now:

TEST-UNEXPECTED-FAIL | browser/components/uitour/test/browser_UITour_panel_close_annotation.js | Timeout waiting for popup at anchor: Highlight should move to the appMenu button and still be visible -

Summary: Intermittent browser_UITour_panel_close_annotation.js | Timeout waiting for invisibility: Tooltip should have disappeared when the subview opened → Intermittent browser_UITour_panel_close_annotation.js | Timeout waiting for popup at anchor: Highlight should move to the appMenu button and still be visible
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: