Closed Bug 1423017 Opened 2 years ago Closed Last year

Add telemetry to assess how widespread of a problem bug 1423013 ("overflowing content out of reach") is

Categories

(Core :: Layout, defect, P3)

All
Android
defect

Tracking

()

RESOLVED FIXED
mozilla62
Tracking Status
firefox59 --- wontfix
firefox60 --- wontfix
firefox61 --- wontfix
firefox62 --- fixed

People

(Reporter: botond, Assigned: xidorn)

References

Details

Attachments

(3 files, 1 obsolete file)

To decide how to resolve bug 1423013, which concerns content that overflows the initial containing block being "out of reach" on mobile websites that use overflow:hidden, it would be helpful to have telemetry to assess how widespread the issue is.
Priority: -- → P1
Priority: P1 → P3
Assignee: nobody → xidorn+moz
Comment on attachment 8981296 [details]
Bug 1423017 - Add a telemetry for out-of-reach overflowing on root.

We only care about the top level... I'll update.
Attachment #8981296 - Flags: review?(mats)
Comment on attachment 8981296 [details]
Bug 1423017 - Add a telemetry for out-of-reach overflowing on root.

https://reviewboard.mozilla.org/r/247402/#review253428

Thanks for working on this, Xidorn!

Note, though, that this probe will not discriminate between pages like the one in bug 1423013 comment 3 (where Firefox's behaviour matches Chrome's, and only differs from Safari's), and pages where our behaviour is different from Chrome's as well.

We may want a more specific probe that only fires for pages of the second kind, as those are the kind of pages that users are complaining about.
Comment on attachment 8981296 [details]
Bug 1423017 - Add a telemetry for out-of-reach overflowing on root.

Sounds like it's better to use a more complicate telemetry to count all three cases?
Attachment #8981296 - Flags: review?(mats)
Attachment #8981296 - Attachment is obsolete: true
I guess we may need a data collection review request for a new telemetry entry, although it's effectively just another usecounter thing...
Comment on attachment 8982406 [details]
Bug 1423017 - Add a telemetry for out-of-reach overflowing on root.

https://reviewboard.mozilla.org/r/248354/#review254848

Thanks for the patch!

Just to confirm my understanding:

* OverflowWithoutScale documents have content that's out of reach in Firefox, but reachable in Chrome and Safari.
* OverflowWithNoScale documents have content that's out of reach in Firefox, but reachable in Chrome and Safari.
* OverflowWithScale documents have some content that's out of reach in Firefox but reachable in Chrome and Safari, and additional content that's out of reach in Firefox and Chrome but reachable in Safari.

Does that match your understanding? (I also suggest some different names for these that may make things a bit clearer.)

::: dom/base/nsDocument.cpp:7396
(Diff revision 1)
> +#ifdef DEBUG
> +  MOZ_ASSERT(mPresShell);
> +  nsPresContext* pc = GetPresContext();
> +  MOZ_ASSERT(pc->GetViewportScrollbarStylesOverride().mHorizontal ==
> +             NS_STYLE_OVERFLOW_HIDDEN,
> +             "Should only be called when viewport has overflow: hidden");

overflow: hidden -> overflow-x: hidden

::: dom/base/nsDocument.cpp:7409
(Diff revision 1)
> +      (GetWindow() && GetWindow()->IsDesktopModeViewport())) {
> +    mViewportOverflowType = ViewportOverflowType::OverflowDesktop;
> +    return;
> +  }
> +  if (mViewportType == DisplayWidthHeight) {
> +    mViewportOverflowType = ViewportOverflowType::OverflowHandheld;

What is the motivation for handling this case specially? It sounds like mViewportType is set to DisplayWidthHeight when there is no <meta name="viewport"> tag, but there is some indication that the page is mobile-friendly, and so we choose a default mobile viewport (whose size matches the device's display size).

It seems to me that the problematic scenario we are trying to address in bug 1423013, can occur on pages like this just as well as pages with a <meta name="viewport"> tag.

Since there is no viewport tag and therefore no specified minimum scale, I think this scenario can be folded into OverflowWithNoScale.

::: dom/base/nsIDocument.h:4301
(Diff revision 1)
>  
>    ViewportType mViewportType;
>  
> +  // Enum for how content in this document overflows viewport causing
> +  // out-of-reach issue. Currently it only takes horizontal overflow
> +  // into consider. This enum and the corresponding field is only set

consider -> consideration

::: dom/base/nsIDocument.h:4317
(Diff revision 1)
> +    // Meta viewport is disabled or the document is in desktop mode.
> +    OverflowDesktop,
> +    // Using viewport for handheld.
> +    OverflowHandheld,
> +    // The content would not overflow if minimum scale is applied.
> +    OverflowWithoutScale,

I would suggest the following names and descriptions for the last three enumerators:

// The content does not overflow the minimum-scale size
OverflowsButNotMinScaleSize

// There is no mininum-scale specified (...)
OverflowsNoMinScale

// The content overflows the minimum-scale size
OverflowsMinScaleSize

::: layout/generic/nsGfxScrollFrame.cpp:431
(Diff revision 1)
>      }
>    }
>  
> +  if (mHelper.mIsRoot &&
> +      aState->mStyles.mHorizontal == NS_STYLE_OVERFLOW_HIDDEN) {
> +    nscoord scrolledWidth = scrolledRect.width + 2 * oneDevPixel;

What is the purpose of the 2?
Attachment #8982406 - Flags: review?(botond)
Comment on attachment 8982406 [details]
Bug 1423017 - Add a telemetry for out-of-reach overflowing on root.

https://reviewboard.mozilla.org/r/248354/#review254848

OverflowWithNoScale means there is no scale specified. It seems to me in that case, Chrome allows scroll to some extent, but not all content is reachable.

Otherwise, yes, it matches my understanding.

> What is the motivation for handling this case specially? It sounds like mViewportType is set to DisplayWidthHeight when there is no <meta name="viewport"> tag, but there is some indication that the page is mobile-friendly, and so we choose a default mobile viewport (whose size matches the device's display size).
> 
> It seems to me that the problematic scenario we are trying to address in bug 1423013, can occur on pages like this just as well as pages with a <meta name="viewport"> tag.
> 
> Since there is no viewport tag and therefore no specified minimum scale, I think this scenario can be folded into OverflowWithNoScale.

I don't have specifically reason for it. It's just a different code path that we may be interested in, but I can fold it into OverflowWithNoScale.

> I would suggest the following names and descriptions for the last three enumerators:
> 
> // The content does not overflow the minimum-scale size
> OverflowsButNotMinScaleSize
> 
> // There is no mininum-scale specified (...)
> OverflowsNoMinScale
> 
> // The content overflows the minimum-scale size
> OverflowsMinScaleSize

Sounds good. Will use it.

> What is the purpose of the 2?

The original overflow check has `scrolledRect.XMost() >= visualScrollPortSize.width + oneDevPixel || scrolledRect.x <= -oneDevPixel` so I guess we may want to take two devpx here... but maybe not necessary?
Telemetry is complaining about "OverflowButNotMinScaleSize" is too long as a label value. I'm going to strip the "Overflow" prefix from the values (since the type is called "OverflowType" after all).
(In reply to Xidorn Quan [:xidorn] UTC+10 from comment #9)
> OverflowWithNoScale means there is no scale specified. It seems to me in
> that case, Chrome allows scroll to some extent, but not all content is
> reachable.

Interesting, that's not what I would have expected. Do you have a test case that demonstrates this? I'd like to run it by David Bokan (the Chromium developer who wrote the Web Viewports Explainer [1]) to understand how Chromium decides the limit (past which you can't scroll) in that case.

[1] https://github.com/bokand/bokand.github.io/blob/master/web_viewports_explainer.md
(In reply to Botond Ballo [:botond] from comment #12)
> Interesting, that's not what I would have expected. Do you have a test case
> that demonstrates this? I'd like to run it by David Bokan (the Chromium
> developer who wrote the Web Viewports Explainer [1]) to understand how
> Chromium decides the limit (past which you can't scroll) in that case.

You can use the testcase in bug 1423013 comment 4 with the <meta> tag removed. That's the testcase I checked.
(In reply to Botond Ballo [:botond] from comment #12)
> (In reply to Xidorn Quan [:xidorn] UTC+10 from comment #9)
> > OverflowWithNoScale means there is no scale specified. It seems to me in
> > that case, Chrome allows scroll to some extent, but not all content is
> > reachable.
> 
> Interesting, that's not what I would have expected. Do you have a test case
> that demonstrates this? I'd like to run it by David Bokan (the Chromium
> developer who wrote the Web Viewports Explainer [1]) to understand how
> Chromium decides the limit (past which you can't scroll) in that case.

If there's no min-scale specified, Chrome will use a default of 0.25. In this case, there's still overflowing content at that scale so it's unreachable due to overflow-x.
(In reply to David Bokan from comment #14)
> If there's no min-scale specified, Chrome will use a default of 0.25. In
> this case, there's still overflowing content at that scale so it's
> unreachable due to overflow-x.

Ah, thanks for clarifying that!

In light of that: Xidorn, do you think it would make sense to remove the NoMinScale option, and instead perform the calculation with a min-scale of 0.25 and classify the page as MinScaleSize or ButNotMinScaleSize accordingly?
(In reply to Botond Ballo [:botond] from comment #15)
> (In reply to David Bokan from comment #14)
> > If there's no min-scale specified, Chrome will use a default of 0.25. In
> > this case, there's still overflowing content at that scale so it's
> > unreachable due to overflow-x.
> 
> In light of that: Xidorn, do you think it would make sense to remove the
> NoMinScale option, and instead perform the calculation with a min-scale of
> 0.25 and classify the page as MinScaleSize or ButNotMinScaleSize accordingly?

Play with the testcase a bit more, it seems to me that Chrome actually distinguish between whether there is a <meta name="viewport"> or not.

When I only remove the minimum scale part, that testcase is fully reachable, probably because 0.25 is small enough to reach all the content (since the widest content is only 300%).

However, if you remove the <meta> tag completely, the minimum scale seems to be about 0.7 or so. The 200% width block isn't fully reachable in that case.

So it seems there are lots of different cases in handling this.
(In reply to Xidorn Quan [:xidorn] UTC+10 from comment #16)
> Play with the testcase a bit more, it seems to me that Chrome actually
> distinguish between whether there is a <meta name="viewport"> or not.
> 
> When I only remove the minimum scale part, that testcase is fully reachable,
> probably because 0.25 is small enough to reach all the content (since the
> widest content is only 300%).
> 
> However, if you remove the <meta> tag completely, the minimum scale seems to
> be about 0.7 or so. The 200% width block isn't fully reachable in that case.
> 
> So it seems there are lots of different cases in handling this.

I have a hypothesis as to what's going on here: if there no is <meta name"viewport"> tag, Chrome chooses some default viewport width (e.g. 980px), and treats that as the "minimum size width" as well. (David, am I on the right track?)

Assuming we can get a handle of the Chrome behaviour here, my preference would still be to replicate it for this calculation, and classify the page as either MinScaleSize or ButNotMinScaleSize accordingly.
(In reply to Botond Ballo [:botond] from comment #17)
> (In reply to Xidorn Quan [:xidorn] UTC+10 from comment #16)
> I have a hypothesis as to what's going on here: if there no is <meta
> name"viewport"> tag, Chrome chooses some default viewport width (e.g.
> 980px), and treats that as the "minimum size width" as well. (David, am I on
> the right track?)

Sorry - I missed that detail on first look. Your observation is correct. The width=device-width means that width:100% will be sized to the device's viewport (if we're getting size from the Initial Containing Block). If you don't have a width attribute (or a viewport <meta> at all), Chrome will size the ICB to 980px wide so the content will also be sized differently.

I'd recommend leaving width=device-width on all test cases to keep things consistent.
That does sound like a weird behavior. Isn't percentage on width supposed to be based on ICB?

Anyway, sounds like that's just related to percentage, so maybe it doesn't affect the issue in general.
(In reply to David Bokan from comment #18)
> (In reply to Botond Ballo [:botond] from comment #17)
> > (In reply to Xidorn Quan [:xidorn] UTC+10 from comment #16)
> > I have a hypothesis as to what's going on here: if there no is <meta
> > name"viewport"> tag, Chrome chooses some default viewport width (e.g.
> > 980px), and treats that as the "minimum size width" as well. (David, am I on
> > the right track?)
> 
> Sorry - I missed that detail on first look. Your observation is correct. The
> width=device-width means that width:100% will be sized to the device's
> viewport (if we're getting size from the Initial Containing Block). If you
> don't have a width attribute (or a viewport <meta> at all), Chrome will size
> the ICB to 980px wide so the content will also be sized differently.

Ah, so the minimum scale in such a situation is still 0.25, and thus the minimum scale size is unchanged, but the content size has increased, causing it to now overflow. Thanks for clarifying, I had overlooked that.

(In reply to Xidorn Quan [:xidorn] UTC+10 from comment #19)
> That does sound like a weird behavior. Isn't percentage on width supposed to
> be based on ICB?

Yes, but the ICB width comes from the width in the viewport <meta> tag, or a default value (980px) if there is no viewport <meta> tag.
> Ah, so the minimum scale in such a situation is still 0.25, and thus the minimum scale size is unchanged, but the content size has increased, causing it to now overflow. Thanks for clarifying, I had overlooked that.

Yup - to be clear, the default minimum scale is 0.25 but we then clamp it if necessary so that you can't zoom out past the content width. So the used minimum scale may be larger depending on how content in the page lays out. (Which may depend on the ICB which depends on the existence or width attr of the viewport meta tag).
Comment on attachment 8982406 [details]
Bug 1423017 - Add a telemetry for out-of-reach overflowing on root.

https://reviewboard.mozilla.org/r/248354/#review256202

Thanks!

(Request for future: please avoid rebasing between iterations, to keep interdiffs usable.)
Attachment #8982406 - Flags: review?(botond) → review+
(In reply to David Bokan from comment #22)
> Yup - to be clear, the default minimum scale is 0.25 but we then clamp it if
> necessary so that you can't zoom out past the content width. So the used
> minimum scale may be larger depending on how content in the page lays out.
> (Which may depend on the ICB which depends on the existence or width attr of
> the viewport meta tag).

Yup, understood. (It doesn't make a difference for the patch in this case, as we're just looking to discriminate cases where the content size overflows the minimum scale size, vs. cases where it doesn't vs. cases where it doesn't overflow the ICB size at all.)
(In reply to Botond Ballo [:botond] [standards meeting June 4-9] from comment #23)
> (Request for future: please avoid rebasing between iterations, to keep
> interdiffs usable.)

That's pretty hard... I frequently rebase all my local patches with the latest m-c so that I can fix any conflict quickly and have merged patches collapse themselves directly without manual operation.

It's generally not a big problem as most files aren't updated as frequently as nsDocument.cpp, and patches aren't usually take this long to land.

I really hope interdiffs can be improved to address rebase, but that's probably very hard as well...
Pushed by xquan@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ad8f78a9b78c
Add a telemetry for out-of-reach overflowing on root. r=botond
Comment on attachment 8982406 [details]
Bug 1423017 - Add a telemetry for out-of-reach overflowing on root.

I guess it's worth another review. I didn't think it can break things but it does...

Only nsGfxScrollFrame.cpp is updated (and basically rewritten) so you can just review that.

The main reason there is that aState->mStyles can be affected by other factors, e.g. scrollbar attribute on window.open. I don't think we care about that, so in this patch I instead use GetViewportScrollbarStylesOverride() directly.

In this reversion I also rewrite the checks to use a loop-break style rather than nested if-block.
Flags: needinfo?(xidorn+moz)
Attachment #8982406 - Flags: review+ → review?(botond)
Comment on attachment 8982406 [details]
Bug 1423017 - Add a telemetry for out-of-reach overflowing on root.

https://reviewboard.mozilla.org/r/248354/#review256492

This is the first time I saw |do { ... } while (false);| used this way to enable you to write early-return style code using |break| in a smaller scope than the whole function. Pretty neat!
Attachment #8982406 - Flags: review?(botond) → review+
Comment on attachment 8982406 [details]
Bug 1423017 - Add a telemetry for out-of-reach overflowing on root.

https://reviewboard.mozilla.org/r/248354/#review256494

::: layout/generic/nsGfxScrollFrame.cpp:447
(Diff revision 6)
> +    ScrollbarStyles styles = pc->GetViewportScrollbarStylesOverride();
> +    if (styles.mHorizontal != NS_STYLE_OVERFLOW_HIDDEN) {
> +      break;
> +    }
> +    // Only top level content document is considered.
> +    nsIDocument* doc = PresContext()->Document();

drive-by nit: you can just use `pc` instead of calling `PresContext()` again.
Comment on attachment 8982406 [details]
Bug 1423017 - Add a telemetry for out-of-reach overflowing on root.

https://reviewboard.mozilla.org/r/248354/#review256494

> drive-by nit: you can just use `pc` instead of calling `PresContext()` again.

You're right. I think I intended to do that, but forgot at last...
Pushed by xquan@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/83c614479dda
Add a telemetry for out-of-reach overflowing on root. r=botond
Backed out changeset 83c614479dda (bug 1423017) For braking Android reftests
Backout revision https://hg.mozilla.org/integration/autoland/rev/39913642590f07aa9350bda3d00e1607baf1194d
Failed push: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=83c614479dda23c30da73bd2cd05d3d6b7545c82&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-classifiedState=unclassified
Link to failure log:https://treeherder.mozilla.org/logviewer.html#?job_id=182482770&repo=autoland&lineNumber=1525

Part of that log:[task 2018-06-08T10:19:17.197Z] 10:19:17     INFO -  REFTEST TEST-START | http://10.0.2.2:8888/tests/layout/reftests/position-relative/1115999-1.html == http://10.0.2.2:8888/tests/layout/reftests/position-relative/1115999-1-ref.html
[task 2018-06-08T10:19:17.197Z] 10:19:17     INFO -  REFTEST TEST-LOAD | http://10.0.2.2:8888/tests/layout/reftests/position-relative/1115999-1.html | 57 / 271 (21%)
[task 2018-06-08T10:19:38.428Z] 10:19:38     INFO -  INFO | automation.py | Application ran for: 0:13:38.565239
[task 2018-06-08T10:19:38.428Z] 10:19:38     INFO -  INFO | zombiecheck | Reading PID log: /tmp/tmpI2LXA7pidlog
[task 2018-06-08T10:19:39.046Z] 10:19:39     INFO -  /data/tombstones does not exist; tombstone check skipped
[task 2018-06-08T10:19:39.862Z] 10:19:39     INFO -  REFTEST INFO | Copy/paste: /usr/local/bin/linux64-minidump_stackwalk /tmp/tmp76B8GD/59043e04-43bc-de9c-2d5b-e451b6513b39.dmp /builds/worker/workspace/build/symbols
[task 2018-06-08T10:19:49.878Z] 10:19:49     INFO -  REFTEST INFO | Saved minidump as /builds/worker/workspace/build/blobber_upload_dir/59043e04-43bc-de9c-2d5b-e451b6513b39.dmp
[task 2018-06-08T10:19:49.878Z] 10:19:49     INFO -  REFTEST INFO | Saved app info as /builds/worker/workspace/build/blobber_upload_dir/59043e04-43bc-de9c-2d5b-e451b6513b39.extra
[task 2018-06-08T10:19:49.883Z] 10:19:49     INFO -  REFTEST PROCESS-CRASH | http://10.0.2.2:8888/tests/layout/reftests/position-relative/1115999-1.html == http://10.0.2.2:8888/tests/layout/reftests/position-relative/1115999-1-ref.html | application crashed [@ nsIDocument::UpdateViewportOverflowType(int, int)]
[task 2018-06-08T10:19:49.883Z] 10:19:49     INFO -  Crash dump filename: /tmp/tmp76B8GD/59043e04-43bc-de9c-2d5b-e451b6513b39.dmp
[task 2018-06-08T10:19:49.883Z] 10:19:49     INFO -  Operating system: Android
[task 2018-06-08T10:19:49.884Z] 10:19:49     INFO -                    0.0.0 Linux 2.6.29-gea477bb #1 Wed Sep 26 11:04:45 PDT 2012 armv7l
[task 2018-06-08T10:19:49.884Z] 10:19:49     INFO -  CPU: arm
[task 2018-06-08T10:19:49.884Z] 10:19:49     INFO -       ARMv7 ARM Cortex-A8 features: swp,half,thumb,fastmult,vfpv2,edsp,neon,vfpv3
[task 2018-06-08T10:19:49.884Z] 10:19:49     INFO -       1 CPU
[task 2018-06-08T10:19:49.885Z] 10:19:49     INFO -  GPU: UNKNOWN
[task 2018-06-08T10:19:49.885Z] 10:19:49     INFO -  Crash reason:  SIGSEGV
[task 2018-06-08T10:19:49.886Z] 10:19:49     INFO -  Crash address: 0x0
[task 2018-06-08T10:19:49.886Z] 10:19:49     INFO -  Process uptime: not available
[task 2018-06-08T10:19:49.886Z] 10:19:49     INFO -  Thread 12 (crashed)
[task 2018-06-08T10:19:49.886Z] 10:19:49     INFO -   0  libxul.so!nsIDocument::UpdateViewportOverflowType(int, int) [nsDocument.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 0 + 0x6]
[task 2018-06-08T10:19:49.886Z] 10:19:49     INFO -       r0 = 0x00000000    r1 = 0x326ff940    r2 = 0x602982f4    r3 = 0x00001cb9
[task 2018-06-08T10:19:49.887Z] 10:19:49     INFO -       r4 = 0x00001cb9    r5 = 0x0000bb80    r6 = 0x0000bbbc    r7 = 0x52a0cc30
[task 2018-06-08T10:19:49.887Z] 10:19:49     INFO -       r8 = 0x55e86000    r9 = 0x52a0ce38   r10 = 0x0000bb80   r12 = 0x00000003
[task 2018-06-08T10:19:49.888Z] 10:19:49     INFO -       fp = 0x5a0870d0    sp = 0x52a0cc20    lr = 0x5ca33fc1    pc = 0x5d4eb53a
[task 2018-06-08T10:19:49.888Z] 10:19:49     INFO -      Found by: given as instruction pointer in context
[task 2018-06-08T10:19:49.888Z] 10:19:49     INFO -   1  libxul.so!nsHTMLScrollFrame::TryLayout(mozilla::ScrollReflowInput*, mozilla::ReflowOutput*, bool, bool, bool) [nsGfxScrollFrame.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 451 + 0x5]
[task 2018-06-08T10:19:49.889Z] 10:19:49     INFO -       r4 = 0x0000bbbc    r5 = 0x00000000    r6 = 0x00000000    r7 = 0x52a0ccf0
[task 2018-06-08T10:19:49.890Z] 10:19:49     INFO -       r8 = 0x55e86000    r9 = 0x52a0ce38   r10 = 0x0000bb80    fp = 0x5a0870d0
[task 2018-06-08T10:19:49.890Z] 10:19:49     INFO -       sp = 0x52a0cc38    lr = 0x5e37ad47    pc = 0x5e37ad47
[task 2018-06-08T10:19:49.890Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.890Z] 10:19:49     INFO -   2  libxul.so!nsHTMLScrollFrame::ReflowContents(mozilla::ScrollReflowInput*, mozilla::ReflowOutput const&) [nsGfxScrollFrame.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 747 + 0x9]
[task 2018-06-08T10:19:49.890Z] 10:19:49     INFO -       r4 = 0x52a0ce38    r5 = 0x5a0870d0    r6 = 0x00000000    r7 = 0x52a0cd98
[task 2018-06-08T10:19:49.891Z] 10:19:49     INFO -       r8 = 0x52a0cd30    r9 = 0x52a0d030   r10 = 0x52a0cdc8    fp = 0x5a08719c
[task 2018-06-08T10:19:49.891Z] 10:19:49     INFO -       sp = 0x52a0ccf8    lr = 0x5e37b677    pc = 0x5e37b677
[task 2018-06-08T10:19:49.891Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.892Z] 10:19:49     INFO -   3  libxul.so!nsHTMLScrollFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) [nsGfxScrollFrame.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 1080 + 0x9]
[task 2018-06-08T10:19:49.892Z] 10:19:49     INFO -       r4 = 0x52a0cf60    r5 = 0x00000000    r6 = 0x5a0870d0    r7 = 0x52a0cef8
[task 2018-06-08T10:19:49.892Z] 10:19:49     INFO -       r8 = 0x52a0ce38    r9 = 0x52a0d030   r10 = 0x52a0cdc8    fp = 0x5a08719c
[task 2018-06-08T10:19:49.893Z] 10:19:49     INFO -       sp = 0x52a0cda0    lr = 0x5e37be1f    pc = 0x5e37be1f
[task 2018-06-08T10:19:49.893Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.893Z] 10:19:49     INFO -   4  libxul.so!nsContainerFrame::ReflowChild(nsIFrame*, nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, int, int, unsigned int, nsReflowStatus&, nsOverflowContinuationTracker*) [nsContainerFrame.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 995 + 0x13]
[task 2018-06-08T10:19:49.894Z] 10:19:49     INFO -       r4 = 0x5a0870d0    r5 = 0x00000000    r6 = 0x5e37bc81    r7 = 0x52a0cf28
[task 2018-06-08T10:19:49.894Z] 10:19:49     INFO -       r8 = 0x52a0cf60    r9 = 0x52a0d030   r10 = 0x52a0d15c    fp = 0x55e86000
[task 2018-06-08T10:19:49.894Z] 10:19:49     INFO -       sp = 0x52a0cf00    lr = 0x5e332e95    pc = 0x5e332e95
[task 2018-06-08T10:19:49.897Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.897Z] 10:19:49     INFO -   5  libxul.so!mozilla::ViewportFrame::Reflow(nsPresContext*, mozilla::ReflowOutput&, mozilla::ReflowInput const&, nsReflowStatus&) [ViewportFrame.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 335 + 0x19]
[task 2018-06-08T10:19:49.897Z] 10:19:49     INFO -       r4 = 0x52a0d030    r5 = 0x55e86000    r6 = 0x52a0d160    r7 = 0x52a0d0b0
[task 2018-06-08T10:19:49.897Z] 10:19:49     INFO -       r8 = 0x52a0d1c4    r9 = 0x52a0d1c0   r10 = 0x5a0870d0    fp = 0x00000000
[task 2018-06-08T10:19:49.897Z] 10:19:49     INFO -       sp = 0x52a0cf30    lr = 0x5e332a79    pc = 0x5e332a79
[task 2018-06-08T10:19:49.897Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.897Z] 10:19:49     INFO -   6  libxul.so!mozilla::PresShell::DoReflow(nsIFrame*, bool) [PresShell.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 8940 + 0xf]
[task 2018-06-08T10:19:49.897Z] 10:19:49     INFO -       r4 = 0x5e332969    r5 = 0x52a0d160    r6 = 0x5a087010    r7 = 0x52a0d2d0
[task 2018-06-08T10:19:49.897Z] 10:19:49     INFO -       r8 = 0x52a0d110    r9 = 0x59851000   r10 = 0x59851008    fp = 0x00000000
[task 2018-06-08T10:19:49.897Z] 10:19:49     INFO -       sp = 0x52a0d0b8    lr = 0x5e2c9fd1    pc = 0x5e2c9fd1
[task 2018-06-08T10:19:49.897Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.898Z] 10:19:49     INFO -   7  libxul.so!mozilla::PresShell::ProcessReflowCommands(bool) [PresShell.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 9113 + 0x9]
[task 2018-06-08T10:19:49.898Z] 10:19:49     INFO -       r4 = 0x5a087010    r5 = 0x00000000    r6 = 0x59851a20    r7 = 0x52a0d318
[task 2018-06-08T10:19:49.898Z] 10:19:49     INFO -       r8 = 0x00000000    r9 = 0x00000000   r10 = 0x59851000    fp = 0x59851981
[task 2018-06-08T10:19:49.899Z] 10:19:49     INFO -       sp = 0x52a0d2d8    lr = 0x5e2cdd43    pc = 0x5e2cdd43
[task 2018-06-08T10:19:49.899Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.899Z] 10:19:49     INFO -   8  libxul.so!mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) [PresShell.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 4335 + 0x7]
[task 2018-06-08T10:19:49.899Z] 10:19:49     INFO -       r4 = 0x59851000    r5 = 0x00000000    r6 = 0x52a0d328    r7 = 0x52a0d388
[task 2018-06-08T10:19:49.900Z] 10:19:49     INFO -       r8 = 0x52a0d32c    r9 = 0x00000007   r10 = 0x59851004    fp = 0x59851981
[task 2018-06-08T10:19:49.900Z] 10:19:49     INFO -       sp = 0x52a0d320    lr = 0x5e2cd8ff    pc = 0x5e2cd8ff
[task 2018-06-08T10:19:49.900Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.900Z] 10:19:49     INFO -   9  libxul.so!nsIDocument::FlushPendingNotifications(mozilla::ChangesToFlush) [nsDocument.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 7496 + 0x3]
[task 2018-06-08T10:19:49.901Z] 10:19:49     INFO -       r4 = 0x55e75800    r5 = 0x00000107    r6 = 0x5580d800    r7 = 0x52a0d3b0
[task 2018-06-08T10:19:49.901Z] 10:19:49     INFO -       r8 = 0x52a0d5a0    r9 = 0x00000000   r10 = 0x59f6f4c0    fp = 0x000012ac
[task 2018-06-08T10:19:49.901Z] 10:19:49     INFO -       sp = 0x52a0d390    lr = 0x5d4eb6e9    pc = 0x5d4eb6e9
[task 2018-06-08T10:19:49.901Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.902Z] 10:19:49     INFO -  10  libxul.so!mozilla::dom::Element::GetPrimaryFrame(mozilla::FlushType) [Element.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 2276 + 0x5]
[task 2018-06-08T10:19:49.902Z] 10:19:49     INFO -       r4 = 0x59f6f4c0    r5 = 0x00000007    r6 = 0x5580d800    r7 = 0x52a0d3c0
[task 2018-06-08T10:19:49.902Z] 10:19:49     INFO -       r8 = 0x52a0d5a0    r9 = 0x00000000   r10 = 0x59f6f4c0    fp = 0x000012ac
[task 2018-06-08T10:19:49.903Z] 10:19:49     INFO -       sp = 0x52a0d3b8    lr = 0x5d47faed    pc = 0x5d47faed
[task 2018-06-08T10:19:49.903Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.903Z] 10:19:49     INFO -  11  libxul.so!mozilla::dom::Element::GetStyledFrame() [Element.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 664 + 0x5]
[task 2018-06-08T10:19:49.903Z] 10:19:49     INFO -       r4 = 0x00000000    r5 = 0x52a0d428    r6 = 0x5580d800    r7 = 0x52a0d3c8
[task 2018-06-08T10:19:49.904Z] 10:19:49     INFO -       r8 = 0x52a0d5a0    r9 = 0x00000000   r10 = 0x59f6f4c0    fp = 0x000012ac
[task 2018-06-08T10:19:49.904Z] 10:19:49     INFO -       sp = 0x52a0d3c8    lr = 0x5d47fac9    pc = 0x5d47fac9
[task 2018-06-08T10:19:49.904Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.904Z] 10:19:49     INFO -  12  libxul.so!nsGenericHTMLElement::GetOffsetRect(mozilla::gfx::IntRectTyped<mozilla::CSSPixel>&) [nsGenericHTMLElement.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 228 + 0x3]
[task 2018-06-08T10:19:49.905Z] 10:19:49     INFO -       r4 = 0x00000000    r5 = 0x52a0d428    r6 = 0x5580d800    r7 = 0x52a0d420
[task 2018-06-08T10:19:49.905Z] 10:19:49     INFO -       r8 = 0x52a0d5a0    r9 = 0x00000000   r10 = 0x59f6f4c0    fp = 0x000012ac
[task 2018-06-08T10:19:49.905Z] 10:19:49     INFO -       sp = 0x52a0d3d0    lr = 0x5dca0935    pc = 0x5dca0935
[task 2018-06-08T10:19:49.905Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.906Z] 10:19:49     INFO -  13  libxul.so!nsGenericHTMLElement::OffsetHeight() [nsGenericHTMLElement.h:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 235 + 0x3]
[task 2018-06-08T10:19:49.906Z] 10:19:49     INFO -       r4 = 0x52a0d44c    r5 = 0x59f6f4c0    r6 = 0x5580d800    r7 = 0x52a0d438
[task 2018-06-08T10:19:49.906Z] 10:19:49     INFO -       r8 = 0x52a0d5a0    r9 = 0x00000000   r10 = 0x5da55119    fp = 0x000012ac
[task 2018-06-08T10:19:49.907Z] 10:19:49     INFO -       sp = 0x52a0d428    lr = 0x5d9add5d    pc = 0x5d9add5d
[task 2018-06-08T10:19:49.907Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.907Z] 10:19:49     INFO -  14  libxul.so!mozilla::dom::HTMLElementBinding::get_offsetHeight(JSContext*, JS::Handle<JSObject*>, nsGenericHTMLElement*, JSJitGetterCallArgs) [HTMLElementBinding.cpp: : 1186 + 0x5]
[task 2018-06-08T10:19:49.907Z] 10:19:49     INFO -       r3 = 0x00000000    r4 = 0x00000000    r5 = 0x00000000    r6 = 0x00000000
[task 2018-06-08T10:19:49.908Z] 10:19:49     INFO -       r7 = 0x52a0d470    r8 = 0x52a0d5a0    r9 = 0x00000000   r10 = 0x5da55119
[task 2018-06-08T10:19:49.908Z] 10:19:49     INFO -       fp = 0x000012ac    sp = 0x52a0d440    lr = 0x5d9adcdf    pc = 0x5d9adcdf
[task 2018-06-08T10:19:49.908Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.909Z] 10:19:49     INFO -  15  libxul.so!bool mozilla::dom::binding_detail::GenericGetter<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*) [BindingUtils.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 3161 + 0x1]
[task 2018-06-08T10:19:49.909Z] 10:19:49     INFO -       r2 = 0x000004a0    r3 = 0x00000007    r4 = 0x609ec8b4    r5 = 0x5d9adca1
[task 2018-06-08T10:19:49.910Z] 10:19:49     INFO -       r6 = 0x00000001    r7 = 0x52a0d4c0    r8 = 0x000000d8    r9 = 0x52a0d48c
[task 2018-06-08T10:19:49.910Z] 10:19:49     INFO -      r10 = 0x5da55119    fp = 0x000012ac    sp = 0x52a0d478    lr = 0x5da551ab
[task 2018-06-08T10:19:49.910Z] 10:19:49     INFO -       pc = 0x5da551ab
[task 2018-06-08T10:19:49.911Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.911Z] 10:19:49     INFO -  16  libxul.so!js::CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) [JSContext-inl.h:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 274 + 0x3]
[task 2018-06-08T10:19:49.911Z] 10:19:49     INFO -       r4 = 0x5580d800    r5 = 0x52a0d580    r6 = 0x52a0d5b0    r7 = 0x52a0d4f0
[task 2018-06-08T10:19:49.911Z] 10:19:49     INFO -       r8 = 0x52a0d4cc    r9 = 0x00000000   r10 = 0x5da55119    fp = 0x000012ac
[task 2018-06-08T10:19:49.912Z] 10:19:49     INFO -       sp = 0x52a0d4c8    lr = 0x5ed27137    pc = 0x5ed27137
[task 2018-06-08T10:19:49.912Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.913Z] 10:19:49     INFO -  17  libxul.so!js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) [Interpreter.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 471 + 0x9]
[task 2018-06-08T10:19:49.913Z] 10:19:49     INFO -       r4 = 0x00000001    r5 = 0x52a0d580    r6 = 0x00000000    r7 = 0x52a0d550
[task 2018-06-08T10:19:49.913Z] 10:19:49     INFO -       r8 = 0x00000000    r9 = 0x52a0d718   r10 = 0x52a0d528    fp = 0x5580d800
[task 2018-06-08T10:19:49.913Z] 10:19:49     INFO -       sp = 0x52a0d4f8    lr = 0x5ed26e41    pc = 0x5ed26e41
[task 2018-06-08T10:19:49.914Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.914Z] 10:19:49     INFO -  18  libxul.so!InternalCall(JSContext*, js::AnyInvokeArgs const&) [Interpreter.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 520 + 0x9]
[task 2018-06-08T10:19:49.914Z] 10:19:49     INFO -       r4 = 0x52a0d580    r5 = 0x5580d800    r6 = 0x5580d800    r7 = 0x52a0d578
[task 2018-06-08T10:19:49.915Z] 10:19:49     INFO -       r8 = 0x52a0d580    r9 = 0x52a0d718   r10 = 0x52a0d5f8    fp = 0x52a0d668
[task 2018-06-08T10:19:49.915Z] 10:19:49     INFO -       sp = 0x52a0d558    lr = 0x5ed2776d    pc = 0x5ed2776d
[task 2018-06-08T10:19:49.915Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.916Z] 10:19:49     INFO -  19  libxul.so!js::CallGetter(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>) [Interpreter.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 539 + 0x7]
[task 2018-06-08T10:19:49.916Z] 10:19:49     INFO -       r4 = 0x00000000    r5 = 0x6e03f058    r6 = 0x5580d800    r7 = 0x52a0d5d8
[task 2018-06-08T10:19:49.916Z] 10:19:49     INFO -       r8 = 0x52a0d580    r9 = 0x52a0d718   r10 = 0x52a0d5f8    fp = 0x52a0d668
[task 2018-06-08T10:19:49.917Z] 10:19:49     INFO -       sp = 0x52a0d580    lr = 0x5ed27fd5    pc = 0x5ed27fd5
[task 2018-06-08T10:19:49.917Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.918Z] 10:19:49     INFO -  20  libxul.so!bool GetExistingProperty<(js::AllowGC)1>(JSContext*, js::MaybeRooted<JS::Value, (js::AllowGC)1>::HandleType, js::MaybeRooted<js::NativeObject*, (js::AllowGC)1>::HandleType, js::MaybeRooted<js::Shape*, (js::AllowGC)1>::HandleType, js::MaybeRooted<JS::Value, (js::AllowGC)1>::MutableHandleType) [NativeObject.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 2109 + 0x7]
[task 2018-06-08T10:19:49.918Z] 10:19:49     INFO -       r4 = 0x52a0d718    r5 = 0x52a0d5f0    r6 = 0x52a0d680    r7 = 0x52a0d620
[task 2018-06-08T10:19:49.918Z] 10:19:49     INFO -       r8 = 0xffffff83    r9 = 0x5580d800   r10 = 0x6e03f058    fp = 0x52a0d668
[task 2018-06-08T10:19:49.918Z] 10:19:49     INFO -       sp = 0x52a0d5e0    lr = 0x5f233dc9    pc = 0x5f233dc9
[task 2018-06-08T10:19:49.919Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.919Z] 10:19:49     INFO -  21  libxul.so!bool NativeGetPropertyInline<(js::AllowGC)1>(JSContext*, js::MaybeRooted<js::NativeObject*, (js::AllowGC)1>::HandleType, js::MaybeRooted<JS::Value, (js::AllowGC)1>::HandleType, js::MaybeRooted<jsid, (js::AllowGC)1>::HandleType, IsNameLookup, js::MaybeRooted<JS::Value, (js::AllowGC)1>::MutableHandleType) [NativeObject.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 2375 + 0x7]
[task 2018-06-08T10:19:49.920Z] 10:19:49     INFO -       r4 = 0x52a0d678    r5 = 0x5580d800    r6 = 0x52a0d668    r7 = 0x52a0d6b8
[task 2018-06-08T10:19:49.920Z] 10:19:49     INFO -       r8 = 0x52a0d647    r9 = 0x5580d810   r10 = 0x00000004    fp = 0x0003fff0
[task 2018-06-08T10:19:49.920Z] 10:19:49     INFO -       sp = 0x52a0d628    lr = 0x5f2342c3    pc = 0x5f2342c3
[task 2018-06-08T10:19:49.921Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.921Z] 10:19:49     INFO -  22  libxul.so!js::NativeGetProperty(JSContext*, JS::Handle<js::NativeObject*>, JS::Handle<JS::Value>, JS::Handle<jsid>, JS::MutableHandle<JS::Value>) [NativeObject.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 2411 + 0xb]
[task 2018-06-08T10:19:49.921Z] 10:19:49     INFO -       r4 = 0x5a455d80    r5 = 0x52a0d70c    r6 = 0x5580d800    r7 = 0x52a0d6c8
[task 2018-06-08T10:19:49.921Z] 10:19:49     INFO -       r8 = 0x52a0d718    r9 = 0x52a0d6d4   r10 = 0x6e03f058    fp = 0x52a0da1c
[task 2018-06-08T10:19:49.922Z] 10:19:49     INFO -       sp = 0x52a0d6c0    lr = 0x5f233fff    pc = 0x5f233fff
[task 2018-06-08T10:19:49.922Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.922Z] 10:19:49     INFO -  23  libxul.so!js::GetProperty(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, js::PropertyName*, JS::MutableHandle<JS::Value>) [NativeObject.h:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 1679 + 0xb]
[task 2018-06-08T10:19:49.922Z] 10:19:49     INFO -       r4 = 0x5a455d80    r5 = 0x52a0d70c    r6 = 0x5580d800    r7 = 0x52a0d6f8
[task 2018-06-08T10:19:49.923Z] 10:19:49     INFO -       r8 = 0x52a0d718    r9 = 0x52a0d6d4   r10 = 0x6e03f058    fp = 0x52a0da1c
[task 2018-06-08T10:19:49.923Z] 10:19:49     INFO -       sp = 0x52a0d6d0    lr = 0x5ecd4ff7    pc = 0x5ecd4ff7
[task 2018-06-08T10:19:49.923Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.924Z] 10:19:49     INFO -  24  libxul.so!js::GetProperty(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>) [Interpreter.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 4449 + 0x9]
[task 2018-06-08T10:19:49.924Z] 10:19:49     INFO -       r4 = 0x52a0d704    r5 = 0x5580d800    r6 = 0x52a0d710    r7 = 0x52a0d740
[task 2018-06-08T10:19:49.924Z] 10:19:49     INFO -       r8 = 0x6e03f058    r9 = 0x52a0daa8   r10 = 0x6e03f058    fp = 0x52a0da1c
[task 2018-06-08T10:19:49.924Z] 10:19:49     INFO -       sp = 0x52a0d700    lr = 0x5ed2adbf    pc = 0x5ed2adbf
[task 2018-06-08T10:19:49.925Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.925Z] 10:19:49     INFO -  25  libxul.so!Interpret(JSContext*, js::RunState&) [Interpreter.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 217 + 0x7]
[task 2018-06-08T10:19:49.925Z] 10:19:49     INFO -       r4 = 0x52a0da50    r5 = 0x6df8d658    r6 = 0x6e03f018    r7 = 0x52a0daf8
[task 2018-06-08T10:19:49.926Z] 10:19:49     INFO -       r8 = 0x5580d800    r9 = 0xffffff83   r10 = 0x6e03f058    fp = 0x52a0da1c
[task 2018-06-08T10:19:49.926Z] 10:19:49     INFO -       sp = 0x52a0d748    lr = 0x5ed1dae1    pc = 0x5ed1dae1
[task 2018-06-08T10:19:49.926Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.927Z] 10:19:49     INFO -  26  libxul.so!js::RunScript(JSContext*, js::RunState&) [Interpreter.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 421 + 0x7]
[task 2018-06-08T10:19:49.927Z] 10:19:49     INFO -       r4 = 0x52a0db48    r5 = 0x5580d800    r6 = 0x5aeb4090    r7 = 0x52a0db20
[task 2018-06-08T10:19:49.927Z] 10:19:49     INFO -       r8 = 0x0003fff0    r9 = 0x60afabb8   r10 = 0x60afac00    fp = 0xfffc0000
[task 2018-06-08T10:19:49.927Z] 10:19:49     INFO -       sp = 0x52a0db00    lr = 0x5ed18683    pc = 0x5ed18683
[task 2018-06-08T10:19:49.927Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.928Z] 10:19:49     INFO -  27  libxul.so!js::ExecuteKernel(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value const&, js::AbstractFramePtr, JS::Value*) [Interpreter.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 704 + 0x7]
[task 2018-06-08T10:19:49.928Z] 10:19:49     INFO -       r4 = 0x5580d800    r5 = 0x52a0db48    r6 = 0x6cfdf020    r7 = 0x52a0dba8
[task 2018-06-08T10:19:49.929Z] 10:19:49     INFO -       r8 = 0x0003fff0    r9 = 0x60afabb8   r10 = 0x60afac00    fp = 0xfffc0000
[task 2018-06-08T10:19:49.929Z] 10:19:49     INFO -       sp = 0x52a0db28    lr = 0x5ed28483    pc = 0x5ed28483
[task 2018-06-08T10:19:49.929Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.930Z] 10:19:49     INFO -  28  libxul.so!js::Execute(JSContext*, JS::Handle<JSScript*>, JSObject&, JS::Value*) [Interpreter.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 736 + 0x7]
[task 2018-06-08T10:19:49.930Z] 10:19:49     INFO -       r4 = 0x00000000    r5 = 0x52a0dbb8    r6 = 0x5580d800    r7 = 0x52a0dbe8
[task 2018-06-08T10:19:49.930Z] 10:19:49     INFO -       r8 = 0x52a0dd50    r9 = 0x52a0dc28   r10 = 0x52a0dbc4    fp = 0x52a0dc2c
[task 2018-06-08T10:19:49.931Z] 10:19:49     INFO -       sp = 0x52a0dbb0    lr = 0x5ed28945    pc = 0x5ed28945
[task 2018-06-08T10:19:49.931Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.931Z] 10:19:49     INFO -  29  libxul.so!ExecuteScript(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSScript*>, JS::Value*) [jsapi.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 4737 + 0x9]
[task 2018-06-08T10:19:49.932Z] 10:19:49     INFO -       r4 = 0x52a0dc40    r5 = 0x00000000    r6 = 0x5580d800    r7 = 0x52a0dc10
[task 2018-06-08T10:19:49.932Z] 10:19:49     INFO -       r8 = 0x52a0dd50    r9 = 0x52a0dc28   r10 = 0x52a0dc38    fp = 0x52a0dc2c
[task 2018-06-08T10:19:49.932Z] 10:19:49     INFO -       sp = 0x52a0dbf0    lr = 0x5f0bb70f    pc = 0x5f0bb70f
[task 2018-06-08T10:19:49.933Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.933Z] 10:19:49     INFO -  30  libxul.so!ExecuteScript(JSContext*, JS::AutoVector<JSObject*>&, JS::Handle<JSScript*>, JS::Value*) [jsapi.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 4756 + 0xb]
[task 2018-06-08T10:19:49.933Z] 10:19:49     INFO -       r4 = 0xfffc0000    r5 = 0x5580d800    r6 = 0x52a0dc20    r7 = 0x52a0dc60
[task 2018-06-08T10:19:49.934Z] 10:19:49     INFO -       r8 = 0x52a0dc28    r9 = 0x52a0dc40   r10 = 0x52a0dc38    fp = 0x52a0dc2c
[task 2018-06-08T10:19:49.934Z] 10:19:49     INFO -       sp = 0x52a0dc18    lr = 0x5f0bbacf    pc = 0x5f0bbacf
[task 2018-06-08T10:19:49.934Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.934Z] 10:19:49     INFO -  31  libxul.so!nsJSUtils::ExecutionContext::CompileAndExec(JS::CompileOptions&, JS::SourceBufferHolder&, JS::MutableHandle<JSScript*>) [nsJSUtils.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 268 + 0x5]
[task 2018-06-08T10:19:49.935Z] 10:19:49     INFO -       r4 = 0x00530002    r5 = 0x52a0dd30    r6 = 0x00000000    r7 = 0x52a0dc78
[task 2018-06-08T10:19:49.935Z] 10:19:49     INFO -       r8 = 0x52a0ddb8    r9 = 0x52d98370   r10 = 0x5429c7c0    fp = 0x52a0ddb8
[task 2018-06-08T10:19:49.935Z] 10:19:49     INFO -       sp = 0x52a0dc68    lr = 0x5d51ca1d    pc = 0x5d51ca1d
[task 2018-06-08T10:19:49.936Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.936Z] 10:19:49     INFO -  32  libxul.so!mozilla::dom::ScriptLoader::EvaluateScript(mozilla::dom::ScriptLoadRequest*) [ScriptLoader.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 2354 + 0x7]
[task 2018-06-08T10:19:49.936Z] 10:19:49     INFO -       r4 = 0x52a0dca0    r5 = 0x52d98340    r6 = 0x00000000    r7 = 0x52a0dec0
[task 2018-06-08T10:19:49.937Z] 10:19:49     INFO -       r8 = 0x52a0dc94    r9 = 0x52d98370   r10 = 0x5429c7c0    fp = 0x52a0ddb8
[task 2018-06-08T10:19:49.937Z] 10:19:49     INFO -       sp = 0x52a0dc80    lr = 0x5e0ef005    pc = 0x5e0ef005
[task 2018-06-08T10:19:49.937Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.937Z] 10:19:49     INFO -  33  libxul.so!mozilla::dom::ScriptLoader::ProcessRequest(mozilla::dom::ScriptLoadRequest*) [ScriptLoader.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 1977 + 0x7]
[task 2018-06-08T10:19:49.938Z] 10:19:49     INFO -       r4 = 0x52d98340    r5 = 0x00000000    r6 = 0x52d9835c    r7 = 0x52a0df08
[task 2018-06-08T10:19:49.938Z] 10:19:49     INFO -       r8 = 0x5429c7c0    r9 = 0x00000001   r10 = 0x00000000    fp = 0x5949fe4c
[task 2018-06-08T10:19:49.938Z] 10:19:49     INFO -       sp = 0x52a0dec8    lr = 0x5e0ede8b    pc = 0x5e0ede8b
[task 2018-06-08T10:19:49.939Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.939Z] 10:19:49     INFO -  34  libxul.so!mozilla::dom::ScriptLoader::ProcessInlineScript(nsIScriptElement*, mozilla::dom::ScriptKind) [ScriptLoader.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 1598 + 0x5]
[task 2018-06-08T10:19:49.939Z] 10:19:49     INFO -       r4 = 0x52a0dfb8    r5 = 0x00000000    r6 = 0x0000000f    r7 = 0x52a0dfd8
[task 2018-06-08T10:19:49.940Z] 10:19:49     INFO -       r8 = 0x5429c7c0    r9 = 0x00000001   r10 = 0x00000000    fp = 0x5949fe4c
[task 2018-06-08T10:19:49.940Z] 10:19:49     INFO -       sp = 0x52a0df10    lr = 0x5e0ed40b    pc = 0x5e0ed40b
[task 2018-06-08T10:19:49.941Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.941Z] 10:19:49     INFO -  35  libxul.so!mozilla::dom::ScriptLoader::ProcessScriptElement(nsIScriptElement*) [ScriptLoader.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 1317 + 0x9]
[task 2018-06-08T10:19:49.941Z] 10:19:49     INFO -       r4 = 0x5949fe4c    r5 = 0x5429c7c0    r6 = 0x00000000    r7 = 0x52a0e268
[task 2018-06-08T10:19:49.941Z] 10:19:49     INFO -       r8 = 0x52a0e1c0    r9 = 0x00000000   r10 = 0x52a0e1c0    fp = 0x5424fc54
[task 2018-06-08T10:19:49.942Z] 10:19:49     INFO -       sp = 0x52a0dfe0    lr = 0x5e0e7ce3    pc = 0x5e0e7ce3
[task 2018-06-08T10:19:49.942Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.942Z] 10:19:49     INFO -  36  libxul.so!mozilla::dom::ScriptElement::MaybeProcessScript() [ScriptElement.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 141 + 0x5]
[task 2018-06-08T10:19:49.943Z] 10:19:49     INFO -       r4 = 0x5949fe4c    r5 = 0x52a0e27c    r6 = 0x55e75800    r7 = 0x52a0e298
[task 2018-06-08T10:19:49.943Z] 10:19:49     INFO -       r8 = 0x52a0e2e4    r9 = 0x52a0e2f0   r10 = 0x52a0e2ee    fp = 0x5424fc54
[task 2018-06-08T10:19:49.943Z] 10:19:49     INFO -       sp = 0x52a0e270    lr = 0x5e0e79fb    pc = 0x5e0e79fb
[task 2018-06-08T10:19:49.943Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.944Z] 10:19:49     INFO -  37  libxul.so!nsIScriptElement::AttemptToExecute() [nsIScriptElement.h:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 247 + 0x5]
[task 2018-06-08T10:19:49.944Z] 10:19:49     INFO -       r4 = 0x5949fe4c    r5 = 0x52a0e2b4    r6 = 0x5949fe4c    r7 = 0x52a0e2a8
[task 2018-06-08T10:19:49.945Z] 10:19:49     INFO -       r8 = 0x52a0e2e4    r9 = 0x52a0e2f0   r10 = 0x52a0e2ee    fp = 0x5424fc54
[task 2018-06-08T10:19:49.945Z] 10:19:49     INFO -       sp = 0x52a0e2a0    lr = 0x5d1c940b    pc = 0x5d1c940b
[task 2018-06-08T10:19:49.945Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.945Z] 10:19:49     INFO -  38  libxul.so!nsHtml5TreeOpExecutor::RunScript(nsIContent*) [nsHtml5TreeOpExecutor.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 738 + 0x3]
[task 2018-06-08T10:19:49.946Z] 10:19:49     INFO -       r4 = 0x5424fb00    r5 = 0x52a0e2b4    r6 = 0x5949fe4c    r7 = 0x52a0e2c8
[task 2018-06-08T10:19:49.946Z] 10:19:49     INFO -       r8 = 0x52a0e2e4    r9 = 0x52a0e2f0   r10 = 0x52a0e2ee    fp = 0x5424fc54
[task 2018-06-08T10:19:49.947Z] 10:19:49     INFO -       sp = 0x52a0e2b0    lr = 0x5d1c8f35    pc = 0x5d1c8f35
[task 2018-06-08T10:19:49.947Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.947Z] 10:19:49     INFO -  39  libxul.so!nsHtml5TreeOpExecutor::RunFlushLoop() [nsHtml5TreeOpExecutor.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 537 + 0x5]
[task 2018-06-08T10:19:49.947Z] 10:19:49     INFO -       r4 = 0x5424fb00    r5 = 0x52a0e2ef    r6 = 0x804e03ef    r7 = 0x52a0e320
[task 2018-06-08T10:19:49.948Z] 10:19:49     INFO -       r8 = 0x52a0e2e4    r9 = 0x52a0e2f0   r10 = 0x52a0e2ee    fp = 0x5424fc54
[task 2018-06-08T10:19:49.948Z] 10:19:49     INFO -       sp = 0x52a0e2d0    lr = 0x5d1c81ef    pc = 0x5d1c81ef
[task 2018-06-08T10:19:49.948Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.948Z] 10:19:49     INFO -  40  libxul.so!nsHtml5ExecutorFlusher::Run() [nsHtml5StreamParser.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 121 + 0x3]
[task 2018-06-08T10:19:49.949Z] 10:19:49     INFO -       r4 = 0x58ecf614    r5 = 0x00000000    r6 = 0x00000021    r7 = 0x52a0e330
[task 2018-06-08T10:19:49.949Z] 10:19:49     INFO -       r8 = 0x52d08700    r9 = 0x52a0e37d   r10 = 0x52a0e380    fp = 0x52a0e87f
[task 2018-06-08T10:19:49.949Z] 10:19:49     INFO -       sp = 0x52a0e328    lr = 0x5d1caa05    pc = 0x5d1caa05
[task 2018-06-08T10:19:49.950Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.950Z] 10:19:49     INFO -  41  libxul.so!nsThread::ProcessNextEvent(bool, bool*) [nsThread.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 1088 + 0x5]
[task 2018-06-08T10:19:49.950Z] 10:19:49     INFO -       r4 = 0x00000000    r5 = 0x00000000    r6 = 0x00000021    r7 = 0x52a0e870
[task 2018-06-08T10:19:49.951Z] 10:19:49     INFO -       r8 = 0x52d08700    r9 = 0x52a0e37d   r10 = 0x52a0e380    fp = 0x52a0e87f
[task 2018-06-08T10:19:49.951Z] 10:19:49     INFO -       sp = 0x52a0e338    lr = 0x5cac797d    pc = 0x5cac797d
[task 2018-06-08T10:19:49.951Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.952Z] 10:19:49     INFO -  42  libxul.so!NS_ProcessNextEvent(nsIThread*, bool) [nsThreadUtils.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 519 + 0xd]
[task 2018-06-08T10:19:49.952Z] 10:19:49     INFO -       r4 = 0x00000000    r5 = 0x52d08700    r6 = 0x00000001    r7 = 0x52a0e890
[task 2018-06-08T10:19:49.952Z] 10:19:49     INFO -       r8 = 0x52d0250c    r9 = 0x52d08700   r10 = 0x52d02500    fp = 0x6167f7e0
[task 2018-06-08T10:19:49.952Z] 10:19:49     INFO -       sp = 0x52a0e878    lr = 0x5cacf879    pc = 0x5cacf879
[task 2018-06-08T10:19:49.953Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.953Z] 10:19:49     INFO -  43  libxul.so!mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) [MessagePump.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 97 + 0x7]
[task 2018-06-08T10:19:49.954Z] 10:19:49     INFO -       r4 = 0x52d024f0    r5 = 0x52d2e030    r6 = 0x00000001    r7 = 0x52a0e8b8
[task 2018-06-08T10:19:49.954Z] 10:19:49     INFO -       r8 = 0x52d0250c    r9 = 0x52d08700   r10 = 0x52d02500    fp = 0x6167f7e0
[task 2018-06-08T10:19:49.954Z] 10:19:49     INFO -       sp = 0x52a0e898    lr = 0x5ce4d8f5    pc = 0x5ce4d8f5
[task 2018-06-08T10:19:49.954Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.955Z] 10:19:49     INFO -  44  libxul.so!MessageLoop::RunInternal() [message_loop.cc:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 325 + 0x7]
[task 2018-06-08T10:19:49.955Z] 10:19:49     INFO -       r4 = 0x52d2e030    r5 = 0x52d08700    r6 = 0x5ca86619    r7 = 0x52a0e8d8
[task 2018-06-08T10:19:49.955Z] 10:19:49     INFO -       r8 = 0x52a0eab8    r9 = 0x00000000   r10 = 0x604c7582    fp = 0x6167f7e0
[task 2018-06-08T10:19:49.956Z] 10:19:49     INFO -       sp = 0x52a0e8c0    lr = 0x5ce058e1    pc = 0x5ce058e1
[task 2018-06-08T10:19:49.956Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.957Z] 10:19:49     INFO -  45  libxul.so!MessageLoop::Run() [message_loop.cc:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 318 + 0x5]
[task 2018-06-08T10:19:49.957Z] 10:19:49     INFO -       r0 = 0x52d2e030    r1 = 0x00000000    r2 = 0x00000001    r3 = 0x00000022
[task 2018-06-08T10:19:49.957Z] 10:19:49     INFO -       r4 = 0x52d2e030    r5 = 0x52d08700    r6 = 0x5ca86619    r7 = 0x52a0e8f8
[task 2018-06-08T10:19:49.958Z] 10:19:49     INFO -       r8 = 0x52a0eab8    r9 = 0x00000000   r10 = 0x604c7582    fp = 0x6167f7e0
[task 2018-06-08T10:19:49.958Z] 10:19:49     INFO -       sp = 0x52a0e8e0    lr = 0x5ce0588f    pc = 0x5ce0588f
[task 2018-06-08T10:19:49.958Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.958Z] 10:19:49     INFO -  46  libxul.so!nsBaseAppShell::Run() [nsBaseAppShell.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 157 + 0x3]
[task 2018-06-08T10:19:49.959Z] 10:19:49     INFO -       r0 = 0x00000001    r1 = 0x52d09600    r2 = 0x52d2e030    r3 = 0x00000000
[task 2018-06-08T10:19:49.959Z] 10:19:49     INFO -       r4 = 0x52d6e580    r5 = 0x52d08700    r6 = 0x5ca86619    r7 = 0x52a0e910
[task 2018-06-08T10:19:49.959Z] 10:19:49     INFO -       r8 = 0x52a0eab8    r9 = 0x00000000   r10 = 0x604c7582    fp = 0x6167f7e0
[task 2018-06-08T10:19:49.960Z] 10:19:49     INFO -       sp = 0x52a0e900    lr = 0x5e175f55    pc = 0x5e175f55
[task 2018-06-08T10:19:49.960Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.960Z] 10:19:49     INFO -  47  libxul.so!nsAppStartup::Run() [nsAppStartup.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 290 + 0x5]
[task 2018-06-08T10:19:49.961Z] 10:19:49     INFO -       r2 = 0x00000001    r3 = 0x00000000    r4 = 0x559267f0    r5 = 0x52a0eb9d
[task 2018-06-08T10:19:49.961Z] 10:19:49     INFO -       r6 = 0x5ca86619    r7 = 0x52a0e928    r8 = 0x52a0eab8    r9 = 0x00000000
[task 2018-06-08T10:19:49.961Z] 10:19:49     INFO -      r10 = 0x604c7582    fp = 0x6167f7e0    sp = 0x52a0e918    lr = 0x5ebb466f
[task 2018-06-08T10:19:49.962Z] 10:19:49     INFO -       pc = 0x5ebb466f
[task 2018-06-08T10:19:49.962Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.962Z] 10:19:49     INFO -  48  libxul.so!XREMain::XRE_mainRun() [nsAppRunner.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 4746 + 0x5]
[task 2018-06-08T10:19:49.963Z] 10:19:49     INFO -       r2 = 0x00000001    r3 = 0x00000000    r4 = 0x52a0ea10    r5 = 0x52a0eb9d
[task 2018-06-08T10:19:49.963Z] 10:19:49     INFO -       r6 = 0x5ca86619    r7 = 0x52a0ea38    r8 = 0x52a0eab8    r9 = 0x00000000
[task 2018-06-08T10:19:49.963Z] 10:19:49     INFO -      r10 = 0x604c7582    fp = 0x6167f7e0    sp = 0x52a0e930    lr = 0x5ec295e5
[task 2018-06-08T10:19:49.964Z] 10:19:49     INFO -       pc = 0x5ec295e5
[task 2018-06-08T10:19:49.964Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.964Z] 10:19:49     INFO -  49  libxul.so!XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) [nsAppRunner.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 4891 + 0x5]
[task 2018-06-08T10:19:49.965Z] 10:19:49     INFO -       r4 = 0x52a0eacc    r5 = 0x5ca911b1    r6 = 0x00000000    r7 = 0x52a0eab0
[task 2018-06-08T10:19:49.965Z] 10:19:49     INFO -       r8 = 0x52a0eab8    r9 = 0x52a0ead0   r10 = 0x52a0ea51    fp = 0x52a0ea58
[task 2018-06-08T10:19:49.965Z] 10:19:49     INFO -       sp = 0x52a0ea40    lr = 0x5ec29e3b    pc = 0x5ec29e3b
[task 2018-06-08T10:19:49.966Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.966Z] 10:19:49     INFO -  50  libxul.so!XRE_main(int, char**, mozilla::BootstrapConfig const&) [nsAppRunner.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 4983 + 0x9]
[task 2018-06-08T10:19:49.966Z] 10:19:49     INFO -       r4 = 0x52a0ebb8    r5 = 0x52d044e0    r6 = 0x00000006    r7 = 0x52a0ebb0
[task 2018-06-08T10:19:49.967Z] 10:19:49     INFO -       r8 = 0x52a0eab8    r9 = 0x2a327150   r10 = 0x00000006    fp = 0x22100005
[task 2018-06-08T10:19:49.967Z] 10:19:49     INFO -       sp = 0x52a0eab8    lr = 0x5ec2a28f    pc = 0x5ec2a28f
[task 2018-06-08T10:19:49.967Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.968Z] 10:19:49     INFO -  51  libxul.so!GeckoStart [nsAndroidStartup.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 48 + 0x7]
[task 2018-06-08T10:19:49.968Z] 10:19:49     INFO -       r4 = 0x52d044e0    r5 = 0x52b84668    r6 = 0x52b4bd88    r7 = 0x52a0ebd0
[task 2018-06-08T10:19:49.969Z] 10:19:49     INFO -       r8 = 0x00000006    r9 = 0x2a327150   r10 = 0x00000006    fp = 0x22100005
[task 2018-06-08T10:19:49.969Z] 10:19:49     INFO -       sp = 0x52a0ebb8    lr = 0x5ec2cb7b    pc = 0x5ec2cb7b
[task 2018-06-08T10:19:49.969Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.970Z] 10:19:49     INFO -  52  libmozglue.so!Java_org_mozilla_gecko_mozglue_GeckoLoader_nativeRun [APKOpen.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 408 + 0x11]
[task 2018-06-08T10:19:49.970Z] 10:19:49     INFO -       r4 = 0x5ec2f50d    r5 = 0x52d044e0    r6 = 0x2a1ea388    r7 = 0x52a0ec10
[task 2018-06-08T10:19:49.970Z] 10:19:49     INFO -       r8 = 0x52b839c4    r9 = 0x2a327150   r10 = 0x00000006    fp = 0x22100005
[task 2018-06-08T10:19:49.971Z] 10:19:49     INFO -       sp = 0x52a0ebd8    lr = 0x52a6cc05    pc = 0x52a6cc05
[task 2018-06-08T10:19:49.971Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.971Z] 10:19:49     INFO -  53  libdvm.so + 0x1dc4e
[task 2018-06-08T10:19:49.971Z] 10:19:49     INFO -       r1 = 0x52b4bd88    r2 = 0x22100005    r3 = 0xffffffff    r4 = 0x4c78ba38
[task 2018-06-08T10:19:49.972Z] 10:19:49     INFO -       r5 = 0x2a1e8690    r6 = 0x00000000    r7 = 0x5290efb4    r8 = 0x52a0ec24
[task 2018-06-08T10:19:49.972Z] 10:19:49     INFO -       r9 = 0x5290efa0   r10 = 0x2a1e86a0    fp = 0x52a0ec3c    sp = 0x52a0ec18
[task 2018-06-08T10:19:49.972Z] 10:19:49     INFO -       lr = 0x4085bc50    pc = 0x4085bc50
[task 2018-06-08T10:19:49.973Z] 10:19:49     INFO -      Found by: call frame info
[task 2018-06-08T10:19:49.973Z] 10:19:49     INFO -  54  libdvm.so + 0x48dc3
[task 2018-06-08T10:19:49.973Z] 10:19:49     INFO -       sp = 0x52a0ec28    pc = 0x40886dc5
[task 2018-06-08T10:19:49.974Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.974Z] 10:19:49     INFO -  55  data@app@org.mozilla.fennec_aurora-1.apk@classes.dex + 0x5c264b
[task 2018-06-08T10:19:49.974Z] 10:19:49     INFO -       sp = 0x52a0ec34    pc = 0x524b464d
[task 2018-06-08T10:19:49.975Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.975Z] 10:19:49     INFO -  56  dalvik-heap (deleted) + 0x29a9c6
[task 2018-06-08T10:19:49.975Z] 10:19:49     INFO -       sp = 0x52a0ec38    pc = 0x4174f9c8
[task 2018-06-08T10:19:49.975Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.976Z] 10:19:49     INFO -  57  libdvm.so + 0x4dcad
[task 2018-06-08T10:19:49.976Z] 10:19:49     INFO -       sp = 0x52a0ec40    pc = 0x4088bcaf
[task 2018-06-08T10:19:49.976Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.976Z] 10:19:49     INFO -  58  data@app@org.mozilla.fennec_aurora-1.apk@classes.dex + 0x5c2645
[task 2018-06-08T10:19:49.977Z] 10:19:49     INFO -       sp = 0x52a0ec48    pc = 0x524b4647
[task 2018-06-08T10:19:49.977Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.977Z] 10:19:49     INFO -  59  libmozglue.so!loadNSSLibs(char const*) [APKOpen.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 0 + 0x3b]
[task 2018-06-08T10:19:49.977Z] 10:19:49     INFO -       sp = 0x52a0ec4c    pc = 0x52a6cad9
[task 2018-06-08T10:19:49.978Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.978Z] 10:19:49     INFO -  60  libmozglue.so!loadNSSLibs(char const*) [APKOpen.cpp:83c614479dda23c30da73bd2cd05d3d6b7545c82 : 0 + 0x3b]
[task 2018-06-08T10:19:49.978Z] 10:19:49     INFO -       sp = 0x52a0ec8c    pc = 0x52a6cad9
[task 2018-06-08T10:19:49.979Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.979Z] 10:19:49     INFO -  61  libc.so + 0x109e9
[task 2018-06-08T10:19:49.979Z] 10:19:49     INFO -       sp = 0x52a0ec90    pc = 0x400379eb
[task 2018-06-08T10:19:49.979Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.980Z] 10:19:49     INFO -  62  libc.so + 0xd9bf
[task 2018-06-08T10:19:49.980Z] 10:19:49     INFO -       sp = 0x52a0eca8    pc = 0x400349c1
[task 2018-06-08T10:19:49.980Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.981Z] 10:19:49     INFO -  63  libdvm.so + 0x4f8dd
[task 2018-06-08T10:19:49.981Z] 10:19:49     INFO -       sp = 0x52a0ecb0    pc = 0x4088d8df
[task 2018-06-08T10:19:49.981Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.981Z] 10:19:49     INFO -  64  dalvik-heap (deleted) + 0x634686
[task 2018-06-08T10:19:49.982Z] 10:19:49     INFO -       sp = 0x52a0ecb4    pc = 0x41ae9688
[task 2018-06-08T10:19:49.982Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.982Z] 10:19:49     INFO -  65  dalvik-heap (deleted) + 0x634686
[task 2018-06-08T10:19:49.983Z] 10:19:49     INFO -       sp = 0x52a0ecc0    pc = 0x41ae9688
[task 2018-06-08T10:19:49.983Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.983Z] 10:19:49     INFO -  66  dalvik-heap (deleted) + 0x634686
[task 2018-06-08T10:19:49.983Z] 10:19:49     INFO -       sp = 0x52a0eccc    pc = 0x41ae9688
[task 2018-06-08T10:19:49.984Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.984Z] 10:19:49     INFO -  67  libdvm.so + 0x550db
[task 2018-06-08T10:19:49.985Z] 10:19:49     INFO -       sp = 0x52a0ecd8    pc = 0x408930dd
[task 2018-06-08T10:19:49.985Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.985Z] 10:19:49     INFO -  68  dalvik-heap (deleted) + 0x634686
[task 2018-06-08T10:19:49.985Z] 10:19:49     INFO -       sp = 0x52a0ecdc    pc = 0x41ae9688
[task 2018-06-08T10:19:49.985Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.986Z] 10:19:49     INFO -  69  dalvik-heap (deleted) + 0x634686
[task 2018-06-08T10:19:49.986Z] 10:19:49     INFO -       sp = 0x52a0ece4    pc = 0x41ae9688
[task 2018-06-08T10:19:49.986Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.986Z] 10:19:49     INFO -  70  libdvm.so + 0xae19e
[task 2018-06-08T10:19:49.987Z] 10:19:49     INFO -       sp = 0x52a0ece8    pc = 0x408ec1a0
[task 2018-06-08T10:19:49.987Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.987Z] 10:19:49     INFO -  71  dalvik-LinearAlloc (deleted) + 0x324a4a
[task 2018-06-08T10:19:49.987Z] 10:19:49     INFO -       sp = 0x52a0ecf0    pc = 0x4c78ba4c
[task 2018-06-08T10:19:49.988Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.988Z] 10:19:49     INFO -  72  dalvik-heap (deleted) + 0x29a9c6
[task 2018-06-08T10:19:49.988Z] 10:19:49     INFO -       sp = 0x52a0ecf8    pc = 0x4174f9c8
[task 2018-06-08T10:19:49.988Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.989Z] 10:19:49     INFO -  73  dalvik-LinearAlloc (deleted) + 0x324a36
[task 2018-06-08T10:19:49.989Z] 10:19:49     INFO -       sp = 0x52a0ed04    pc = 0x4c78ba38
[task 2018-06-08T10:19:49.989Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.990Z] 10:19:49     INFO -  74  data@app@org.mozilla.fennec_aurora-1.apk@classes.dex + 0x627214
[task 2018-06-08T10:19:49.990Z] 10:19:49     INFO -       sp = 0x52a0ed08    pc = 0x52519216
[task 2018-06-08T10:19:49.990Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.990Z] 10:19:49     INFO -  75  libdvm.so + 0x6b0b1
[task 2018-06-08T10:19:49.991Z] 10:19:49     INFO -       sp = 0x52a0ed18    pc = 0x408a90b3
[task 2018-06-08T10:19:49.991Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.992Z] 10:19:49     INFO -  76  data@app@org.mozilla.fennec_aurora-1.apk@classes.dex + 0x627214
[task 2018-06-08T10:19:49.992Z] 10:19:49     INFO -       sp = 0x52a0ed1c    pc = 0x52519216
[task 2018-06-08T10:19:49.992Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.992Z] 10:19:49     INFO -  77  data@app@org.mozilla.fennec_aurora-1.apk@classes.dex + 0xfe072
[task 2018-06-08T10:19:49.993Z] 10:19:49     INFO -       sp = 0x52a0ed20    pc = 0x51ff0074
[task 2018-06-08T10:19:49.993Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.993Z] 10:19:49     INFO -  78  dalvik-heap (deleted) + 0x29a9c6
[task 2018-06-08T10:19:49.993Z] 10:19:49     INFO -       sp = 0x52a0ed24    pc = 0x4174f9c8
[task 2018-06-08T10:19:49.994Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.994Z] 10:19:49     INFO -  79  data@app@org.mozilla.fennec_aurora-1.apk@classes.dex + 0x627214
[task 2018-06-08T10:19:49.994Z] 10:19:49     INFO -       sp = 0x52a0ed28    pc = 0x52519216
[task 2018-06-08T10:19:49.994Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.995Z] 10:19:49     INFO -  80  data@app@org.mozilla.fennec_aurora-1.apk@classes.dex + 0x777ffe
[task 2018-06-08T10:19:49.995Z] 10:19:49     INFO -       sp = 0x52a0ed2c    pc = 0x5266a000
[task 2018-06-08T10:19:49.995Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.996Z] 10:19:49     INFO -  81  dalvik-LinearAlloc (deleted) + 0x324a36
[task 2018-06-08T10:19:49.996Z] 10:19:49     INFO -       sp = 0x52a0ed38    pc = 0x4c78ba38
[task 2018-06-08T10:19:49.996Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.996Z] 10:19:49     INFO -  82  libdvm.so + 0xa9c86
[task 2018-06-08T10:19:49.997Z] 10:19:49     INFO -       sp = 0x52a0ed50    pc = 0x408e7c88
[task 2018-06-08T10:19:49.997Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.997Z] 10:19:49     INFO -  83  libdvm.so + 0x385e3
[task 2018-06-08T10:19:49.998Z] 10:19:49     INFO -       sp = 0x52a0ed58    pc = 0x408765e5
[task 2018-06-08T10:19:49.998Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.998Z] 10:19:49     INFO -  84  dalvik-LinearAlloc (deleted) + 0x324a36
[task 2018-06-08T10:19:49.999Z] 10:19:49     INFO -       sp = 0x52a0ed64    pc = 0x4c78ba38
[task 2018-06-08T10:19:49.999Z] 10:19:49     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:49.999Z] 10:19:49     INFO -  85  dalvik-LinearAlloc (deleted) + 0x324a36
[task 2018-06-08T10:19:50.000Z] 10:19:49     INFO -       sp = 0x52a0ed68    pc = 0x4c78ba38
[task 2018-06-08T10:19:50.000Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.000Z] 10:19:50     INFO -  86  libdvm.so + 0x385d7
[task 2018-06-08T10:19:50.000Z] 10:19:50     INFO -       sp = 0x52a0ed6c    pc = 0x408765d9
[task 2018-06-08T10:19:50.000Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.001Z] 10:19:50     INFO -  87  libdvm.so + 0xae19e
[task 2018-06-08T10:19:50.001Z] 10:19:50     INFO -       sp = 0x52a0ed70    pc = 0x408ec1a0
[task 2018-06-08T10:19:50.001Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.002Z] 10:19:50     INFO -  88  libdvm.so + 0x4f699
[task 2018-06-08T10:19:50.002Z] 10:19:50     INFO -       sp = 0x52a0ed78    pc = 0x4088d69b
[task 2018-06-08T10:19:50.002Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.002Z] 10:19:50     INFO -  89  data@app@org.mozilla.fennec_aurora-1.apk@classes.dex + 0x2bba00
[task 2018-06-08T10:19:50.003Z] 10:19:50     INFO -       sp = 0x52a0ed84    pc = 0x521ada02
[task 2018-06-08T10:19:50.003Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.004Z] 10:19:50     INFO -  90  dalvik-heap (deleted) + 0x29a9c6
[task 2018-06-08T10:19:50.004Z] 10:19:50     INFO -       sp = 0x52a0ed90    pc = 0x4174f9c8
[task 2018-06-08T10:19:50.004Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.004Z] 10:19:50     INFO -  91  libdvm.so + 0x1ddbe
[task 2018-06-08T10:19:50.004Z] 10:19:50     INFO -       sp = 0x52a0ed94    pc = 0x4085bdc0
[task 2018-06-08T10:19:50.004Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.005Z] 10:19:50     INFO -  92  libdvm.so + 0x27062
[task 2018-06-08T10:19:50.005Z] 10:19:50     INFO -       sp = 0x52a0eda0    pc = 0x40865064
[task 2018-06-08T10:19:50.005Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.006Z] 10:19:50     INFO -  93  libdvm.so + 0x2de9a
[task 2018-06-08T10:19:50.006Z] 10:19:50     INFO -       sp = 0x52a0edac    pc = 0x4086be9c
[task 2018-06-08T10:19:50.006Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.007Z] 10:19:50     INFO -  94  dalvik-LinearAlloc (deleted) + 0x30c866
[task 2018-06-08T10:19:50.007Z] 10:19:50     INFO -       sp = 0x52a0edc0    pc = 0x4c773868
[task 2018-06-08T10:19:50.007Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.008Z] 10:19:50     INFO -  95  dalvik-heap (deleted) + 0x2e3ffe
[task 2018-06-08T10:19:50.008Z] 10:19:50     INFO -       sp = 0x52a0edc4    pc = 0x41799000
[task 2018-06-08T10:19:50.008Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.008Z] 10:19:50     INFO -  96  libdvm.so + 0x2b582
[task 2018-06-08T10:19:50.009Z] 10:19:50     INFO -       sp = 0x52a0edc8    pc = 0x40869584
[task 2018-06-08T10:19:50.009Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.009Z] 10:19:50     INFO -  97  data@app@org.mozilla.fennec_aurora-1.apk@classes.dex + 0x5c1ada
[task 2018-06-08T10:19:50.009Z] 10:19:50     INFO -       sp = 0x52a0ee40    pc = 0x524b3adc
[task 2018-06-08T10:19:50.010Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.010Z] 10:19:50     INFO -  98  dalvik-LinearAlloc (deleted) + 0x30c866
[task 2018-06-08T10:19:50.010Z] 10:19:50     INFO -       sp = 0x52a0ee4c    pc = 0x4c773868
[task 2018-06-08T10:19:50.011Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.011Z] 10:19:50     INFO -  99  libdvm.so + 0x5fcbf
[task 2018-06-08T10:19:50.011Z] 10:19:50     INFO -       sp = 0x52a0ee58    pc = 0x4089dcc1
[task 2018-06-08T10:19:50.011Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.012Z] 10:19:50     INFO -  100  dalvik-LinearAlloc (deleted) + 0x30c866
[task 2018-06-08T10:19:50.012Z] 10:19:50     INFO -       sp = 0x52a0ee60    pc = 0x4c773868
[task 2018-06-08T10:19:50.012Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.013Z] 10:19:50     INFO -  101  dalvik-heap (deleted) + 0x2e3ffe
[task 2018-06-08T10:19:50.013Z] 10:19:50     INFO -       sp = 0x52a0ee64    pc = 0x41799000
[task 2018-06-08T10:19:50.013Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.014Z] 10:19:50     INFO -  102  libdvm.so + 0xae19e
[task 2018-06-08T10:19:50.014Z] 10:19:50     INFO -       sp = 0x52a0ee6c    pc = 0x408ec1a0
[task 2018-06-08T10:19:50.014Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.014Z] 10:19:50     INFO -  103  libdvm.so + 0xae4aa
[task 2018-06-08T10:19:50.015Z] 10:19:50     INFO -       sp = 0x52a0ee74    pc = 0x408ec4ac
[task 2018-06-08T10:19:50.015Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.015Z] 10:19:50     INFO -  104  libdvm.so + 0xae4a6
[task 2018-06-08T10:19:50.016Z] 10:19:50     INFO -       sp = 0x52a0ee78    pc = 0x408ec4a8
[task 2018-06-08T10:19:50.016Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.016Z] 10:19:50     INFO -  105  libdvm.so + 0x5fce9
[task 2018-06-08T10:19:50.016Z] 10:19:50     INFO -       sp = 0x52a0ee88    pc = 0x4089dceb
[task 2018-06-08T10:19:50.017Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.017Z] 10:19:50     INFO -  106  libdvm.so + 0x54a71
[task 2018-06-08T10:19:50.017Z] 10:19:50     INFO -       sp = 0x52a0eea4    pc = 0x40892a73
[task 2018-06-08T10:19:50.017Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.017Z] 10:19:50     INFO -  107  libdvm.so + 0x549cf
[task 2018-06-08T10:19:50.018Z] 10:19:50     INFO -       sp = 0x52a0eedc    pc = 0x408929d1
[task 2018-06-08T10:19:50.018Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.018Z] 10:19:50     INFO -  108  libc.so + 0xca5a
[task 2018-06-08T10:19:50.019Z] 10:19:50     INFO -       sp = 0x52a0eee8    pc = 0x40033a5c
[task 2018-06-08T10:19:50.019Z] 10:19:50     INFO -      Found by: stack scanning
[task 2018-06-08T10:19:50.019Z] 10:19:50     INFO -  109  libc.so + 0xcbd6
[task 2018-06-08T10:19:50.019Z] 10:19:50     INFO -       sp = 0x52a0ef00    pc = 0x40033bd8
[task 2018-06-08T10:19:50.020Z] 10:19:50     INFO -      Found by: stack scanning
Flags: needinfo?(xidorn+moz)
Hmmm... we do reflow when the viewport info isn't even initialized? Which sounds pretty wrong.

Botond, what do you think? Maybe we can ignore when viewport info is uninitialized? Or maybe we should request it to initialize in that case?
Flags: needinfo?(xidorn+moz) → needinfo?(botond)
It looks like the viewport info is initialized on the first call to nsDocument::GetViewportInfo(), which may not have happened at the time this is called. I think we just need to call it from UpdateViewportOverflowType(), triggering the initialization if necessary.
Flags: needinfo?(botond)
My concern is that, layout shouldn't be happening without having viewport info figured out, otherwise basically how can we get to know in what dimensions the content should be laid out?

If we would eventually update the viewport info again, calling into GetViewportInfo from UpdateViewportOverflowType would be a waste work... Oh, but probably not that bad, since you can avoid many of the computation when they are needed... Okay, I guess...
(In reply to Xidorn Quan [:xidorn] UTC+10 from comment #40)
> My concern is that, layout shouldn't be happening without having viewport
> info figured out, otherwise basically how can we get to know in what
> dimensions the content should be laid out?

The computation of the viewport info in nsDocument::GetViewportInfo() is triggered in response to the following:

* load event
* dom-meta-added event
* dom-meta-changed event
* before-first-paint notification
* full-zoom-changed notification
* fullscreen-changed notification
* PresShell::ResizeReflow

The stack trace in comment 37 shows JS code executed as we parse an HTML document triggering reflow, without going through PresShell::ResizeReflow.

I think that means that we perform a layout into the wrong dimensions, but will perform another layout into the correct dimensions before actually painting the page for the first time. I think that's ok (or at least, it's a pre-existing issue).
(In terms of what to do here, what the updated patch does (bailing from UpdateViewportOverflowType if the viewport info isn't initialized) seems appropriate.)
Pushed by xquan@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/de1b1661fad8
Add a telemetry for out-of-reach overflowing on root. r=botond
Comment #7 was correct, all new data collections require Data Collection Review: https://wiki.mozilla.org/Firefox/Data_Collection

Please follow the instructions at that Wiki to gain data review. It shouldn't take long.
Flags: needinfo?(xidorn+moz)
https://hg.mozilla.org/mozilla-central/rev/de1b1661fad8
Status: NEW → RESOLVED
Closed: Last year
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Flags: needinfo?(xidorn+moz)
Attachment #8984627 - Flags: review?(chutten)
Comment on attachment 8984627 [details]
Request for data collection review form

DATA COLLECTION REVIEW RESPONSE:

    Is there or will there be documentation that describes the schema for the ultimate data set available publicly, complete and accurate?

Histograms.json

    Is there a control mechanism that allows the user to turn the data collection on and off?

Standard Telemetry mechanisms apply.

    If the request is for permanent data collection, is there someone who will monitor the data over time?**

N/A

    Using the category system of data types on the Mozilla wiki, what collection type of data do the requested measurements fall under?

Type 1, Technical. (Though determined by user web activity it is a technical aspect of how we render that activity more than it is a record, so Type 1)

    Is the data collection request for default-on or default-off?

default-on (The code is written for prerelease only, but it can be all-channel. See Note)

    Does the instrumentation include the addition of any new identifiers (whether anonymous or otherwise; e.g., username, random IDs, etc. See the appendix for more details)?

No. (categorical histograms' categories aren't identifiers)

    Is the data collection covered by the existing Firefox privacy notice? 

Yes
    Does there need to be a check-in in the future to determine whether to renew the data?

Yes. :xidorn, you are responsible for removing the probe after its usefulness has ended.

---
Result: datareview+

Note:

I notice in your data review request you said you intended to collect this from all release channels. Without a "releaseChannelCollection" of value "opt-out" the Histogram will be recorded and reported only by nightly, aurora, and beta.

Was this intentional? If you want it to record data outside of those three channels you will need to change it. This Data Review will hold for that change if you opt for it.
Attachment #8984627 - Flags: review?(chutten) → review+
(In reply to Chris H-C :chutten from comment #48)
> I notice in your data review request you said you intended to collect this
> from all release channels. Without a "releaseChannelCollection" of value
> "opt-out" the Histogram will be recorded and reported only by nightly,
> aurora, and beta.
> 
> Was this intentional? If you want it to record data outside of those three
> channels you will need to change it. This Data Review will hold for that
> change if you opt for it.

I suppose it is off by default in release channel, but can be opt-in there, right?

I think using the same setting as use counters is probably enough, and use counters are using opt-in, aren't they? So I guess using opt-in is probably enough for this...
There is no mechanism for users to opt-in to additional telemetry any more (long story), so if it is pre-release-only, we will only get data from pre-release users.

I'm pretty sure you want this data from the release population, though, since pre-release populations aren't completely representative of the release population.
Oh, I didn't know that we no longer have opt-in additional telemetry for users on release channel. I think it is a surprising change to many of us. Could you send an email to dev-platform and firefox-dev to elaborate this change and its motivation? I suspect that we would need to audit quite a bit of technical data collections which are supposed to have reports from portion of release users.

And in that case, I think yes we would want it to be opt-out on release channel, then. Does it need extra data collection review, or can I just push a followup patch to add the one line?
Flags: needinfo?(chutten)
(In reply to Xidorn Quan [:xidorn] UTC+10 from comment #51)
> Oh, I didn't know that we no longer have opt-in additional telemetry for
> users on release channel. I think it is a surprising change to many of us.
> Could you send an email to dev-platform and firefox-dev to elaborate this
> change and its motivation? I suspect that we would need to audit quite a bit
> of technical data collections which are supposed to have reports from
> portion of release users.

The change was made for us when the checkbox in Preferences was removed during some pre-Photon settings consolidation. I'm afraid we learned about it in much the same way you did :S I can't find the bug that removed the UI, but the client telemetry work to handle the ramifications was under bug 1406390 if you'd like to do some archaeology.

I could've sworn there were emails to lists about this... maybe only as far as fx-data-dev. I can't find any now, nine months later.

"Luckily" the population of release users who opted in to extended collection was small and non-representative. This made it useless for analyses we might've hoped to extrapolate to any other population (including the general release population). For example, I seem to recall that the population of opting-in users skewed heavily in the en-US direction so it wouldn't be a useful measure for extrapolating web feature use.

> And in that case, I think yes we would want it to be opt-out on release
> channel, then. Does it need extra data collection review, or can I just push
> a followup patch to add the one line?

I wrote the data review response assuming we'd be heading in this direction. You're good to go with a usual r+ for the change to Histograms.json
Flags: needinfo?(chutten)
I think I'm good to go as a followup directly as it feels trivial enough...
Pushed by xquan@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/e7d6ae2adfe2
followup - Make the telemetry opt-out on release channel.
There is still no data coming for fennec. I suspect that
> "record_in_processes": ["content"]
doesn't work on fennec because there is no content process at all. We would need to add "main" to it.
Flags: needinfo?(xidorn+moz)
Approval Request Comment
[Feature/Bug causing the regression]: this bug which adds a telemetry we intended to collect on mobile but no data comes due to not recording on main process
[User impact if declined]: we may not be able to collect enough information for evaluating solution of bug 1423013
[Is this code covered by automated tests?]: n/a
[Has the fix been verified in Nightly?]: no
[Needs manual test from QE? If yes, steps to reproduce]: no
[List of other uplifts needed for the feature/fix]: no
[Is the change risky?]: no
[Why is the change risky/not risky?]: just a telemetry item change
[String changes made/needed]: n/a
Flags: needinfo?(xidorn+moz)
Attachment #8992226 - Flags: review?(botond)
Attachment #8992226 - Flags: approval-mozilla-beta?
Comment on attachment 8992226 [details] [diff] [review]
followup 2 - record on main process

Regressions should be fixed in a separate bug. Otherwise, it creates a bunch of different issues.
Please create a dedicated bug for this.
Thanks!
Attachment #8992226 - Flags: review?(botond)
Attachment #8992226 - Flags: approval-mozilla-beta?
Attachment #8992226 - Flags: approval-mozilla-beta-
Comment on attachment 8992226 [details] [diff] [review]
followup 2 - record on main process

Review of attachment 8992226 [details] [diff] [review]:
-----------------------------------------------------------------

Nice catch! Sorry for not noticing this during initial review.

r+ to land this in a separate bug as Sylvestre suggested.
Attachment #8992226 - Flags: review+
Depends on: 1476128
Blocks: 1513089
You need to log in before you can comment on or make changes to this bug.