Closed Bug 1198616 Opened 9 years ago Closed 9 years ago

"TimeoutException: Timed out after 5 seconds" in test_safe_browsing_notification.py and test_safe_browsing_warning_pages.py

Categories

(Testing :: Firefox UI Tests, defect, P1)

43 Branch
defect

Tracking

(firefox42 fixed, firefox43 fixed, firefox44 fixed, firefox45 fixed, firefox-esr38 fixed)

RESOLVED FIXED
mozilla45
Tracking Status
firefox42 --- fixed
firefox43 --- fixed
firefox44 --- fixed
firefox45 --- fixed
firefox-esr38 --- fixed

People

(Reporter: whimboo, Assigned: whimboo)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

52 bytes, text/x-github-pull-request
impossibus
: review+
Details | Review
Looks like this failure happens because the target page has not been loaded within 5s:

Traceback (most recent call last):
  File "c:\jenkins\workspace\mozilla-aurora_functional\venv\lib\site-packages\marionette\marionette_test.py", line 296, in run
    testMethod()
  File "c:\jenkins\workspace\mozilla-aurora_functional\venv\Lib\site-packages\firefox_ui_tests\functional\security\test_safe_browsing_notification.py", line 73, in test_notification_bar
    self.check_not_badware_button(button_property, report_page)
  File "c:\jenkins\workspace\mozilla-aurora_functional\venv\Lib\site-packages\firefox_ui_tests\functional\security\test_safe_browsing_notification.py", line 113, in check_not_badware_button
    Wait(self.marionette).until(lambda mn: report_page in mn.get_url())
  File "c:\jenkins\workspace\mozilla-aurora_functional\venv\lib\site-packages\marionette_driver\wait.py", line 143, in until
    cause=last_exc)

TimeoutException: TimeoutException: Timed out after 5.0 seconds


I don't think that we should limit the Wait call to 5min given that this test is accessing remote content. We should increase the timeout or use a local page if possible.
Depends on: 1201715
Summary: "TimeoutException: Timed out after 5 seconds" in test_safe_browsing_notification.py → "TimeoutException: Timed out after 5 seconds" in test_safe_browsing_notification.py and test_safe_browsing_notification.py
Summary: "TimeoutException: Timed out after 5 seconds" in test_safe_browsing_notification.py and test_safe_browsing_notification.py → "TimeoutException: Timed out after 5 seconds" in test_safe_browsing_notification.py and test_safe_browsing_warning_pages.py
Interestingly this issue doesn't appear for latest release. It may be a regression in DNS name resolution because watching the tests makes that visible that we wait a long time in looking up ...
No more failures since the fix on bug 1201715 has been landed. Looks like we got this fixed.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Whiteboard: [failure] → [failure][fixed by bug 1201715]
Doesn't look to be fixed. At least not for beta and maybe even release and esr38. I should go and further backport the fix on bug 1201715 for those branches. Reopening bug for now.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Well, actually this is a page load issue which occurs after 30s. So this is valid and might have been a network issue around that time. The underlying issue was fixed by the patch on the other bug for aurora and beta too.
Status: REOPENED → RESOLVED
Closed: 9 years ago9 years ago
Resolution: --- → FIXED
Not actually fixed. We still get those failures for the tests at least on mozilla-central from time to time.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Whiteboard: [failure][fixed by bug 1201715]
Maybe this failure is related to the "Service not available" 503 failure we currently get due to the migration process of that domain.
Ok, so the problem here is indeed a slow loading page. We check that the button is no longer available after clicking on it. But if the remote server is slow in serving the page, the current page is not getting unloaded. So we should better check for the new page being loaded first, and then do the button not existent check.
So we cannot flip those lines because we won't detect a page load. So a solution would be:

-        Wait(self.marionette).until(expected.element_stale(button))
+        Wait(self.marionette, timeout=self.browser.timeout_page_load).until(
+            expected.element_stale(button))

I will check later if there is a better option for us.
Attached file Github PR
Simple fix to ensure we do not fail in case of slow connection times to remote servers.
Assignee: nobody → hskupin
Status: REOPENED → ASSIGNED
Attachment #8680844 - Flags: review?(mjzffr)
Bumping priority because nearly all tests were failing today with that failure. Orange factor will add a comment about that in the next couple of days I assume.
OS: Windows 7 → All
Priority: -- → P1
Merged to mozilla-central as:
https://github.com/mozilla/firefox-ui-tests/commit/ed85accfe2465706026cab2748502c2f92af9b6e

Backports will happen later or tomorrow.
Target Milestone: --- → Firefox 45
Actually this slowness is related to broken network routing and handled by bug 1170832. But we should harden our tests anyway.
Depends on: 1170832
Blocks: 1214378
Product: Mozilla QA → Testing
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: