Closed Bug 1320032 Opened 8 years ago Closed 7 years ago

Assertion failure: !mSize.IsEmpty(), at FrameLayerBuilder.cpp:1623

Categories

(Core :: Web Painting, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla53
Tracking Status
firefox52 - fixed
firefox53 --- fixed

People

(Reporter: cbook, Assigned: u459114)

References

()

Details

(Keywords: assertion)

Attachments

(2 files)

Attached file bughunter stack
found via bughunter and reproduced on latest windows tinderbox trunk debug build.

Steps to reproduce:
-> Load http://www.jetcost.es/Bpop.php?from=PAR&to=MAD&departure=2016-12-17&partner=brg-lastminute&provider=
--> Assertion failure: !mSize.IsEmpty(), at c:/builds/moz2_slave/m-cen-w32-d-000000000000000000/build/src/layout/painting/FrameLayerBuilder.cpp:1623

aurora + trunk regression
markus, matt: could you take a look at this ?
Flags: needinfo?(mstange)
Flags: needinfo?(matt.woodrow)
Component: Layout → Layout: Web Painting
Priority: -- → P3
Flags: needinfo?(mstange)
Flags: needinfo?(matt.woodrow)
Flags: needinfo?(cku)
Assignee: nobody → cku
Flags: needinfo?(cku)
Attachment #8819488 - Flags: review?(mstange)
Comment on attachment 8819488 [details]
Bug 1320032 - Early return if the size of mask surface will be empty.

https://reviewboard.mozilla.org/r/99242/#review100616

::: layout/painting/FrameLayerBuilder.cpp:3900
(Diff revision 2)
>    int32_t maxSize = mManager->GetMaxTextureSize();
>    IntSize surfaceSize(std::min(itemRect.width, maxSize),
>                        std::min(itemRect.height, maxSize));
>  
>    if (surfaceSize.IsEmpty()) {
> +    // Early if we have known the size of this mask surface is empty.

"Return early if we know that the size of this mask surface is empty."

::: layout/painting/FrameLayerBuilder.cpp:6286
(Diff revision 2)
>    // It is the transform from the masked layer's space to mask space
>    gfx::Matrix maskTransform =
>      Matrix::Scaling(surfaceSize.width / boundingRect.Width(),
>                      surfaceSize.height / boundingRect.Height());
> +  if (surfaceSize.IsEmpty()) {
> +    // Early if we have known the size of this mask surface is empty.

same here
Attachment #8819488 - Flags: review?(mstange) → review+
Pushed by cku@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/cd0548c3fe1c
Early return if the size of mask surface will be empty. r=mstange
https://hg.mozilla.org/mozilla-central/rev/cd0548c3fe1c
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
needs to be uplifted to beta i guess since 52 is affected i think. What do you think c.j ?
Flags: needinfo?(cku)
[Tracking Requested - why for this release]:
Flags: needinfo?(cku)
Comment on attachment 8819488 [details]
Bug 1320032 - Early return if the size of mask surface will be empty.

Approval Request Comment
[Feature/Bug causing the regression]: bug 1234485
[User impact if declined]: hitting assertion failure while visit a page has empty round rects. 
[Is this code covered by automated tests?]: no
[Has the fix been verified in Nightly?]: yes
[Needs manual test from QE? If yes, steps to reproduce]: no
[List of other uplifts needed for the feature/fix]: none
[Is the change risky?]: no
[Why is the change risky/not risky?]: code change is minor.
[String changes made/needed]:NAN
Attachment #8819488 - Flags: approval-mozilla-beta?
Comment on attachment 8819488 [details]
Bug 1320032 - Early return if the size of mask surface will be empty.

deal gracefully with empty mask surface, beta52+
Attachment #8819488 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Not sure this warrants tracking if its only effect is assertions in debug builds.
Flags: qe-verify-
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: