Intermittent browser_fullscreen-window-open.js,browser_fxa_migrate.js | application crashed [@ nsGlobalWindow::FinishFullscreenChange(bool)] (Assertion failure: false (MOZ_ASSERT_UNREACHABLE: Failed to exit fullscreen?), at nsGlobalWindow.cpp:6173)

VERIFIED FIXED in Firefox 41

Status

()

defect
VERIFIED FIXED
4 years ago
4 months ago

People

(Reporter: RyanVM, Assigned: xidorn)

Tracking

({assertion, crash, intermittent-failure})

Trunk
mozilla42
x86_64
macOS
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox40 unaffected, firefox41 fixed, firefox42 verified, firefox-esr38 unaffected)

Details

Attachments

(1 attachment, 1 obsolete attachment)

11:16:36 INFO - 432 INFO TEST-OK | browser/base/content/test/general/browser_fullscreen-window-open.js | took 20552ms
11:16:36 INFO - ++DOCSHELL 0x130017000 == 54 [pid = 5713] [id = 660]
11:16:36 INFO - ++DOMWINDOW == 195 (0x11e72a400) [pid = 5713] [serial = 1795] [outer = 0x0]
11:16:36 INFO - ++DOMWINDOW == 196 (0x12176d800) [pid = 5713] [serial = 1796] [outer = 0x11e72a400]
11:16:36 INFO - [5713] WARNING: NS_ENSURE_TRUE(mMutable) failed: file /builds/slave/m-in-m64-d-0000000000000000000/build/src/netwerk/base/nsSimpleURI.cpp, line 264
11:16:36 INFO - [5713] WARNING: NS_ENSURE_SUCCESS(EnsureScriptEnvironment(), nullptr) failed with result 0x80040111: file /builds/slave/m-in-m64-d-0000000000000000000/build/src/docshell/base/nsDocShell.cpp, line 4605
11:16:38 INFO - [5713] WARNING: Failed to toggle fullscreen state of the widget: file /builds/slave/m-in-m64-d-0000000000000000000/build/src/dom/base/nsGlobalWindow.cpp, line 6166
11:16:38 INFO - Assertion failure: false (MOZ_ASSERT_UNREACHABLE: Failed to exit fullscreen?), at /builds/slave/m-in-m64-d-0000000000000000000/build/src/dom/base/nsGlobalWindow.cpp:6173
11:16:38 INFO - #01: AppKit + 0x2cd0bc
11:16:38 INFO - #02: libxpc.dylib + 0x9bfc
11:16:38 INFO - #03: libxpc.dylib + 0x9b88
11:16:38 INFO - #04: libdispatch.dylib + 0x1c13
11:16:38 INFO - #05: libdispatch.dylib + 0xdcbf
11:16:38 INFO - #06: CoreFoundation + 0xb5c79
11:16:38 INFO - #07: CoreFoundation + 0x7230f
11:16:38 INFO - #08: CoreFoundation + 0x71858
11:16:38 INFO - #09: HIToolbox + 0x2eaef
11:16:38 INFO - #10: HIToolbox + 0x2e76e
11:16:38 INFO - #11: HIToolbox + 0x2e6ab
11:16:38 INFO - #12: AppKit + 0x23f81
11:16:38 INFO - #13: AppKit + 0x23730
11:16:38 INFO - #14: -[GeckoNSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] [widget/cocoa/nsAppShell.mm:120]
11:16:38 INFO - #15: AppKit + 0x17593
11:16:38 INFO - #16: nsAppShell::Run() [xpcom/glue/nsCOMPtr.h:512]
11:16:38 INFO - #17: nsAppStartup::Run() [toolkit/components/startup/nsAppStartup.cpp:280]
11:16:38 INFO - #18: XREMain::XRE_mainRun() [toolkit/xre/nsAppRunner.cpp:4257]
11:16:38 INFO - #19: XREMain::XRE_main(int, char**, nsXREAppData const*) [toolkit/xre/nsAppRunner.cpp:4341]
11:16:38 INFO - #20: XRE_main [toolkit/xre/nsAppRunner.cpp:4430]
11:16:38 INFO - #21: main [browser/app/nsBrowserApp.cpp:214]
11:16:38 INFO - TEST-INFO | Main app process: killed by SIGHUP
11:16:38 WARNING - TEST-UNEXPECTED-FAIL | ShutdownLeaks | process() called before end of test suite
11:16:38 INFO - 433 INFO checking window state
11:16:38 WARNING - TEST-UNEXPECTED-FAIL | browser/base/content/test/general/browser_fullscreen-window-open.js | application terminated with exit code 1
11:16:38 INFO - runtests.py | Application ran for: 0:08:28.152550
11:16:38 INFO - zombiecheck | Reading PID log: /var/folders/tf/7nrwnv995j36_qb9gdbgjc7m00000w/T/tmp0rAL95pidlog
11:17:05 INFO - mozcrash Saved minidump as /builds/slave/test/build/blobber_upload_dir/D9AF1E6E-15A2-455F-841B-A858EB0ABDFD.dmp
11:17:05 INFO - mozcrash Saved app info as /builds/slave/test/build/blobber_upload_dir/D9AF1E6E-15A2-455F-841B-A858EB0ABDFD.extra
11:17:06 WARNING - PROCESS-CRASH | browser/base/content/test/general/browser_fullscreen-window-open.js | application crashed [@ nsGlobalWindow::FinishFullscreenChange(bool)]
11:17:06 INFO - Crash dump filename: /var/folders/tf/7nrwnv995j36_qb9gdbgjc7m00000w/T/tmpehPEmG.mozrunner/minidumps/D9AF1E6E-15A2-455F-841B-A858EB0ABDFD.dmp
11:17:06 INFO - Operating system: Mac OS X
11:17:06 INFO - 10.10.2 14C109
11:17:06 INFO - CPU: amd64
11:17:06 INFO - family 6 model 42 stepping 7
11:17:06 INFO - 8 CPUs
11:17:06 INFO - Crash reason: EXC_BAD_ACCESS / KERN_INVALID_ADDRESS
11:17:06 INFO - Crash address: 0x0
11:17:06 INFO - Thread 0 (crashed)
11:17:06 INFO - 0 XUL!nsGlobalWindow::FinishFullscreenChange(bool) [nsGlobalWindow.cpp:e986f0bc71c5 : 6173 + 0x0]
11:17:06 INFO - rbx = 0x00007fff73bbdc50 r12 = 0x00007fff8707a0c0
11:17:06 INFO - r13 = 0x0000000121a420b0 r14 = 0x0000000000000001
11:17:06 INFO - r15 = 0x00007fff73bbc070 rip = 0x00000001022767b8
11:17:06 INFO - rsp = 0x00007fff5fbfceb0 rbp = 0x00007fff5fbfcf30
11:17:06 INFO - Found by: given as instruction pointer in context
11:17:06 INFO - 1 XUL!nsWebShellWindow::FullscreenChanged(bool) [nsWebShellWindow.cpp:e986f0bc71c5 : 369 + 0xc]
11:17:06 INFO - rbx = 0x000000011e571c20 r12 = 0x00007fff8707a0c0
11:17:06 INFO - r13 = 0x0000000121a420b0 r14 = 0x0000000000000001
11:17:06 INFO - r15 = 0x00007fff73bbc070 rip = 0x00000001040c5680
11:17:06 INFO - rsp = 0x00007fff5fbfcf40 rbp = 0x00007fff5fbfcf60
11:17:06 INFO - Found by: call frame info
11:17:06 INFO - 2 AppKit + 0x2cd0bb
11:17:06 INFO - rbx = 0x000000010b6d9e90 r12 = 0x00007fff8707a0c0
11:17:06 INFO - r13 = 0x0000000121a420b0 r14 = 0x000000011cdef900
11:17:06 INFO - r15 = 0x00007fff73bbc070 rip = 0x00007fff8633a0bc
11:17:06 INFO - rsp = 0x00007fff5fbfcf70 rbp = 0x00007fff5fbfd1a0
11:17:06 INFO - Found by: call frame info
11:17:06 INFO - 3 libmozglue.dylib!arena_malloc [_string.h : 83 + 0xf]
11:17:06 INFO - rip = 0x00000001000151a0 rsp = 0x00007fff5fbfcfc0
11:17:06 INFO - rbp = 0x00007fff5fbfd1a0
11:17:06 INFO - Found by: stack scanning
11:17:06 INFO - 4 libxpc.dylib + 0x9bfb
11:17:06 INFO - rbx = 0x00000001322bbb40 r12 = 0x0000000126dfe6d0
11:17:06 INFO - r13 = 0x00007fff5fbfd230 r14 = 0x000000011cdef9b0
11:17:06 INFO - r15 = 0x0000000113c717a0 rip = 0x00007fff907d4bfc
11:17:06 INFO - rsp = 0x00007fff5fbfd1b0 rbp = 0x00007fff5fbfd1b0
11:17:06 INFO - Found by: call frame info
11:17:06 INFO - 5 libxpc.dylib + 0x9b87
11:17:06 INFO - rip = 0x00007fff907d4b88 rsp = 0x00007fff5fbfd1c0
11:17:06 INFO - rbp = 0x00007fff5fbfd1e0
11:17:06 INFO - Found by: stack scanning
11:17:06 INFO - 6 libdispatch.dylib + 0x1c12
11:17:06 INFO - rip = 0x00007fff906fec13 rsp = 0x00007fff5fbfd1f0
11:17:06 INFO - rbp = 0x00007fff5fbfd200
11:17:06 INFO - Found by: stack scanning
11:17:06 INFO - 7 libdispatch.dylib + 0xdcbe
11:17:06 INFO - rip = 0x00007fff9070acbf rsp = 0x00007fff5fbfd210
11:17:06 INFO - rbp = 0x00007fff5fbfd2a0
11:17:06 INFO - Found by: stack scanning
Flags: needinfo?(quanxunzhen)
Summary: Intermittent browser_fullscreen-window-open.js | application crashed [@ nsGlobalWindow::FinishFullscreenChange(bool)] (Assertion failure: false (MOZ_ASSERT_UNREACHABLE: Failed to exit fullscreen?), at nsGlobalWindow.cpp:6173) → Intermittent browser_fullscreen-window-open.js,browser_fxa_migrate.js | application crashed [@ nsGlobalWindow::FinishFullscreenChange(bool)] (Assertion failure: false (MOZ_ASSERT_UNREACHABLE: Failed to exit fullscreen?), at nsGlobalWindow.cpp:6173)
See Also: → 1183019
Actually I guess we can just remove the assertion here... It seems to me failing to exit fullscreen isn't something really bad which could break our code... I put an assertion there simply because I didn't believe it could happen, and I don't have idea what should we do in that case.
Flags: needinfo?(quanxunzhen)
Posted patch patch (obsolete) — Splinter Review
See explanation in comment 81.
Assignee: nobody → quanxunzhen
Attachment #8640221 - Flags: review?(bugs)
Comment on attachment 8640221 [details] [diff] [review]
patch

Is it possible that we've changed mFullScreen already? I mean, is it possible that
aIsFullscreen has the right value, but it just doesn't map to mFullScreen anymore, because mFullScreen has changed?

Though, this seems to be OSX only.
Why we on other platforms do something like 
http://mxr.mozilla.org/mozilla-central/source/widget/gtk/nsWindow.cpp?rev=a12d1b2e6e17&mark=3181-3181#3177

But on OSX
http://mxr.mozilla.org/mozilla-central/source/widget/cocoa/nsCocoaWindow.mm?rev=cd6ef02746fe&mark=1362-1363#1354
Attachment #8640221 - Flags: review?(bugs) → review-
(In reply to Olli Pettay [:smaug] from comment #91)
> Comment on attachment 8640221 [details] [diff] [review]
> patch
> 
> Is it possible that we've changed mFullScreen already? I mean, is it
> possible that
> aIsFullscreen has the right value, but it just doesn't map to mFullScreen
> anymore, because mFullScreen has changed?
> 
> Though, this seems to be OSX only.
> Why we on other platforms do something like 
> http://mxr.mozilla.org/mozilla-central/source/widget/gtk/nsWindow.
> cpp?rev=a12d1b2e6e17&mark=3181-3181#3177
> 
> But on OSX
> http://mxr.mozilla.org/mozilla-central/source/widget/cocoa/nsCocoaWindow.
> mm?rev=cd6ef02746fe&mark=1362-1363#1354

Ahh... Good catch! It seems you're probably right...

https://treeherder.mozilla.org/#/jobs?repo=try&revision=6589419cb681
Posted patch patchSplinter Review
Attachment #8640221 - Attachment is obsolete: true
Attachment #8641496 - Flags: review?(smichaud)
Comment on attachment 8641496 [details] [diff] [review]
patch

Seems worth a try.
Attachment #8641496 - Flags: review?(smichaud) → review+
url:        https://hg.mozilla.org/integration/mozilla-inbound/rev/ffac74e3366ce4d0af763ebf4cc8235e3e06879b
changeset:  ffac74e3366ce4d0af763ebf4cc8235e3e06879b
user:       Xidorn Quan <quanxunzhen@gmail.com>
date:       Sat Aug 01 10:49:19 2015 +1000
description:
Bug 1173930 - Not invoke FullscreenChange callback on OS X if state is not changed. r=smichaud
https://hg.mozilla.org/mozilla-central/rev/ffac74e3366c
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
Please nominate this for Aurora approval when you get a chance.
Flags: needinfo?(quanxunzhen)
Comment on attachment 8641496 [details] [diff] [review]
patch

Approval Request Comment
[Feature/regressing bug #]: bug 1161802 added this assertion
[User impact if declined]: little impact if any, but this intermittent could be annoying for sheriffs
[Describe test coverage new/current, TreeHerder]: fix this intermittent, no further test
[Risks and why]: no risk, as this patch just changes the logic to what has been used in other platforms
[String/UUID change made/needed]: n/a
Flags: needinfo?(quanxunzhen)
Attachment #8641496 - Flags: approval-mozilla-aurora?
Comment on attachment 8641496 [details] [diff] [review]
patch

Let's uplift to Aurora to see if the intermittent failure is gone. Also the patch seems simple enough.
Attachment #8641496 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Ryan, please mark this as verified if the intermittent failure has gone away. Thanks!
Flags: needinfo?(ryanvm)
No instances since the fix landed. Good enough for me.
Status: RESOLVED → VERIFIED
Flags: needinfo?(ryanvm)
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.