Closed Bug 1567355 Opened 5 months ago Closed 2 months ago

Intermittent GECKO(907) | Assertion failure: false (MOZ_ASSERT_UNREACHABLE: Failed to exit fullscreen?), at /builds/worker/workspace/build/src/dom/base/nsGlobalWindowOuter.cpp:4467

Categories

(Core :: Widget: Cocoa, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla71
Tracking Status
firefox-esr60 --- unaffected
firefox-esr68 --- unaffected
firefox69 --- unaffected
firefox70 --- fixed
firefox71 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: xidorn)

References

(Blocks 1 open bug)

Details

(Keywords: intermittent-failure, regression, Whiteboard: [stockwell disabled])

Attachments

(2 files)

Filed by: nbeleuzu [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=257264788&repo=mozilla-inbound
Full log: https://queue.taskcluster.net/v1/task/JYEd2h0xTZe_iwCv9wn88g/runs/0/artifacts/public/logs/live_backing.log


23:32:58 INFO - GECKO(907) | [Parent 907, Main Thread] WARNING: Content used context-fill-opacity when not in a context element: file /builds/worker/workspace/build/src/layout/svg/nsSVGUtils.cpp, line 1522
23:32:58 INFO - GECKO(907) | ++DOCSHELL 0x129bcd000 == 3 [pid = 913] [id = {c81a149f-810e-4746-ac34-6da28f9aaf62}]
23:32:58 INFO - GECKO(907) | ++DOMWINDOW == 5 (0x118fbb7a0) [pid = 913] [serial = 52] [outer = 0x0]
23:32:58 INFO - GECKO(907) | [Child 913, Main Thread] WARNING: No active window: file /builds/worker/workspace/build/src/js/xpconnect/src/XPCJSContext.cpp, line 662
23:32:58 INFO - GECKO(907) | ++DOMWINDOW == 6 (0x1201a1c00) [pid = 913] [serial = 53] [outer = 0x118fbb7a0]
23:32:58 INFO - GECKO(907) | ++DOMWINDOW == 7 (0x12a52fc00) [pid = 913] [serial = 54] [outer = 0x118fbb7a0]
23:32:58 INFO - GECKO(907) | [Child 913, Main Thread] WARNING: NS_ENSURE_SUCCESS(mStatus, *this) failed with result 0x80004005: file /builds/worker/workspace/build/src/obj-firefox/dist/include/nsIURIMutator.h, line 489
23:32:58 INFO - GECKO(907) | [Child 913, Main Thread] WARNING: No active window: file /builds/worker/workspace/build/src/js/xpconnect/src/XPCJSContext.cpp, line 662
23:32:59 INFO - GECKO(907) | --DOMWINDOW == 13 (0x1176f9800) [pid = 909] [serial = 259] [outer = 0x0] [url = data:text/html;charset=utf-8,<!DOCTYPE html><html><head><title>test_open_with_innerSize<%2Ftitle><%2Fhead><body><%2Fbody><%2Fhtml>]
23:32:59 INFO - GECKO(907) | --DOMWINDOW == 12 (0x1176ef000) [pid = 909] [serial = 269] [outer = 0x0] [url = about:blank]
23:32:59 INFO - GECKO(907) | --DOMWINDOW == 11 (0x1176f9400) [pid = 909] [serial = 266] [outer = 0x0] [url = about:blank]
23:32:59 INFO - GECKO(907) | --DOMWINDOW == 10 (0x1176ed800) [pid = 909] [serial = 265] [outer = 0x0] [url = about:blank]
23:32:59 INFO - GECKO(907) | --DOMWINDOW == 9 (0x1176f9c00) [pid = 909] [serial = 262] [outer = 0x0] [url = about:blank]
23:32:59 INFO - GECKO(907) | --DOMWINDOW == 8 (0x117575000) [pid = 909] [serial = 261] [outer = 0x0] [url = about:blank]
23:32:59 INFO - GECKO(907) | --DOCSHELL 0x1175b2800 == 1 [pid = 909] [id = {1070b821-abdd-4449-beec-b41b00da7c5f}] [url = about:blank]
23:32:59 INFO - GECKO(907) | --DOMWINDOW == 7 (0x110ef1200) [pid = 909] [serial = 264] [outer = 0x0] [url = data:text/html;charset=utf-8,<!DOCTYPE html><html><head><title>test_open_when_open_new_window_by_pref<%2Ftitle><%2Fhead><body><%2Fbody><%2Fhtml>]
23:32:59 INFO - GECKO(907) | --DOMWINDOW == 6 (0x110ef2a60) [pid = 909] [serial = 260] [outer = 0x0] [url = data:text/html;charset=utf-8,<!DOCTYPE html><html><head><title>test_open_with_dialog<%2Ftitle><%2Fhead><body><%2Fbody><%2Fhtml>]
23:33:00 INFO - GECKO(907) | [Parent 907, Main Thread] WARNING: Failed to toggle fullscreen state of the widget: file /builds/worker/workspace/build/src/dom/base/nsGlobalWindowOuter.cpp, line 4460
23:33:00 INFO - GECKO(907) | Assertion failure: false (MOZ_ASSERT_UNREACHABLE: Failed to exit fullscreen?), at /builds/worker/workspace/build/src/dom/base/nsGlobalWindowOuter.cpp:4467
23:33:00 INFO - GECKO(907) | #01: nsWebShellWindow::FullscreenChanged(bool) [xpfe/appshell/nsWebShellWindow.cpp:404]
23:33:00 INFO -
23:33:00 INFO - GECKO(907) | #02: nsWebShellWindow::WidgetListenerDelegate::FullscreenChanged(bool) [xpfe/appshell/nsWebShellWindow.cpp:785]
23:33:00 INFO -
23:33:00 INFO - GECKO(907) | #03: AppKit + 0x3640f4

Priority: -- → P3

Reading the platform breakdown, it's mostly happened on macos. Also due to the below stack in the log, it seems more a widget layer issue.

3:33:00 INFO - GECKO(907) | #01: nsWebShellWindow::FullscreenChanged(bool) [xpfe/appshell/nsWebShellWindow.cpp:404]
23:33:00 INFO -
23:33:00 INFO - GECKO(907) | #02: nsWebShellWindow::WidgetListenerDelegate::FullscreenChanged(bool) [xpfe/appshell/nsWebShellWindow.cpp:785]
23:33:00 INFO -
23:33:00 INFO - GECKO(907) | #03: AppKit + 0x3640f4

Component: DOM: Core & HTML → Widget: Cocoa
Priority: P3 → --
Blocks: 1215369

Xidorn, this has 131 failures in the last 30 days and there was no activity here since 8 days ago. https://treeherder.mozilla.org/intermittent-failures.html#/bugdetails?startday=2019-08-25&endday=2019-09-24&tree=trunk&bug=1567355
Since Stephen and Markus are either OOO or on PTO passing the ni to you.
Decided to make a disable patch for the test that is frequently asserting on. Could you redirect this to someone to take a look and maybe fix the test? If not there's this disable we can make use of.
Recent failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=268035507&repo=autoland

Flags: needinfo?(xidorn+moz)

I'll have a look this weekend. I don't think this is super important, so I'm fine disabling it for now if it's too annoying.

Pushed by csabou@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/24946cc70b2e
Disable browser_fullscreen-window-open.js on mac debug cause of frequently assertion failures. r=gbrown
Flags: needinfo?(xidorn+moz)
Keywords: leave-open
Flags: needinfo?(xidorn+moz)
Whiteboard: [stockwell needswork:owner] → [stockwell disabled]

So I did some investigation into this issue, and I can indeed reproduce it locally.

I think what happens is that, we ask the window to exit fullscreen, and windowWillExitFullScreen: is invoked by the framework to indicate that we are going to exit fullscreen, which updates the fullscreen mode state via nsCocoaWindow::UpdateFullscreenState. However, then system finds it fails to exit fullscreen, so it invokes windowDidFailToExitFullScreen: which calls the update method as well and revert the fullscreen mode state. This triggers the assertion down the stack.

It is not clear to me why the system would determine that we fail to exit fullscreen, but I think what it means is that failing to exit fullscreen can happen, so the assumption that it should never happen is just wrong. We should probably just remove the assertion at least on mac.

Assignee: nobody → xidorn+moz
Flags: needinfo?(xidorn+moz)
Keywords: leave-open
Pushed by mozilla@upsuper.org:
https://hg.mozilla.org/integration/autoland/rev/b7f164bc7e79
Admit that exiting fullscreen can fail on macOS. r=smaug
Status: NEW → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla71

Please request Beta approval on this when you get a chance.

== Change summary for alert #23318 (as of Wed, 02 Oct 2019 06:28:25 GMT) ==

Improvements:

26% raptor-tp6-paypal-firefox loadtime macosx1014-64-shippable opt 498.79 -> 371.54
24% raptor-tp6-paypal-firefox loadtime macosx1014-64-shippable opt 487.96 -> 369.29
16% raptor-tp6-paypal-firefox macosx1014-64-shippable opt 373.37 -> 314.29
16% raptor-tp6-paypal-firefox macosx1014-64-shippable opt 374.02 -> 316.00
14% raptor-tp6-imdb-firefox loadtime macosx1014-64-shippable opt 1,221.27 -> 1,053.62
12% raptor-tp6-paypal-firefox fcp macosx1014-64-shippable opt 348.38 -> 305.33
12% raptor-tp6-paypal-firefox fcp macosx1014-64-shippable opt 348.50 -> 307.08
11% raptor-tp6-imdb-firefox macosx1014-64-shippable opt 642.89 -> 569.15
11% raptor-tp6-amazon-firefox loadtime macosx1014-64-shippable opt 926.02 -> 823.08
10% raptor-tp6-imdb-firefox fcp macosx1014-64-shippable opt 535.38 -> 479.75
10% raptor-tp6-amazon-firefox macosx1014-64-shippable opt 595.54 -> 537.67
10% raptor-tp6-amazon-firefox fcp macosx1014-64-shippable opt 489.29 -> 441.96
9% raptor-tp6-paypal-firefox macosx1014-64-shippable opt 356.06 -> 325.75

For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=23318

(In reply to Marian Raiciof [:marauder] from comment #22)

== Change summary for alert #23318 (as of Wed, 02 Oct 2019 06:28:25 GMT) ==

Improvements:

26% raptor-tp6-paypal-firefox loadtime macosx1014-64-shippable opt 498.79 -> 371.54
24% raptor-tp6-paypal-firefox loadtime macosx1014-64-shippable opt 487.96 -> 369.29
16% raptor-tp6-paypal-firefox macosx1014-64-shippable opt 373.37 -> 314.29
16% raptor-tp6-paypal-firefox macosx1014-64-shippable opt 374.02 -> 316.00
14% raptor-tp6-imdb-firefox loadtime macosx1014-64-shippable opt 1,221.27 -> 1,053.62
12% raptor-tp6-paypal-firefox fcp macosx1014-64-shippable opt 348.38 -> 305.33
12% raptor-tp6-paypal-firefox fcp macosx1014-64-shippable opt 348.50 -> 307.08
11% raptor-tp6-imdb-firefox macosx1014-64-shippable opt 642.89 -> 569.15
11% raptor-tp6-amazon-firefox loadtime macosx1014-64-shippable opt 926.02 -> 823.08
10% raptor-tp6-imdb-firefox fcp macosx1014-64-shippable opt 535.38 -> 479.75
10% raptor-tp6-amazon-firefox macosx1014-64-shippable opt 595.54 -> 537.67
10% raptor-tp6-amazon-firefox fcp macosx1014-64-shippable opt 489.29 -> 441.96
9% raptor-tp6-paypal-firefox macosx1014-64-shippable opt 356.06 -> 325.75

For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=23318

I don't think this is possible. It must be from a different commit.

Comment on attachment 9097080 [details]
Bug 1567355 - Admit that exiting fullscreen can fail on macOS. r?smaug

Beta/Release Uplift Approval Request

  • User impact if declined: No impact to user, but helps reducing intermittent test failures.
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Just changed a branch which is very unlikely to happen in practice.
  • String changes made/needed: n/a
Flags: needinfo?(xidorn+moz)
Attachment #9097080 - Flags: approval-mozilla-beta?
Attachment #9094800 - Flags: approval-mozilla-beta?

Comment on attachment 9097080 [details]
Bug 1567355 - Admit that exiting fullscreen can fail on macOS. r?smaug

Fix for annoying intermittent, OK for beta 13 uplift.

Attachment #9097080 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attachment #9094800 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
You need to log in before you can comment on or make changes to this bug.