Closed Bug 1568405 Opened 5 years ago Closed 5 years ago

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)

defect

Tracking

()

RESOLVED DUPLICATE of bug 1569475

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

Daniel recently added this assertion. Probably he's interested on this?

Flags: needinfo?(dholbert)

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!

Depends on: 1566991
See Also: → 1555457

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

Depends on: 1568673

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.

Assignee: nobody → dholbert
Status: NEW → RESOLVED
Closed: 5 years ago
Flags: needinfo?(dholbert)
Resolution: --- → FIXED

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.

Depends on: 1569475
Flags: needinfo?(dholbert)

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.

(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.

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.

Per conversation with Daniel Holbert, it seems clear that this has been fixed by landing Bug 1569475.

Status: REOPENED → RESOLVED
Closed: 5 years ago5 years ago
Resolution: --- → DUPLICATE
Attachment #9083171 - Attachment is obsolete: true

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.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: