Intermittent GECKO(1706) | Assertion failure: *newZoom > CSSToScreenScale(0.0f) (zoom factor must be positive), at /builds/worker/workspace/build/src/layout/base/MobileViewportManager.cpp:401
Categories
(Core :: Layout, defect, P5)
Tracking
()
People
(Reporter: intermittent-bug-filer, Assigned: dholbert)
References
Details
(Keywords: intermittent-failure, regression)
Attachments
(1 obsolete file)
Filed by: nbeleuzu [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=258013266&repo=autoland
Full log: https://queue.taskcluster.net/v1/task/ZsxSImLWRrywLvKU3P3l1w/runs/0/artifacts/public/logs/live_backing.log
[task 2019-07-24T02:03:11.897Z] 02:03:11 INFO - TEST-PASS | devtools/client/responsive.html/test/browser/browser_viewport_resizing_fixed_width.js | Meta Viewport ON return to initial size should have expected layout height. -
[task 2019-07-24T02:03:11.897Z] 02:03:11 INFO - Closing responsive design mode
[task 2019-07-24T02:03:11.897Z] 02:03:11 INFO - GECKO(1706) | [Parent 1706, Main Thread] WARNING: '!CanHandleWith(sPresContext)', file /builds/worker/workspace/build/src/dom/events/IMEStateManager.cpp, line 1152
[task 2019-07-24T02:03:11.900Z] 02:03:11 INFO - GECKO(1706) | Assertion failure: *newZoom > CSSToScreenScale(0.0f) (zoom factor must be positive), at /builds/worker/workspace/build/src/layout/base/MobileViewportManager.cpp:401
[task 2019-07-24T02:03:33.586Z] 02:03:33 INFO - GECKO(1706) | #01: MobileViewportManager::RefreshViewportSize(bool) [layout/base/MobileViewportManager.cpp:547]
[task 2019-07-24T02:03:33.586Z] 02:03:33 INFO -
[task 2019-07-24T02:03:33.586Z] 02:03:33 INFO - GECKO(1706) | #02: mozilla::PresShell::UpdateViewportOverridden(bool) [layout/base/PresShell.cpp:10593]
[task 2019-07-24T02:03:33.586Z] 02:03:33 INFO -
[task 2019-07-24T02:03:33.587Z] 02:03:33 INFO - GECKO(1706) | #03: non-virtual thunk to nsDocShell::SetMetaViewportOverride(nsIDocShell::MetaViewportOverride) [docshell/base/nsDocShell.cpp:0]
[task 2019-07-24T02:03:33.587Z] 02:03:33 INFO -
[task 2019-07-24T02:03:33.587Z] 02:03:33 INFO - GECKO(1706) | --DOMWINDOW == 14 (0x126254b60) [pid = 1709] [serial = 190] [outer = 0x0] [url = data:text/html;charset=utf-8,<body id="body"><input id="input" type="text"/><p>text</body>]
[task 2019-07-24T02:03:33.587Z] 02:03:33 INFO - GECKO(1706) | --DOMWINDOW == 13 (0x126254980) [pid = 1709] [serial = 187] [outer = 0x0] [url = about:blank]
[task 2019-07-24T02:03:33.587Z] 02:03:33 INFO - GECKO(1706) | --DOMWINDOW == 12 (0x1262547a0) [pid = 1709] [serial = 185] [outer = 0x0] [url = about:blank]
[task 2019-07-24T02:03:33.587Z] 02:03:33 INFO - GECKO(1706) | --DOMWINDOW == 8 (0x11181d800) [pid = 1712] [serial = 105] [outer = 0x0] [url = about:blank]
[task 2019-07-24T02:03:33.587Z] 02:03:33 INFO - GECKO(1706) | --DOMWINDOW == 7 (0x11182a400) [pid = 1712] [serial = 107] [outer = 0x0] [url = about:blank]
[task 2019-07-24T02:03:33.587Z] 02:03:33 INFO - GECKO(1706) | --DOMWINDOW == 6 (0x11182b400) [pid = 1712] [serial = 109] [outer = 0x0] [url = about:blank]
[task 2019-07-24T02:03:33.588Z] 02:03:33 INFO - GECKO(1706) | --DOCSHELL 0x116471000 == 1 [pid = 1712] [id = {4b8cc1de-8d1e-0b42-ad09-593787dd4485}] [url = about:blank]
[task 2019-07-24T02:03:33.588Z] 02:03:33 INFO - GECKO(1706) | --DOMWINDOW == 5 (0x11f54bb60) [pid = 1712] [serial = 112] [outer = 0x0] [url = about:blank]
[task 2019-07-24T02:03:33.588Z] 02:03:33 INFO - GECKO(1706) | --DOMWINDOW == 4 (0x11f54b5c0) [pid = 1712] [serial = 110] [outer = 0x0] [url = about:blank]
[task 2019-07-24T02:03:33.588Z] 02:03:33 INFO - GECKO(1706) | [Parent 1706, Main Thread] WARNING: IPC message discarded: actor cannot send: file /builds/worker/workspace/build/src/ipc/glue/ProtocolUtils.cpp, line 568
[task 2019-07-24T02:03:33.588Z] 02:03:33 INFO - GECKO(1706) | [Parent 1706, Main Thread] WARNING: IPC message discarded: actor cannot send: file /builds/worker/workspace/build/src/ipc/glue/ProtocolUtils.cpp, line 568
[task 2019-07-24T02:03:33.588Z] 02:03:33 INFO - GECKO(1706) | JavaScript error: resource://gre/modules/BrowserElementParent.jsm, line 214: NS_ERROR_ILLEGAL_VALUE: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIXPCComponents_Utils.isDeadWrapper]
[task 2019-07-24T02:03:33.588Z] 02:03:33 INFO - GECKO(1706) | JavaScript error: resource://gre/modules/BrowserElementParent.jsm, line 214: NS_ERROR_ILLEGAL_VALUE: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIXPCComponents_Utils.isDeadWrapper]
[task 2019-07-24T02:03:33.588Z] 02:03:33 INFO - GECKO(1706) | JavaScript error: resource://gre/modules/BrowserElementParent.jsm, line 214: NS_ERROR_ILLEGAL_VALUE: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIXPCComponents_Utils.isDeadWrapper]
[task 2019-07-24T02:03:33.589Z] 02:03:33 INFO - GECKO(1706) | JavaScript error: resource://gre/modules/BrowserElementParent.jsm, line 214: NS_ERROR_ILLEGAL_VALUE: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIXPCComponents_Utils.isDeadWrapper]
[task 2019-07-24T02:03:33.589Z] 02:03:33 INFO - GECKO(1706) | JavaScript error: resource://gre/modules/BrowserElementParent.jsm, line 214: NS_ERROR_ILLEGAL_VALUE: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIXPCComponents_Utils.isDeadWrapper]
[task 2019-07-24T02:03:33.589Z] 02:03:33 INFO - GECKO(1706) | JavaScript error: resource://gre/modules/BrowserElementParent.jsm, line 214: NS_ERROR_ILLEGAL_VALUE: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIXPCComponents_Utils.isDeadWrapper]
[task 2019-07-24T02:03:33.589Z] 02:03:33 INFO - GECKO(1706) | JavaScript error: resource://gre/modules/BrowserElementParent.jsm, line 214: NS_ERROR_ILLEGAL_VALUE: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIXPCComponents_Utils.isDeadWrapper]
[task 2019-07-24T02:03:33.589Z] 02:03:33 INFO - GECKO(1706) | JavaScript error: resource://gre/modules/BrowserElementParent.jsm, line 214: NS_ERROR_ILLEGAL_VALUE: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIXPCComponents_Utils.isDeadWrapper]
[task 2019-07-24T02:03:33.589Z] 02:03:33 INFO - GECKO(1706) | JavaScript error: resource://gre/modules/BrowserElementParent.jsm, line 214: NS_ERROR_ILLEGAL_VALUE: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIXPCComponents_Utils.isDeadWrapper]
[task 2019-07-24T02:03:33.589Z] 02:03:33 INFO - GECKO(1706) | JavaScript error: resource://gre/modules/BrowserElementParent.jsm, line 214: NS_ERROR_ILLEGAL_VALUE: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIXPCComponents_Utils.isDeadWrapper]
[task 2019-07-24T02:03:33.589Z] 02:03:33 INFO - GECKO(1706) | JavaScript error: resource://gre/modules/BrowserElementParent.jsm, line 214: NS_ERROR_ILLEGAL_VALUE: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIXPCComponents_Utils.isDeadWrapper]
[task 2019-07-24T02:03:33.590Z] 02:03:33 INFO - GECKO(1706) | JavaScript error: resource://gre/modules/BrowserElementParent.jsm, line 214: NS_ERROR_ILLEGAL_VALUE: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIXPCComponents_Utils.isDeadWrapper]
[task 2019-07-24T02:03:33.590Z] 02:03:33 INFO - TEST-INFO | started process screencapture
[task 2019-07-24T02:03:33.733Z] 02:03:33 INFO - TEST-INFO | screencapture: exit 0
Comment 1•5 years ago
|
||
Daniel recently added this assertion. Probably he's interested on this?
Assignee | ||
Comment 2•5 years ago
|
||
I'm adding a dependency on bug 1566991, though this likely isn't a new issue -- it's almost certainly the same core issue as bug 1555457 (and its dupe bug 1566824), and we're now just tripping a different assertion (slightly earlier).
i.e. if we didn't have the new fatal assertion that's failing here, this same testrun inevitably would've just failed the fatal assertion in bug 1555457 a little bit later on.
Anyway -- I'll take a look and see if I can learn anything new here!
Assignee | ||
Comment 3•5 years ago
•
|
||
The assertion that's failing here is this one, indicating that *newZoom
is zero or negative in the if (newZoom) {
clause:
https://hg.mozilla.org/integration/autoland/annotate/fd3a24e14d5419476b93fc3ca63d0b119108aae4/layout/base/MobileViewportManager.cpp#l400-401
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 5•5 years ago
|
||
I suspect this is fixed (either avoided entirely, or avoided due to asserting somewhere else first) via bug 1568673.
Please reopen if we hit this again, though.
Comment 6•5 years ago
|
||
Assignee | ||
Comment 7•5 years ago
|
||
Thanks. That log has this backtrace from the assertion:
[task 2019-07-29T20:02:38.172Z] 20:02:38 INFO - TEST-PASS | devtools/client/responsive.html/test/browser/browser_viewport_resizing_minimum_scale.js | Meta Viewport ON return to initial size should have expected layout height. -
[task 2019-07-29T20:02:38.172Z] 20:02:38 INFO - Closing responsive design mode
[task 2019-07-29T20:02:38.241Z] 20:02:38 INFO - GECKO(1700) | [Parent 1700, Main Thread] WARNING: '!CanHandleWith(sPresContext)', file /builds/worker/workspace/build/src/dom/events/IMEStateManager.cpp, line 1152
[task 2019-07-29T20:02:38.311Z] 20:02:38 INFO - GECKO(1700) | Assertion failure: zoom > CSSToScreenScale(0.0f) (zoom factor must be positive), at /builds/worker/workspace/build/src/layout/base/MobileViewportManager.cpp:191
[task 2019-07-29T20:02:38.311Z] 20:02:38 INFO - GECKO(1700) | #01: MobileViewportManager::UpdateResolution(nsViewportInfo const&, mozilla::gfx::IntSizeTyped<mozilla::ScreenPixel> const&, mozilla::gfx::SizeTyped<mozilla::CSSPixel, float> const&, mozilla::Maybe<float> const&, MobileViewportManager::UpdateType) [gfx/2d/ScaleFactor.h:34]
[task 2019-07-29T20:02:38.311Z] 20:02:38 INFO -
[task 2019-07-29T20:02:38.311Z] 20:02:38 INFO - GECKO(1700) | #02: MobileViewportManager::RefreshViewportSize(bool) [layout/base/MobileViewportManager.cpp:558]
[task 2019-07-29T20:02:38.311Z] 20:02:38 INFO -
[task 2019-07-29T20:02:38.312Z] 20:02:38 INFO - GECKO(1700) | #03: mozilla::PresShell::UpdateViewportOverridden(bool) [layout/base/PresShell.cpp:10595]
[task 2019-07-29T20:02:38.312Z] 20:02:38 INFO -
[task 2019-07-29T20:02:38.312Z] 20:02:38 INFO - GECKO(1700) | #04: non-virtual thunk to nsDocShell::SetMetaViewportOverride(nsIDocShell::MetaViewportOverride) [docshell/base/nsDocShell.cpp:0]
That's the same backtrace that I'm investigating in bug 1569475, so that'll probably address this issue.
Comment hidden (Intermittent Failures Robot) |
Comment 9•5 years ago
•
|
||
Since the assert that's being hit is in MVM::ClampZoom, all the code paths that reach that function are passing in a nsViewportInfo that is returned from Document::GetViewportInfo. That's the next place to add asserts to check the (outgoing) zoom levels.
Comment 10•5 years ago
|
||
(In reply to Brad Werth [:bradwerth] from comment #9)
Since the assert that's being hit is in MVM::ClampZoom, all the code paths that reach that function are passing in a nsViewportInfo that is returned from Document::GetViewportInfo. That's the next place to add asserts to check the (outgoing) zoom levels.
Huh, looking at this code, I really can't see how min scale could become negative. I'll still add some asserts in a proposed patch.
Comment 11•5 years ago
|
||
I'm guessing the problem is that ComputeExtendZoom has the possibility of returning an enum with value -1 at https://searchfox.org/mozilla-central/source/dom/base/Document.cpp#9707. That's worrying that a float lambda is sometimes returning an enum cast to a float, which is very much an arbitrary value. My proposed patch will also attempt to make this function better match the spec behavior at https://drafts.csswg.org/css-device-adapt/#resolve-extend-to-zoom.
Comment 12•5 years ago
|
||
Comment 13•5 years ago
|
||
Per conversation with Daniel Holbert, it seems clear that this has been fixed by landing Bug 1569475.
Updated•5 years ago
|
Assignee | ||
Comment 14•5 years ago
|
||
Yup, thanks Brad!
In particular, https://treeherder.mozilla.org/intermittent-failures.html#/bugdetails?bug=1568405&startday=2019-07-29&endday=2019-08-04&tree=all shows that we stopped getting new reports on Aug 1, which is the day that bug 1569475 was merged to central.
Description
•